diff --git a/backend/hub/models.py b/backend/hub/models.py index 14b7e168..554b2ebd 100644 --- a/backend/hub/models.py +++ b/backend/hub/models.py @@ -699,10 +699,10 @@ class Candidate(StatusModel, TimeStampedModel, BaseCompleteModel): # CONFIRMED: has received confirmation from the electoral commission # REJECTED: has been rejected STATUS = Choices( - ("pending", _("Pending")), - ("accepted", _("In Validation")), - ("confirmed", _("Confirmed")), - ("rejected", _("Rejected")), + ("pending", _("Pending candidate")), + ("accepted", _("Accepted candidate")), + ("confirmed", _("Validated candidate")), + ("rejected", _("Rejected candidate")), ) status = models.CharField(_("Status"), choices=STATUS, default=STATUS.pending, max_length=30, db_index=True) diff --git a/backend/hub/templates/hub/base.html b/backend/hub/templates/hub/base.html index 709702e9..cd5c60cf 100644 --- a/backend/hub/templates/hub/base.html +++ b/backend/hub/templates/hub/base.html @@ -21,6 +21,7 @@ + diff --git a/backend/hub/templates/hub/candidate/detail.html b/backend/hub/templates/hub/candidate/detail.html index 84e59c8d..5e87ca22 100644 --- a/backend/hub/templates/hub/candidate/detail.html +++ b/backend/hub/templates/hub/candidate/detail.html @@ -55,6 +55,10 @@ {% if display_candidate_validation_label %} {% if user|already_confirmed_candidate_status:candidate %}(validată){% else %}(nevalidată){% endif %} {% endif %} + + + + diff --git a/backend/hub/views.py b/backend/hub/views.py index ef59006c..60e93d55 100644 --- a/backend/hub/views.py +++ b/backend/hub/views.py @@ -732,6 +732,39 @@ def _get_candidate_vote_context(self, user: User, candidate: Candidate) -> Dict[ return context + def _build_candidate_status_explainer(self) -> Dict: + candidate_statuses = { + Candidate.STATUS.pending: { + "title": Candidate.STATUS[Candidate.STATUS.pending], + "detail": _("The candidate has been proposed and is gathering the necessary support."), + "period": _("(25th october - 17th november 2024)"), + }, + Candidate.STATUS.accepted: { + "title": Candidate.STATUS[Candidate.STATUS.accepted], + "detail": _("The candidate has been approved by the admins and is waiting for validation."), + "period": _("(18th - 20th november 2024)"), + }, + Candidate.STATUS.confirmed: { + "title": Candidate.STATUS[Candidate.STATUS.confirmed], + "detail": _("The candidate has been validated by the electoral commission and can be voted."), + "period": _("(21th - 22th november 2024)"), + }, + Candidate.STATUS.rejected: { + "title": Candidate.STATUS[Candidate.STATUS.rejected], + "detail": _("The candidate has been rejected by the admins or the electoral commission."), + }, + } + + status_explainers = {} + + for status, status_data in candidate_statuses.items(): + status_explainer = f"{status_data['title']}: {status_data['detail']}" + if "period" in status_data: + status_explainer += f"\n{status_data['period']}" + status_explainers[status] = status_explainer + + return status_explainers + def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) @@ -755,6 +788,7 @@ def get_context_data(self, **kwargs): candidate_status = candidate.STATUS[candidate.status] context["candidate_status"] = candidate_status context["display_candidate_validation_label"] = False + context["candidate_status_explainer"] = self._build_candidate_status_explainer()[candidate.status] if user.is_anonymous: return context diff --git a/backend/locale/en/LC_MESSAGES/django.po b/backend/locale/en/LC_MESSAGES/django.po index 0a79a2fa..127502c6 100644 --- a/backend/locale/en/LC_MESSAGES/django.po +++ b/backend/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-18 09:59+0200\n" +"POT-Creation-Date: 2024-11-18 13:55+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -381,11 +381,11 @@ msgid "accounts/error/user-role/" msgstr "" #: civil_society_vote/urls.py:78 -msgid "accounts/" +msgid "accounts/login/" msgstr "" #: civil_society_vote/urls.py:79 -msgid "accounts/login/" +msgid "accounts/" msgstr "" #: civil_society_vote/urls.py:81 @@ -789,7 +789,7 @@ msgstr "" msgid "Admin" msgstr "" -#: hub/models.py:293 hub/models.py:705 +#: hub/models.py:293 msgid "Rejected" msgstr "" @@ -924,15 +924,19 @@ msgid "Organizations" msgstr "" #: hub/models.py:702 -msgid "Pending" +msgid "Pending candidate" msgstr "" #: hub/models.py:703 -msgid "In Validation" +msgid "Accepted candidate" msgstr "" #: hub/models.py:704 -msgid "Confirmed" +msgid "Validated candidate" +msgstr "" + +#: hub/models.py:705 +msgid "Rejected candidate" msgstr "" #: hub/models.py:717 @@ -949,7 +953,7 @@ msgstr "" msgid "Is proposed?" msgstr "" -#: hub/models.py:734 hub/templates/hub/candidate/detail.html:123 +#: hub/models.py:734 hub/templates/hub/candidate/detail.html:129 msgid "Representative name" msgstr "Candidate name" @@ -969,7 +973,7 @@ msgstr "" msgid "Candidate photo" msgstr "" -#: hub/models.py:756 hub/templates/hub/candidate/detail.html:127 +#: hub/models.py:756 hub/templates/hub/candidate/detail.html:133 msgid "Representative statement" msgstr "Candidate statement" @@ -980,7 +984,7 @@ msgid "" "public office and is not a dignitary of the Romanian state." msgstr "" -#: hub/models.py:768 hub/templates/hub/candidate/detail.html:132 +#: hub/models.py:768 hub/templates/hub/candidate/detail.html:138 msgid "Mandate" msgstr "" @@ -990,7 +994,7 @@ msgid "" "highlighting of the domain for which it is running" msgstr "" -#: hub/models.py:779 hub/templates/hub/candidate/detail.html:137 +#: hub/models.py:779 hub/templates/hub/candidate/detail.html:143 msgid "Letter of intent" msgstr "" @@ -1000,7 +1004,7 @@ msgid "" "CES)" msgstr "" -#: hub/models.py:787 hub/templates/hub/candidate/detail.html:142 +#: hub/models.py:787 hub/templates/hub/candidate/detail.html:148 msgid "CV" msgstr "" @@ -1008,7 +1012,7 @@ msgstr "" msgid "Europass format CV" msgstr "" -#: hub/models.py:795 hub/templates/hub/candidate/detail.html:147 +#: hub/models.py:795 hub/templates/hub/candidate/detail.html:153 msgid "Declaration of interests" msgstr "" @@ -1016,7 +1020,7 @@ msgstr "" msgid "Official format Declaration of interests" msgstr "" -#: hub/models.py:803 hub/templates/hub/candidate/detail.html:152 +#: hub/models.py:803 hub/templates/hub/candidate/detail.html:158 msgid "Fiscal record" msgstr "" @@ -1024,7 +1028,7 @@ msgstr "" msgid "Fiscal record, valid at the time of submitting the candidacy" msgstr "" -#: hub/models.py:811 hub/templates/hub/candidate/detail.html:157 +#: hub/models.py:811 hub/templates/hub/candidate/detail.html:163 msgid "Criminal record" msgstr "" @@ -1127,32 +1131,32 @@ msgstr "" msgid "Section: " msgstr "" -#: hub/templates/hub/candidate/detail.html:77 +#: hub/templates/hub/candidate/detail.html:83 #: hub/templates/hub/committee/candidates.html:44 msgid "Supporters:" msgstr "" -#: hub/templates/hub/candidate/detail.html:82 +#: hub/templates/hub/candidate/detail.html:88 msgid "Confirm candidate status" msgstr "" -#: hub/templates/hub/candidate/detail.html:98 +#: hub/templates/hub/candidate/detail.html:104 msgid "✔ VOTED" msgstr "" -#: hub/templates/hub/candidate/detail.html:102 +#: hub/templates/hub/candidate/detail.html:108 msgid "You have used all the votes allotted for this domain." msgstr "" -#: hub/templates/hub/candidate/detail.html:106 +#: hub/templates/hub/candidate/detail.html:112 msgid "Vote" msgstr "" -#: hub/templates/hub/candidate/detail.html:119 +#: hub/templates/hub/candidate/detail.html:125 msgid "Candidate information" msgstr "" -#: hub/templates/hub/candidate/detail.html:124 +#: hub/templates/hub/candidate/detail.html:130 msgid "Representative role" msgstr "" @@ -1683,15 +1687,47 @@ msgstr "" msgid "You must write a rejection message." msgstr "" -#: hub/views.py:786 +#: hub/views.py:739 +msgid "The candidate has been proposed and is gathering the necessary support." +msgstr "" + +#: hub/views.py:740 +msgid "(25th october - 17th november 2024)" +msgstr "" + +#: hub/views.py:744 +msgid "" +"The candidate has been approved by the admins and is waiting for validation." +msgstr "" + +#: hub/views.py:745 +msgid "(18th - 20th november 2024)" +msgstr "" + +#: hub/views.py:749 +msgid "" +"The candidate has been validated by the electoral commission and can be " +"voted." +msgstr "" + +#: hub/views.py:750 +msgid "(21th - 22th november 2024)" +msgstr "" + +#: hub/views.py:754 +msgid "" +"The candidate has been rejected by the admins or the electoral commission." +msgstr "" + +#: hub/views.py:827 msgid "User is not authenticated." msgstr "" -#: hub/views.py:791 +#: hub/views.py:832 msgid "Authenticated user does not have an organization." msgstr "" -#: hub/views.py:1033 +#: hub/views.py:1074 #, python-format msgid "Please wait %(minutes_threshold)s minutes before updating again." msgstr "" diff --git a/backend/locale/ro/LC_MESSAGES/django.po b/backend/locale/ro/LC_MESSAGES/django.po index 0cc361d6..bd8b872e 100644 --- a/backend/locale/ro/LC_MESSAGES/django.po +++ b/backend/locale/ro/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-18 09:59+0200\n" +"POT-Creation-Date: 2024-11-18 13:55+0200\n" "PO-Revision-Date: 2020-04-23 17:54+0300\n" "Last-Translator: \n" "Language-Team: \n" @@ -395,13 +395,13 @@ msgid "accounts/error/user-role/" msgstr "cont/eroare/rol-utilizator/" #: civil_society_vote/urls.py:78 -msgid "accounts/" -msgstr "cont/" - -#: civil_society_vote/urls.py:79 msgid "accounts/login/" msgstr "cont/login/" +#: civil_society_vote/urls.py:79 +msgid "accounts/" +msgstr "cont/" + #: civil_society_vote/urls.py:81 msgid "accounts/reset-password/" msgstr "cont/reseteaza-parola/" @@ -812,7 +812,7 @@ msgstr "Acceptat" msgid "Admin" msgstr "Admin" -#: hub/models.py:293 hub/models.py:705 +#: hub/models.py:293 msgid "Rejected" msgstr "Respins" @@ -955,16 +955,20 @@ msgid "Organizations" msgstr "Organizații" #: hub/models.py:702 -msgid "Pending" +msgid "Pending candidate" msgstr "În așteptare" #: hub/models.py:703 -msgid "In Validation" -msgstr "În validare" +msgid "Accepted candidate" +msgstr "Acceptată" #: hub/models.py:704 -msgid "Confirmed" -msgstr "Confirmat" +msgid "Validated candidate" +msgstr "Validată" + +#: hub/models.py:705 +msgid "Rejected candidate" +msgstr "Respinsă" #: hub/models.py:717 msgid "" @@ -982,7 +986,7 @@ msgstr "Domeniul pentru care candidează candidatul." msgid "Is proposed?" msgstr "Este propus?" -#: hub/models.py:734 hub/templates/hub/candidate/detail.html:123 +#: hub/models.py:734 hub/templates/hub/candidate/detail.html:129 msgid "Representative name" msgstr "Nume candidat" @@ -1002,7 +1006,7 @@ msgstr "Funcția în organizației a persoanei desemnate" msgid "Candidate photo" msgstr "Fotografia candidatului" -#: hub/models.py:756 hub/templates/hub/candidate/detail.html:127 +#: hub/models.py:756 hub/templates/hub/candidate/detail.html:133 msgid "Representative statement" msgstr "Declarație candidat" @@ -1016,7 +1020,7 @@ msgstr "" "declară că nu este membru al conducerii unui partid politic, nu a fost ales " "într-o funcție publică și nu este demnitar al statului român." -#: hub/models.py:768 hub/templates/hub/candidate/detail.html:132 +#: hub/models.py:768 hub/templates/hub/candidate/detail.html:138 msgid "Mandate" msgstr "Mandat" @@ -1028,7 +1032,7 @@ msgstr "" "Mandat din partea organizației (semnat în original + electronică) cu " "sublinierea domeniului pentru care candidează" -#: hub/models.py:779 hub/templates/hub/candidate/detail.html:137 +#: hub/models.py:779 hub/templates/hub/candidate/detail.html:143 msgid "Letter of intent" msgstr "Scrisoare de intenție" @@ -1040,7 +1044,7 @@ msgstr "" "Scrisoare de intenție (cu menționarea domeniului pe care dorește să îl " "reprezinte în CES)" -#: hub/models.py:787 hub/templates/hub/candidate/detail.html:142 +#: hub/models.py:787 hub/templates/hub/candidate/detail.html:148 msgid "CV" msgstr "CV" @@ -1048,7 +1052,7 @@ msgstr "CV" msgid "Europass format CV" msgstr "CV în format Europass" -#: hub/models.py:795 hub/templates/hub/candidate/detail.html:147 +#: hub/models.py:795 hub/templates/hub/candidate/detail.html:153 msgid "Declaration of interests" msgstr "Declarație de interese" @@ -1056,7 +1060,7 @@ msgstr "Declarație de interese" msgid "Official format Declaration of interests" msgstr "Declarație de interese în format oficial" -#: hub/models.py:803 hub/templates/hub/candidate/detail.html:152 +#: hub/models.py:803 hub/templates/hub/candidate/detail.html:158 msgid "Fiscal record" msgstr "Cazier fiscal" @@ -1064,7 +1068,7 @@ msgstr "Cazier fiscal" msgid "Fiscal record, valid at the time of submitting the candidacy" msgstr "Cazier fiscal, valabil la data depunerii candidaturii" -#: hub/models.py:811 hub/templates/hub/candidate/detail.html:157 +#: hub/models.py:811 hub/templates/hub/candidate/detail.html:163 msgid "Criminal record" msgstr "Cazier judiciar" @@ -1169,32 +1173,32 @@ msgstr "Vizualizează detalii" msgid "Section: " msgstr "Secțiune: " -#: hub/templates/hub/candidate/detail.html:77 +#: hub/templates/hub/candidate/detail.html:83 #: hub/templates/hub/committee/candidates.html:44 msgid "Supporters:" msgstr "Susținători:" -#: hub/templates/hub/candidate/detail.html:82 +#: hub/templates/hub/candidate/detail.html:88 msgid "Confirm candidate status" msgstr "Confirmă starea candidaturii" -#: hub/templates/hub/candidate/detail.html:98 +#: hub/templates/hub/candidate/detail.html:104 msgid "✔ VOTED" msgstr "✔ VOTAT" -#: hub/templates/hub/candidate/detail.html:102 +#: hub/templates/hub/candidate/detail.html:108 msgid "You have used all the votes allotted for this domain." msgstr "Ai folosit toate voturile alocate pentru acest domeniu." -#: hub/templates/hub/candidate/detail.html:106 +#: hub/templates/hub/candidate/detail.html:112 msgid "Vote" msgstr "Votează" -#: hub/templates/hub/candidate/detail.html:119 +#: hub/templates/hub/candidate/detail.html:125 msgid "Candidate information" msgstr "Informații candidatură" -#: hub/templates/hub/candidate/detail.html:124 +#: hub/templates/hub/candidate/detail.html:130 msgid "Representative role" msgstr "Funcție reprezentant" @@ -1751,15 +1755,47 @@ msgstr "" msgid "You must write a rejection message." msgstr "Trebuie să completați un motiv de respingere." -#: hub/views.py:786 +#: hub/views.py:739 +msgid "The candidate has been proposed and is gathering the necessary support." +msgstr "Candidatura a fost propusă și strânge susțineri" + +#: hub/views.py:740 +msgid "(25th october - 17th november 2024)" +msgstr "(25 octombrie - 17 noiembrie 2024)" + +#: hub/views.py:744 +msgid "" +"The candidate has been approved by the admins and is waiting for validation." +msgstr "Candidatura a fost trimisă spre validare Comisiei Electorale" + +#: hub/views.py:745 +msgid "(18th - 20th november 2024)" +msgstr "(18 - 20 noiembrie 2024)" + +#: hub/views.py:749 +msgid "" +"The candidate has been validated by the electoral commission and can be " +"voted." +msgstr "Candidatura a fost validată de Comisia Electorală și poate fi votată" + +#: hub/views.py:750 +msgid "(21th - 22th november 2024)" +msgstr "(21 - 22 noiembrie 2024)" + +#: hub/views.py:754 +msgid "" +"The candidate has been rejected by the admins or the electoral commission." +msgstr "Candidatura a fost respinsă" + +#: hub/views.py:827 msgid "User is not authenticated." msgstr "Utilizatorul nu este autentificat." -#: hub/views.py:791 +#: hub/views.py:832 msgid "Authenticated user does not have an organization." msgstr "Utilizatorul autentificat nu are o organizație." -#: hub/views.py:1033 +#: hub/views.py:1074 #, python-format msgid "Please wait %(minutes_threshold)s minutes before updating again." msgstr "" @@ -1801,6 +1837,18 @@ msgstr "sau apasă aici pentru a ieși" msgid "Redirecting to authentication..." msgstr "Redirecționare la autentificare..." +#~ msgid "Pending" +#~ msgstr "În așteptare" + +#~ msgid "Validated" +#~ msgstr "Validat" + +#~ msgid "In Validation" +#~ msgstr "În validare" + +#~ msgid "Confirmed" +#~ msgstr "Confirmat" + #~ msgid "Metadata" #~ msgstr "Metadate" diff --git a/backend/static_extras/css/bulma-tooltip.min.css b/backend/static_extras/css/bulma-tooltip.min.css new file mode 100644 index 00000000..338e0d4a --- /dev/null +++ b/backend/static_extras/css/bulma-tooltip.min.css @@ -0,0 +1 @@ +@-webkit-keyframes spinAround{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spinAround{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}[data-tooltip]:not(.is-disabled),[data-tooltip]:not(.is-loading),[data-tooltip]:not([disabled]){cursor:pointer;overflow:visible;position:relative}[data-tooltip]:not(.is-disabled)::after,[data-tooltip]:not(.is-disabled)::before,[data-tooltip]:not(.is-loading)::after,[data-tooltip]:not(.is-loading)::before,[data-tooltip]:not([disabled])::after,[data-tooltip]:not([disabled])::before{box-sizing:border-box;color:#fff;display:inline-block;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.75rem;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;visibility:hidden;z-index:1020}[data-tooltip]:not(.is-disabled)::after,[data-tooltip]:not(.is-loading)::after,[data-tooltip]:not([disabled])::after{content:'';border-style:solid;border-width:6px;border-color:rgba(74,74,74,.9) transparent transparent transparent;margin-bottom:-5px}[data-tooltip]:not(.is-disabled)::after,[data-tooltip]:not(.is-loading)::after,[data-tooltip]:not([disabled])::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}[data-tooltip]:not(.is-disabled)::before,[data-tooltip]:not(.is-loading)::before,[data-tooltip]:not([disabled])::before{background:rgba(74,74,74,.9);border-radius:2px;content:attr(data-tooltip);padding:.5rem 1rem;text-overflow:ellipsis;white-space:pre}[data-tooltip]:not(.is-disabled)::before,[data-tooltip]:not(.is-loading)::before,[data-tooltip]:not([disabled])::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom::after,[data-tooltip]:not(.is-loading).has-tooltip-bottom::after,[data-tooltip]:not([disabled]).has-tooltip-bottom::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}[data-tooltip]:not(.is-disabled).has-tooltip-bottom::before,[data-tooltip]:not(.is-loading).has-tooltip-bottom::before,[data-tooltip]:not([disabled]).has-tooltip-bottom::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}[data-tooltip]:not(.is-disabled).has-tooltip-left::after,[data-tooltip]:not(.is-loading).has-tooltip-left::after,[data-tooltip]:not([disabled]).has-tooltip-left::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left::before,[data-tooltip]:not(.is-loading).has-tooltip-left::before,[data-tooltip]:not([disabled]).has-tooltip-left::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}[data-tooltip]:not(.is-disabled).has-tooltip-right::after,[data-tooltip]:not(.is-loading).has-tooltip-right::after,[data-tooltip]:not([disabled]).has-tooltip-right::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right::before,[data-tooltip]:not(.is-loading).has-tooltip-right::before,[data-tooltip]:not([disabled]).has-tooltip-right::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}[data-tooltip]:not(.is-disabled).has-tooltip-multiline::before,[data-tooltip]:not(.is-loading).has-tooltip-multiline::before,[data-tooltip]:not([disabled]).has-tooltip-multiline::before{height:auto;width:15rem;max-width:15rem;text-overflow:clip;white-space:normal;word-break:keep-all}[data-tooltip]:not(.is-disabled).has-tooltip-white.has-tooltip-bottom::after,[data-tooltip]:not(.is-loading).has-tooltip-white.has-tooltip-bottom::after,[data-tooltip]:not([disabled]).has-tooltip-white.has-tooltip-bottom::after{border-color:transparent transparent rgba(255,255,255,.9) transparent}[data-tooltip]:not(.is-disabled).has-tooltip-white.has-tooltip-left::after,[data-tooltip]:not(.is-loading).has-tooltip-white.has-tooltip-left::after,[data-tooltip]:not([disabled]).has-tooltip-white.has-tooltip-left::after{border-color:transparent transparent transparent rgba(255,255,255,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-white.has-tooltip-right::after,[data-tooltip]:not(.is-loading).has-tooltip-white.has-tooltip-right::after,[data-tooltip]:not([disabled]).has-tooltip-white.has-tooltip-right::after{border-color:transparent rgba(255,255,255,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-white:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-disabled).has-tooltip-white:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-disabled).has-tooltip-white:not(.has-tooltip-right)::after,[data-tooltip]:not(.is-loading).has-tooltip-white:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-loading).has-tooltip-white:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-loading).has-tooltip-white:not(.has-tooltip-right)::after,[data-tooltip]:not([disabled]).has-tooltip-white:not(.has-tooltip-bottom)::after,[data-tooltip]:not([disabled]).has-tooltip-white:not(.has-tooltip-left)::after,[data-tooltip]:not([disabled]).has-tooltip-white:not(.has-tooltip-right)::after{border-color:rgba(255,255,255,.9) transparent transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-white:before,[data-tooltip]:not(.is-loading).has-tooltip-white:before,[data-tooltip]:not([disabled]).has-tooltip-white:before{background-color:rgba(255,255,255,.9);color:#0a0a0a}[data-tooltip]:not(.is-disabled).has-tooltip-black.has-tooltip-bottom::after,[data-tooltip]:not(.is-loading).has-tooltip-black.has-tooltip-bottom::after,[data-tooltip]:not([disabled]).has-tooltip-black.has-tooltip-bottom::after{border-color:transparent transparent rgba(10,10,10,.9) transparent}[data-tooltip]:not(.is-disabled).has-tooltip-black.has-tooltip-left::after,[data-tooltip]:not(.is-loading).has-tooltip-black.has-tooltip-left::after,[data-tooltip]:not([disabled]).has-tooltip-black.has-tooltip-left::after{border-color:transparent transparent transparent rgba(10,10,10,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-black.has-tooltip-right::after,[data-tooltip]:not(.is-loading).has-tooltip-black.has-tooltip-right::after,[data-tooltip]:not([disabled]).has-tooltip-black.has-tooltip-right::after{border-color:transparent rgba(10,10,10,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-black:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-disabled).has-tooltip-black:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-disabled).has-tooltip-black:not(.has-tooltip-right)::after,[data-tooltip]:not(.is-loading).has-tooltip-black:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-loading).has-tooltip-black:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-loading).has-tooltip-black:not(.has-tooltip-right)::after,[data-tooltip]:not([disabled]).has-tooltip-black:not(.has-tooltip-bottom)::after,[data-tooltip]:not([disabled]).has-tooltip-black:not(.has-tooltip-left)::after,[data-tooltip]:not([disabled]).has-tooltip-black:not(.has-tooltip-right)::after{border-color:rgba(10,10,10,.9) transparent transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-black:before,[data-tooltip]:not(.is-loading).has-tooltip-black:before,[data-tooltip]:not([disabled]).has-tooltip-black:before{background-color:rgba(10,10,10,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-light.has-tooltip-bottom::after,[data-tooltip]:not(.is-loading).has-tooltip-light.has-tooltip-bottom::after,[data-tooltip]:not([disabled]).has-tooltip-light.has-tooltip-bottom::after{border-color:transparent transparent rgba(245,245,245,.9) transparent}[data-tooltip]:not(.is-disabled).has-tooltip-light.has-tooltip-left::after,[data-tooltip]:not(.is-loading).has-tooltip-light.has-tooltip-left::after,[data-tooltip]:not([disabled]).has-tooltip-light.has-tooltip-left::after{border-color:transparent transparent transparent rgba(245,245,245,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-light.has-tooltip-right::after,[data-tooltip]:not(.is-loading).has-tooltip-light.has-tooltip-right::after,[data-tooltip]:not([disabled]).has-tooltip-light.has-tooltip-right::after{border-color:transparent rgba(245,245,245,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-light:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-disabled).has-tooltip-light:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-disabled).has-tooltip-light:not(.has-tooltip-right)::after,[data-tooltip]:not(.is-loading).has-tooltip-light:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-loading).has-tooltip-light:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-loading).has-tooltip-light:not(.has-tooltip-right)::after,[data-tooltip]:not([disabled]).has-tooltip-light:not(.has-tooltip-bottom)::after,[data-tooltip]:not([disabled]).has-tooltip-light:not(.has-tooltip-left)::after,[data-tooltip]:not([disabled]).has-tooltip-light:not(.has-tooltip-right)::after{border-color:rgba(245,245,245,.9) transparent transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-light:before,[data-tooltip]:not(.is-loading).has-tooltip-light:before,[data-tooltip]:not([disabled]).has-tooltip-light:before{background-color:rgba(245,245,245,.9);color:#363636}[data-tooltip]:not(.is-disabled).has-tooltip-dark.has-tooltip-bottom::after,[data-tooltip]:not(.is-loading).has-tooltip-dark.has-tooltip-bottom::after,[data-tooltip]:not([disabled]).has-tooltip-dark.has-tooltip-bottom::after{border-color:transparent transparent rgba(54,54,54,.9) transparent}[data-tooltip]:not(.is-disabled).has-tooltip-dark.has-tooltip-left::after,[data-tooltip]:not(.is-loading).has-tooltip-dark.has-tooltip-left::after,[data-tooltip]:not([disabled]).has-tooltip-dark.has-tooltip-left::after{border-color:transparent transparent transparent rgba(54,54,54,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-dark.has-tooltip-right::after,[data-tooltip]:not(.is-loading).has-tooltip-dark.has-tooltip-right::after,[data-tooltip]:not([disabled]).has-tooltip-dark.has-tooltip-right::after{border-color:transparent rgba(54,54,54,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-dark:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-disabled).has-tooltip-dark:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-disabled).has-tooltip-dark:not(.has-tooltip-right)::after,[data-tooltip]:not(.is-loading).has-tooltip-dark:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-loading).has-tooltip-dark:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-loading).has-tooltip-dark:not(.has-tooltip-right)::after,[data-tooltip]:not([disabled]).has-tooltip-dark:not(.has-tooltip-bottom)::after,[data-tooltip]:not([disabled]).has-tooltip-dark:not(.has-tooltip-left)::after,[data-tooltip]:not([disabled]).has-tooltip-dark:not(.has-tooltip-right)::after{border-color:rgba(54,54,54,.9) transparent transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-dark:before,[data-tooltip]:not(.is-loading).has-tooltip-dark:before,[data-tooltip]:not([disabled]).has-tooltip-dark:before{background-color:rgba(54,54,54,.9);color:#f5f5f5}[data-tooltip]:not(.is-disabled).has-tooltip-primary.has-tooltip-bottom::after,[data-tooltip]:not(.is-loading).has-tooltip-primary.has-tooltip-bottom::after,[data-tooltip]:not([disabled]).has-tooltip-primary.has-tooltip-bottom::after{border-color:transparent transparent rgba(0,209,178,.9) transparent}[data-tooltip]:not(.is-disabled).has-tooltip-primary.has-tooltip-left::after,[data-tooltip]:not(.is-loading).has-tooltip-primary.has-tooltip-left::after,[data-tooltip]:not([disabled]).has-tooltip-primary.has-tooltip-left::after{border-color:transparent transparent transparent rgba(0,209,178,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-primary.has-tooltip-right::after,[data-tooltip]:not(.is-loading).has-tooltip-primary.has-tooltip-right::after,[data-tooltip]:not([disabled]).has-tooltip-primary.has-tooltip-right::after{border-color:transparent rgba(0,209,178,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-primary:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-disabled).has-tooltip-primary:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-disabled).has-tooltip-primary:not(.has-tooltip-right)::after,[data-tooltip]:not(.is-loading).has-tooltip-primary:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-loading).has-tooltip-primary:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-loading).has-tooltip-primary:not(.has-tooltip-right)::after,[data-tooltip]:not([disabled]).has-tooltip-primary:not(.has-tooltip-bottom)::after,[data-tooltip]:not([disabled]).has-tooltip-primary:not(.has-tooltip-left)::after,[data-tooltip]:not([disabled]).has-tooltip-primary:not(.has-tooltip-right)::after{border-color:rgba(0,209,178,.9) transparent transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-primary:before,[data-tooltip]:not(.is-loading).has-tooltip-primary:before,[data-tooltip]:not([disabled]).has-tooltip-primary:before{background-color:rgba(0,209,178,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-link.has-tooltip-bottom::after,[data-tooltip]:not(.is-loading).has-tooltip-link.has-tooltip-bottom::after,[data-tooltip]:not([disabled]).has-tooltip-link.has-tooltip-bottom::after{border-color:transparent transparent rgba(50,115,220,.9) transparent}[data-tooltip]:not(.is-disabled).has-tooltip-link.has-tooltip-left::after,[data-tooltip]:not(.is-loading).has-tooltip-link.has-tooltip-left::after,[data-tooltip]:not([disabled]).has-tooltip-link.has-tooltip-left::after{border-color:transparent transparent transparent rgba(50,115,220,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-link.has-tooltip-right::after,[data-tooltip]:not(.is-loading).has-tooltip-link.has-tooltip-right::after,[data-tooltip]:not([disabled]).has-tooltip-link.has-tooltip-right::after{border-color:transparent rgba(50,115,220,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-link:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-disabled).has-tooltip-link:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-disabled).has-tooltip-link:not(.has-tooltip-right)::after,[data-tooltip]:not(.is-loading).has-tooltip-link:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-loading).has-tooltip-link:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-loading).has-tooltip-link:not(.has-tooltip-right)::after,[data-tooltip]:not([disabled]).has-tooltip-link:not(.has-tooltip-bottom)::after,[data-tooltip]:not([disabled]).has-tooltip-link:not(.has-tooltip-left)::after,[data-tooltip]:not([disabled]).has-tooltip-link:not(.has-tooltip-right)::after{border-color:rgba(50,115,220,.9) transparent transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-link:before,[data-tooltip]:not(.is-loading).has-tooltip-link:before,[data-tooltip]:not([disabled]).has-tooltip-link:before{background-color:rgba(50,115,220,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-info.has-tooltip-bottom::after,[data-tooltip]:not(.is-loading).has-tooltip-info.has-tooltip-bottom::after,[data-tooltip]:not([disabled]).has-tooltip-info.has-tooltip-bottom::after{border-color:transparent transparent rgba(32,156,238,.9) transparent}[data-tooltip]:not(.is-disabled).has-tooltip-info.has-tooltip-left::after,[data-tooltip]:not(.is-loading).has-tooltip-info.has-tooltip-left::after,[data-tooltip]:not([disabled]).has-tooltip-info.has-tooltip-left::after{border-color:transparent transparent transparent rgba(32,156,238,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-info.has-tooltip-right::after,[data-tooltip]:not(.is-loading).has-tooltip-info.has-tooltip-right::after,[data-tooltip]:not([disabled]).has-tooltip-info.has-tooltip-right::after{border-color:transparent rgba(32,156,238,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-info:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-disabled).has-tooltip-info:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-disabled).has-tooltip-info:not(.has-tooltip-right)::after,[data-tooltip]:not(.is-loading).has-tooltip-info:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-loading).has-tooltip-info:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-loading).has-tooltip-info:not(.has-tooltip-right)::after,[data-tooltip]:not([disabled]).has-tooltip-info:not(.has-tooltip-bottom)::after,[data-tooltip]:not([disabled]).has-tooltip-info:not(.has-tooltip-left)::after,[data-tooltip]:not([disabled]).has-tooltip-info:not(.has-tooltip-right)::after{border-color:rgba(32,156,238,.9) transparent transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-info:before,[data-tooltip]:not(.is-loading).has-tooltip-info:before,[data-tooltip]:not([disabled]).has-tooltip-info:before{background-color:rgba(32,156,238,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-success.has-tooltip-bottom::after,[data-tooltip]:not(.is-loading).has-tooltip-success.has-tooltip-bottom::after,[data-tooltip]:not([disabled]).has-tooltip-success.has-tooltip-bottom::after{border-color:transparent transparent rgba(35,209,96,.9) transparent}[data-tooltip]:not(.is-disabled).has-tooltip-success.has-tooltip-left::after,[data-tooltip]:not(.is-loading).has-tooltip-success.has-tooltip-left::after,[data-tooltip]:not([disabled]).has-tooltip-success.has-tooltip-left::after{border-color:transparent transparent transparent rgba(35,209,96,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-success.has-tooltip-right::after,[data-tooltip]:not(.is-loading).has-tooltip-success.has-tooltip-right::after,[data-tooltip]:not([disabled]).has-tooltip-success.has-tooltip-right::after{border-color:transparent rgba(35,209,96,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-success:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-disabled).has-tooltip-success:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-disabled).has-tooltip-success:not(.has-tooltip-right)::after,[data-tooltip]:not(.is-loading).has-tooltip-success:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-loading).has-tooltip-success:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-loading).has-tooltip-success:not(.has-tooltip-right)::after,[data-tooltip]:not([disabled]).has-tooltip-success:not(.has-tooltip-bottom)::after,[data-tooltip]:not([disabled]).has-tooltip-success:not(.has-tooltip-left)::after,[data-tooltip]:not([disabled]).has-tooltip-success:not(.has-tooltip-right)::after{border-color:rgba(35,209,96,.9) transparent transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-success:before,[data-tooltip]:not(.is-loading).has-tooltip-success:before,[data-tooltip]:not([disabled]).has-tooltip-success:before{background-color:rgba(35,209,96,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-warning.has-tooltip-bottom::after,[data-tooltip]:not(.is-loading).has-tooltip-warning.has-tooltip-bottom::after,[data-tooltip]:not([disabled]).has-tooltip-warning.has-tooltip-bottom::after{border-color:transparent transparent rgba(255,221,87,.9) transparent}[data-tooltip]:not(.is-disabled).has-tooltip-warning.has-tooltip-left::after,[data-tooltip]:not(.is-loading).has-tooltip-warning.has-tooltip-left::after,[data-tooltip]:not([disabled]).has-tooltip-warning.has-tooltip-left::after{border-color:transparent transparent transparent rgba(255,221,87,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-warning.has-tooltip-right::after,[data-tooltip]:not(.is-loading).has-tooltip-warning.has-tooltip-right::after,[data-tooltip]:not([disabled]).has-tooltip-warning.has-tooltip-right::after{border-color:transparent rgba(255,221,87,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-warning:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-disabled).has-tooltip-warning:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-disabled).has-tooltip-warning:not(.has-tooltip-right)::after,[data-tooltip]:not(.is-loading).has-tooltip-warning:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-loading).has-tooltip-warning:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-loading).has-tooltip-warning:not(.has-tooltip-right)::after,[data-tooltip]:not([disabled]).has-tooltip-warning:not(.has-tooltip-bottom)::after,[data-tooltip]:not([disabled]).has-tooltip-warning:not(.has-tooltip-left)::after,[data-tooltip]:not([disabled]).has-tooltip-warning:not(.has-tooltip-right)::after{border-color:rgba(255,221,87,.9) transparent transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-warning:before,[data-tooltip]:not(.is-loading).has-tooltip-warning:before,[data-tooltip]:not([disabled]).has-tooltip-warning:before{background-color:rgba(255,221,87,.9);color:rgba(0,0,0,.7)}[data-tooltip]:not(.is-disabled).has-tooltip-danger.has-tooltip-bottom::after,[data-tooltip]:not(.is-loading).has-tooltip-danger.has-tooltip-bottom::after,[data-tooltip]:not([disabled]).has-tooltip-danger.has-tooltip-bottom::after{border-color:transparent transparent rgba(255,56,96,.9) transparent}[data-tooltip]:not(.is-disabled).has-tooltip-danger.has-tooltip-left::after,[data-tooltip]:not(.is-loading).has-tooltip-danger.has-tooltip-left::after,[data-tooltip]:not([disabled]).has-tooltip-danger.has-tooltip-left::after{border-color:transparent transparent transparent rgba(255,56,96,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-danger.has-tooltip-right::after,[data-tooltip]:not(.is-loading).has-tooltip-danger.has-tooltip-right::after,[data-tooltip]:not([disabled]).has-tooltip-danger.has-tooltip-right::after{border-color:transparent rgba(255,56,96,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-danger:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-disabled).has-tooltip-danger:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-disabled).has-tooltip-danger:not(.has-tooltip-right)::after,[data-tooltip]:not(.is-loading).has-tooltip-danger:not(.has-tooltip-bottom)::after,[data-tooltip]:not(.is-loading).has-tooltip-danger:not(.has-tooltip-left)::after,[data-tooltip]:not(.is-loading).has-tooltip-danger:not(.has-tooltip-right)::after,[data-tooltip]:not([disabled]).has-tooltip-danger:not(.has-tooltip-bottom)::after,[data-tooltip]:not([disabled]).has-tooltip-danger:not(.has-tooltip-left)::after,[data-tooltip]:not([disabled]).has-tooltip-danger:not(.has-tooltip-right)::after{border-color:rgba(255,56,96,.9) transparent transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-danger:before,[data-tooltip]:not(.is-loading).has-tooltip-danger:before,[data-tooltip]:not([disabled]).has-tooltip-danger:before{background-color:rgba(255,56,96,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-active::after,[data-tooltip]:not(.is-disabled).has-tooltip-active::before,[data-tooltip]:not(.is-disabled):focus::after,[data-tooltip]:not(.is-disabled):focus::before,[data-tooltip]:not(.is-disabled):hover::after,[data-tooltip]:not(.is-disabled):hover::before,[data-tooltip]:not(.is-loading).has-tooltip-active::after,[data-tooltip]:not(.is-loading).has-tooltip-active::before,[data-tooltip]:not(.is-loading):focus::after,[data-tooltip]:not(.is-loading):focus::before,[data-tooltip]:not(.is-loading):hover::after,[data-tooltip]:not(.is-loading):hover::before,[data-tooltip]:not([disabled]).has-tooltip-active::after,[data-tooltip]:not([disabled]).has-tooltip-active::before,[data-tooltip]:not([disabled]):focus::after,[data-tooltip]:not([disabled]):focus::before,[data-tooltip]:not([disabled]):hover::after,[data-tooltip]:not([disabled]):hover::before{opacity:1;visibility:visible}[data-tooltip]:not(.is-disabled).has-tooltip-fade::after,[data-tooltip]:not(.is-disabled).has-tooltip-fade::before,[data-tooltip]:not(.is-loading).has-tooltip-fade::after,[data-tooltip]:not(.is-loading).has-tooltip-fade::before,[data-tooltip]:not([disabled]).has-tooltip-fade::after,[data-tooltip]:not([disabled]).has-tooltip-fade::before{transition:opacity .3s linear,visibility .3s linear}@media screen and (max-width:768px){.has-tooltip-top-mobile::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}.has-tooltip-top-mobile::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}}@media screen and (min-width:769px),print{.has-tooltip-top-tablet::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}.has-tooltip-top-tablet::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}}@media screen and (min-width:769px) and (max-width:1087px){.has-tooltip-top-tablet-only::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}.has-tooltip-top-tablet-only::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}}@media screen and (max-width:1087px){.has-tooltip-top-touch::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}.has-tooltip-top-touch::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}}@media screen and (min-width:1088px){.has-tooltip-top-desktop::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}.has-tooltip-top-desktop::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}}@media screen and (min-width:1088px) and (max-width:1279px){.has-tooltip-top-desktop-only::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}.has-tooltip-top-desktop-only::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}}@media screen and (max-width:1279px){.has-tooltip-top-until-widescreen::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}.has-tooltip-top-until-widescreen::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}}@media screen and (min-width:1280px){.has-tooltip-top-widescreen::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}.has-tooltip-top-widescreen::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}}@media screen and (min-width:1280px) and (max-width:1471px){.has-tooltip-top-widescreen-only::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}.has-tooltip-top-widescreen-only::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}}@media screen and (max-width:1471px){.has-tooltip-top-until-fullhd::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}.has-tooltip-top-until-fullhd::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}}@media screen and (min-width:1472px){.has-tooltip-top-fullhd::after{top:0;right:auto;bottom:auto;left:50%;margin-top:-5px;margin-right:auto;margin-bottom:auto;margin-left:-5px;border-color:rgba(74,74,74,.9) transparent transparent transparent}.has-tooltip-top-fullhd::before{top:0;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}}@media screen and (max-width:768px){.has-tooltip-right-mobile::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}.has-tooltip-right-mobile::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}}@media screen and (min-width:769px),print{.has-tooltip-right-tablet::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}.has-tooltip-right-tablet::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}}@media screen and (min-width:769px) and (max-width:1087px){.has-tooltip-right-tablet-only::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}.has-tooltip-right-tablet-only::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}}@media screen and (max-width:1087px){.has-tooltip-right-touch::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}.has-tooltip-right-touch::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}}@media screen and (min-width:1088px){.has-tooltip-right-desktop::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}.has-tooltip-right-desktop::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}}@media screen and (min-width:1088px) and (max-width:1279px){.has-tooltip-right-desktop-only::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}.has-tooltip-right-desktop-only::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}}@media screen and (max-width:1279px){.has-tooltip-right-until-widescreen::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}.has-tooltip-right-until-widescreen::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}}@media screen and (min-width:1280px){.has-tooltip-right-widescreen::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}.has-tooltip-right-widescreen::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}}@media screen and (min-width:1280px) and (max-width:1471px){.has-tooltip-right-widescreen-only::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}.has-tooltip-right-widescreen-only::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}}@media screen and (max-width:1471px){.has-tooltip-right-until-fullhd::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}.has-tooltip-right-until-fullhd::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}}@media screen and (min-width:1472px){.has-tooltip-right-fullhd::after{top:auto;right:0;bottom:50%;left:auto;margin-top:auto;margin-right:-11px;margin-bottom:-6px;margin-left:auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}.has-tooltip-right-fullhd::before{top:auto;right:-11px;bottom:50%;left:auto;margin-top:auto;-webkit-transform:translate(100%,50%);transform:translate(100%,50%)}}@media screen and (max-width:768px){.has-tooltip-bottom-mobile::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}.has-tooltip-bottom-mobile::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}}@media screen and (min-width:769px),print{.has-tooltip-bottom-tablet::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}.has-tooltip-bottom-tablet::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}}@media screen and (min-width:769px) and (max-width:1087px){.has-tooltip-bottom-tablet-only::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}.has-tooltip-bottom-tablet-only::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}}@media screen and (max-width:1087px){.has-tooltip-bottom-touch::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}.has-tooltip-bottom-touch::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}}@media screen and (min-width:1088px){.has-tooltip-bottom-desktop::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}.has-tooltip-bottom-desktop::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}}@media screen and (min-width:1088px) and (max-width:1279px){.has-tooltip-bottom-desktop-only::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}.has-tooltip-bottom-desktop-only::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}}@media screen and (max-width:1279px){.has-tooltip-bottom-until-widescreen::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}.has-tooltip-bottom-until-widescreen::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}}@media screen and (min-width:1280px){.has-tooltip-bottom-widescreen::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}.has-tooltip-bottom-widescreen::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}}@media screen and (min-width:1280px) and (max-width:1471px){.has-tooltip-bottom-widescreen-only::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}.has-tooltip-bottom-widescreen-only::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}}@media screen and (max-width:1471px){.has-tooltip-bottom-until-fullhd::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}.has-tooltip-bottom-until-fullhd::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}}@media screen and (min-width:1472px){.has-tooltip-bottom-fullhd::after{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-right:auto;margin-bottom:-5px;margin-left:-5px;border-color:transparent transparent rgba(74,74,74,.9) transparent}.has-tooltip-bottom-fullhd::before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;-webkit-transform:translate(-50%,100%);transform:translate(-50%,100%)}}@media screen and (max-width:768px){.has-tooltip-left-mobile::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}.has-tooltip-left-mobile::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}}@media screen and (min-width:769px),print{.has-tooltip-left-tablet::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}.has-tooltip-left-tablet::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}}@media screen and (min-width:769px) and (max-width:1087px){.has-tooltip-left-tablet-only::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}.has-tooltip-left-tablet-only::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}}@media screen and (max-width:1087px){.has-tooltip-left-touch::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}.has-tooltip-left-touch::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}}@media screen and (min-width:1088px){.has-tooltip-left-desktop::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}.has-tooltip-left-desktop::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}}@media screen and (min-width:1088px) and (max-width:1279px){.has-tooltip-left-desktop-only::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}.has-tooltip-left-desktop-only::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}}@media screen and (max-width:1279px){.has-tooltip-left-until-widescreen::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}.has-tooltip-left-until-widescreen::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}}@media screen and (min-width:1280px){.has-tooltip-left-widescreen::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}.has-tooltip-left-widescreen::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}}@media screen and (min-width:1280px) and (max-width:1471px){.has-tooltip-left-widescreen-only::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}.has-tooltip-left-widescreen-only::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}}@media screen and (max-width:1471px){.has-tooltip-left-until-fullhd::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}.has-tooltip-left-until-fullhd::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}}@media screen and (min-width:1472px){.has-tooltip-left-fullhd::after{top:auto;right:auto;bottom:50%;left:0;margin-top:auto;margin-right:auto;margin-bottom:-6px;margin-left:-11px;border-color:transparent transparent transparent rgba(74,74,74,.9)}.has-tooltip-left-fullhd::before{top:auto;right:auto;bottom:50%;left:-11px;-webkit-transform:translate(-100%,50%);transform:translate(-100%,50%)}} \ No newline at end of file diff --git a/backend/static_extras/css/hub.css b/backend/static_extras/css/hub.css index 360c02b4..c69c522c 100644 --- a/backend/static_extras/css/hub.css +++ b/backend/static_extras/css/hub.css @@ -694,7 +694,7 @@ details { user-select: none; } -details>summary span.icon { +details > summary span.icon { width: 24px; height: 24px; transition: all 0.3s; @@ -719,3 +719,8 @@ summary { summary::-webkit-details-marker { display: none; } + +[data-tooltip]:not(.is-disabled).has-tooltip-multiline::before, [data-tooltip]:not(.is-loading).has-tooltip-multiline::before, [data-tooltip]:not([disabled]).has-tooltip-multiline::before { + white-space: pre-line +} +