/* ---------------------------------------- */
/* Fuentes */

@font-face {
    font-family: "Helvetica";
    src: url('/fonts/helvetica-roman-webfont.woff2') format('woff2'), url('/fonts/helvetica-roman-webfont.woff') format('woff');
    font-weight: 400;
}

@font-face {
    font-family: "Helvetica";
    src: url('/fonts/helvetica-bold-webfont.woff2') format('woff2'), url('/fonts/helvetica-bold-webfont.woff') format('woff');
    font-weight: 700;
}


/* ---------------------------------------- */
/* Predefinidos */

:root {
    --green: #80BC00;
    --bg: #F8F6F4;

    --blue: #53aeda;
    --orange: #eb8b24;
    --grey: #a9b7c1;
    --red: #d75c5c;
    --yellow: #F0C20E;
}

* {
    margin: 0;
    padding: 0;
    text-decoration: none;
    box-sizing: border-box;
    color: inherit;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

input, button, select, textarea {
    appearance: none;
    -moz-appearance: none;
    outline: none;
}
body, input, button, select, textarea {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-family: 'Helvetica', sans-serif;
    font-weight: 400;
    line-height: 1.55;
    font-size: 18px;
    color: #343434;
}

body {
    background-color: var(--bg);
}


/* ---------------------------------------- */
/* Sections */

.section {
    margin-block: 0;
    width: 100%;
}
.section--large {
    margin-block: clamp(100px, 15vw, 300px);
}
.section--medium {
    margin-block: clamp(80px, 12vw, 150px);
}
.section--short {
    margin-block: clamp(50px, 12vw, 80px);
}


.section--white {
    background-color: rgba(255,255,255,0.92);
    backdrop-filter: blur(5px);
    box-shadow: 0 0 10px 0 rgba(0,0,0,0.05);
}

.section:not(.section--nomargin) .section__content > .container {
    margin-block: clamp(50px, 12vw, 40px);
}
.section:not(.section--nomargin) .section__content > .container:first-child {
    margin-top: 0;
}
.section:not(.section--nomargin) .section__content > .container:last-child {
    margin-bottom: 0;
}

.section__sticky {
    position: sticky;
    top: 0;
    z-index: 10;
}


/* ---------------------------------------- */
/* Containers */

.container {
    margin-inline: auto;
    width: 100%;
}
.container--full {
    padding-inline: 12px;
}
.container--large {
    padding-inline: 12px;
    width: min(100%, 1320px);
}
.container--medium {
    padding-inline: 12px;
    width: min(100%, 1070px);
}
.container--short {
    padding-inline: 12px;
    width: min(100%, 860px);
}
.container--tiny {
    padding-inline: 12px;
    width: min(100%, 500px);
}

.container--center {
    text-align: center;
}
.container--right {
    text-align: right;
}


/* ---------------------------------------- */
/* Flex */

.flex {
    display: flex;
    flex-wrap: wrap;
}
.flex--horizontal-justify {
    justify-content: space-between;
}
.flex--vertical-center {
    align-items: center;
}



/* ---------------------------------------- */
/* Grid */

.grid {
    display: grid;
    width: 100%;
}

.grid--cols-2 {
    grid-template-columns: repeat(2, 1fr);
}
.grid--cols-3 {
    grid-template-columns: repeat(3, 1fr);
}
.grid--cols-4 {
    grid-template-columns: repeat(4, 1fr);
}
.grid--cols-5 {
    grid-template-columns: repeat(5, 1fr);
}
.grid--cols-6 {
    grid-template-columns: repeat(6, 1fr);
}

@media (max-width: 1440px) {

    .grid--cols-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .grid--cols-5 {
        grid-template-columns: repeat(3, 1fr);
    }
    .grid--cols-6 {
        grid-template-columns: repeat(4, 1fr);
    }

}
@media (max-width: 1110px) {

    .grid--cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .grid--cols-6 {
        grid-template-columns: repeat(3, 1fr);
    }

}
@media (max-width: 980px) {

    .grid--cols-2 {
        grid-template-columns: none;
    }
    .grid--cols-3 {
        grid-template-columns: none;
    }
    .grid--cols-5 {
        grid-template-columns: repeat(2, 1fr);
    }
    .grid--cols-6 {
        grid-template-columns: repeat(2, 1fr);
    }

}
@media (max-width: 570px) {

    .grid--cols-4 {
        grid-template-columns: none;
    }
    .grid--cols-5 {
        grid-template-columns: none;
    }
    .grid--cols-6 {
        grid-template-columns: none;
    }

}

.grid--rows-gap-10 {
    row-gap: 10px;
}
.grid--rows-gap-20 {
    row-gap: 20px;
}
.grid--rows-gap-30 {
    row-gap: 30px;
}
.grid--rows-gap-40 {
    row-gap: 40px;
}
.grid--rows-gap-50 {
    row-gap: 50px;
}
.grid--rows-gap-60 {
    row-gap: clamp(50px, 8vw, 60px);
}
.grid--rows-gap-70 {
    row-gap: clamp(50px, 8vw, 70px);
}
.grid--rows-gap-80 {
    row-gap: clamp(50px, 8vw, 80px);
}
.grid--rows-gap-90 {
    row-gap: clamp(50px, 8vw, 90px);
}
.grid--rows-gap-100 {
    row-gap: clamp(60px, 9vw, 100px);
}
.grid--rows-gap-110 {
    row-gap: clamp(60px, 9vw, 110px);
}
.grid--rows-gap-120 {
    row-gap: clamp(60px, 9vw, 120px);
}
.grid--rows-gap-130 {
    row-gap: clamp(60px, 9vw, 130px);
}
.grid--rows-gap-140 {
    row-gap: clamp(70px, 10vw, 140px);
}
.grid--rows-gap-150 {
    row-gap: clamp(70px, 10vw, 150px);
}
.grid--rows-gap-160 {
    row-gap: clamp(70px, 10vw, 160px);
}
.grid--rows-gap-170 {
    row-gap: clamp(70px, 10vw, 170px);
}
.grid--rows-gap-180 {
    row-gap: clamp(80px, 11vw, 180px);
}
.grid--rows-gap-190 {
    row-gap: clamp(80px, 11vw, 190px);
}
.grid--rows-gap-200 {
    row-gap: clamp(80px, 11vw, 200px);
}
.grid--rows-gap-210 {
    row-gap: clamp(80px, 11vw, 210px);
}
.grid--rows-gap-220 {
    row-gap: clamp(90px, 12vw, 220px);
}
.grid--rows-gap-230 {
    row-gap: clamp(90px, 12vw, 230px);
}
.grid--rows-gap-240 {
    row-gap: clamp(90px, 12vw, 240px);
}
.grid--rows-gap-250 {
    row-gap: clamp(90px, 12vw, 250px);
}

.grid--cols-gap-10 {
    column-gap: 10px;
}
.grid--cols-gap-20 {
    column-gap: 20px;
}
.grid--cols-gap-30 {
    column-gap: clamp(20px, 1vw, 30px);
}
.grid--cols-gap-40 {
    column-gap: clamp(20px, 2vw, 40px);
}
.grid--cols-gap-50 {
    column-gap: clamp(20px, 2vw, 50px);
}
.grid--cols-gap-60 {
    column-gap: clamp(20px, 3vw, 60px);
}
.grid--cols-gap-70 {
    column-gap: clamp(20px, 3vw, 70px);
}
.grid--cols-gap-80 {
    column-gap: clamp(20px, 4vw, 80px);
}
.grid--cols-gap-90 {
    column-gap: clamp(20px, 4vw, 90px);
}
.grid--cols-gap-100 {
    column-gap: clamp(20px, 5vw, 100px);
}
.grid--cols-gap-110 {
    column-gap: clamp(20px, 5vw, 110px);
}
.grid--cols-gap-120 {
    column-gap: clamp(20px, 6vw, 120px);
}
.grid--cols-gap-130 {
    column-gap: clamp(20px, 6vw, 130px);
}
.grid--cols-gap-140 {
    column-gap: clamp(20px, 7vw, 140px);
}
.grid--cols-gap-150 {
    column-gap: clamp(20px, 7vw, 150px);
}
.grid--cols-gap-160 {
    column-gap: clamp(20px, 8vw, 160px);
}
.grid--cols-gap-170 {
    column-gap: clamp(20px, 8vw, 170px);
}
.grid--cols-gap-180 {
    column-gap: clamp(20px, 9vw, 180px);
}
.grid--cols-gap-190 {
    column-gap: clamp(20px, 9vw, 190px);
}
.grid--cols-gap-200 {
    column-gap: clamp(20px, 10vw, 200px);
}
.grid--cols-gap-210 {
    column-gap: clamp(20px, 10vw, 210px);
}
.grid--cols-gap-220 {
    column-gap: clamp(20px, 11vw, 220px);
}
.grid--cols-gap-230 {
    column-gap: clamp(20px, 11vw, 230px);
}
.grid--cols-gap-240 {
    column-gap: clamp(20px, 12vw, 240px);
}
.grid--cols-gap-250 {
    column-gap: clamp(20px, 12vw, 250px);
}

.grid--valign-top {
    align-items: flex-start;
}
.grid--valign-middle {
    align-items: center;
}
.grid--valign-bottom {
    align-items: flex-end;
}



/* ---------------------------------------- */
/* Componentes */

.button {
    display: inline-flex;
    background: var(--green);
    color: white;
    border: 2px solid var(--green);
    cursor: pointer;
    white-space: nowrap;
    transition: 0.3s;
    border-radius: 10px;
    padding-left: 40px;
    padding-right: 40px;
    height: 60px;
    align-items: center;
    text-transform: lowercase;
    line-height: 1.2;
    font-size: 16px;
    font-weight: 700;
}
.button:hover {
    background: #75ac00;
    border-color: #75ac00;
}
.button::after {
    content: '';
    transition: 0.3s;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    width: 0;
    position: relative;
    z-index: 1;
    background-image: url('/img/spinner.svg');
}

.button--secondary {
    background: none;
    color: var(--green);
}
.button--secondary:hover {
    color: white;
}

.button--disabled {
    background: grey;
    opacity: 0.35;
    pointer-events: none;
    border-color: grey;
}

@keyframes button-spinner {

    0% {
        transform: scale(1.4) rotate(0deg);
    }

    100% {
        transform: scale(1.4) rotate(360deg);
    }

}
.button--loading {
    background: grey;
    opacity: 0.35;
    pointer-events: none;
    border-color: grey;
}
.button--loading::after {
    width: 13px;
    height: 13px;
    margin-left: 16px;
    animation: button-spinner 1s infinite;
}

.button--little {
    padding: 10px 15px;
    font-size: 14px;
}

@media screen and (max-width: 860px) {

    .button {
        padding: 14px 20px;
    }

}

@media screen and (max-width: 570px) {

    .button {
        padding: 14px;
    }

}


.link {
    color: #0480bd;
    border-bottom: 1px solid;
}




h1 {
    font-weight: 700;
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1.4;
}
h2 {
    line-height: 1.4;
    font-size: clamp(22px, 2.7vw, 25px);
    font-weight: 700;
}
h3 {
    font-weight: 500;
    font-size: 19px;
    line-height: 1.4;
}


.logo img {
    display: block;
    width: 120px;
}

@media screen and (max-width: 1070px) {

    .logo img {
        width: 110px;
    }

}
@media screen and (max-width: 860px) {

    .logo img {
        width: 100px;
    }

}



.cross {
    width: 35px;
    height: 35px;
    display: block;
    cursor: pointer;
    position: relative;
}
.cross > div {
    background: black;
    width: 25px;
    height: 2px;
    display: block;
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    transition: 0.15s;
}
.cross:hover > div {
    width: 30px;
}
.cross > div:first-child {
    transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}
.cross > div:last-child {
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
}



.arrow::after {
    content: '';
    border: solid black;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 2px;
    position: relative;
    top: -1px;
    left: -1px;
}
.arrow--right::after {
    transform: rotate(-45deg);
}
.arrow--left::after {
    transform: rotate(135deg);
}
.arrow--up::after {
    transform: rotate(-135deg);
}
.arrow--down::after {
    transform: rotate(45deg);
}



.progress {
    position: relative;
    display: inline-block;
}
.progress progress {
    transition: 0.15s;
    display: block;
}
.progress > span {
    position: absolute;
    display: block;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: 0.15s;
    width: 100%;
    text-align: center;
    font-size: 18px;
    top: 50%;
    opacity: 0;
    line-height: 1;
}
.progress > span > span {
    font-size: 13px;
    margin-left: 4px;
}
.progress:hover progress {
    opacity: 0.2;
}
.progress:hover > span {
    opacity: 1;
}
.progress progress[value] {
    -webkit-appearance: none;
    appearance: none;
    background: white;
    border: none;
    display: block;
    border-radius: 3px;
    overflow: hidden;
    background: #ebebeb;
    height: 8px;
    box-shadow: 0 0 4px 2px rgba(0,0,0,0.01);
}
progress::-webkit-progress-bar {
    background: var(--green);
}
progress::-moz-progress-bar {
    background: var(--green);
}



.data {
    columns: 3;
}
.data__item {
    list-style: none;
    margin-bottom: 22px;
    break-inside: avoid;
}
.data__item:last-child {
    margin-bottom: 0;
}
.data__item__name {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 7px;
    color: #666;
}
.data__item__value {
    display: block;
}

@media screen and (max-width: 1070px) {

    .data {
        columns: 2;
    }

}

@media screen and (max-width: 570px) {

    .data {
        columns: unset;
    }

}




input[type="text"], input[type="email"], input[type="password"], input[type="color"], input[type="date"], textarea, select {
    width: 100%;
    border: 1px solid #EAEAEA;
    background: none;
    transition: 0.15s;
    background-color: #FBF6F6;
    font-size: 15px;
    line-height: 1.8;
    padding: 14px 20px;
    border-radius: 5px;
}
input[type="text"]:hover, input[type="email"]:hover, input[type="password"]:hover, input[type="color"]:hover, input[type="date"]:hover, textarea:hover, select:hover {
    border-color: #aab8d5;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="color"]:focus, input[type="date"]:focus, textarea:focus {
    border-color: #aab8d5;
}

select {
    cursor: pointer;
}

textarea {
    min-width: 100%;
    max-width: 100%;
    min-height: 100px;
    height: 220px;
    max-height: 800px;
    display: block;
}

input[type="color"] {
    height: 61px;
}

input[type="checkbox"] {
    width: 25px;
    height: 25px;
    min-width: 25px;
    max-width: 25px;
    background: none;
    border: 1px solid #EAEAEA;
    background-color: #FBF6F6;
    border-radius: 3px;
    transition: 0.1s;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
input[type="checkbox"]:hover {
    transform: scale(1.1);
}
input[type="checkbox"]::after {
    content: "\f00c";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    display: inline-block;
    color: var(--green);
    transition: 0.1s;
    pointer-events: none;
    opacity: 0;
    font-size: 17px;
}
input[type="checkbox"]:checked {
    border-color: var(--green);
}
input[type="checkbox"]:checked::after {
    opacity: 1;
}

@media screen and (max-width: 860px) {

    input[type="text"], input[type="email"], input[type="password"], input[type="color"], select {
        padding: 16px 12px;
    }

}



.form__fields {
    transition: 1s;
}
.form--submitting .form__fields {
    opacity: 0.5;
    pointer-events: none;
}

.form__field {
    list-style: none;
    margin: 22px 0;
}
.form__field:first-child {
    margin-top: 0;
}
.form__field:last-child {
    margin-bottom: 0;
}

.form__field--disabled {
    opacity: 0.5;
}
.form__field--disabled.form__field--checkbox {
    text-decoration: line-through;
}

.form__field--with-icon {
    position: relative;
}
.form__field--with-icon .form__field__input {
    padding-right: 60px;
}
.form__field--with-icon .form__field__wrapper {
    position: relative;
    display: block;
}
.form__field--with-icon .form__field__icon {
    position: absolute;
    bottom: 22px;
    right: 15px;
    font-size: 13px;
    cursor: pointer;
    z-index: 1;
    opacity: 0.5;
}
.form__field__icon--dissable {
    pointer-events: none;
}

.form__field__options {
    list-style: none;
    margin-top: 18px;
    margin-bottom: 25px;
}
.form__field__option {
    margin-bottom: 13px;
}
.form__field__option:last-child {
    margin-bottom: 0;
}
.form__field__option > label {
    display: flex;
}
.form__field__option > label span {
    padding-left: 12px;
    display: block;
    cursor: pointer;
    margin-top: 1px;
    font-size: 16px;
}

.form__field__help {
    line-height: 1.4;
    display: block;
    font-size: 13px;
    color: #848484;
    margin-bottom: 13px;
    margin-top: -7px;
}

.form__field__title {
    display: block;
    font-size: 14px;
    margin-bottom: 10px;
}

.form__field__message {
    display: block;
    font-size: 14px;
    margin-top: 6px;
    color: var(--red);
}
.form__field--invalid input, .form__field--invalid select, .form__field--invalid textarea {
    border-color: var(--red) !important;
}
.form__field--valid input, .form__field--valid select, .form__field--valid textarea {
    border-color: var(--green) !important;
}
.form__field--invalid .form__file__box {
    border-color: var(--red) !important;
}
.form__field--valid .form__file__box {
    border-color: var(--green) !important;
}

.form__options {
    margin-top: 20px;
    list-style: none;
    font-size: 14px;
}

.form__actions {
    margin-top: 40px;
    list-style: none;
    display: flex;
}
.form__action {
    margin-right: 15px;
}
.form__action:last-child {
    margin-right: 0;
}

.form__messages {
    margin-bottom: 30px;
    list-style: none;
}
.form__messages > li {
    border-top: 2px solid;
    padding-top: 15px;
}
.form__message a {
    text-decoration: underline;
}
.form__message--1 {
    color: var(--red);
}
.form__message--2 {
    color: var(--yellow);
}
.form__message--3 {
    color: var(--green);
}


.form__file__box {
    border: 3px dashed #c7cfd5;
    padding: 30px;
    text-align: center;
    transition: 0.15s;
    background: #f8f8f8;
    cursor: pointer;
    color: #8b99a4;
    font-size: 13px;
    margin-top: 14px;
}
.form__file__box:hover {
    border-color: #99a7b3;
}
.form__file__box > p {
    display: block;
    font-size: 15px;
    margin-bottom: 10px;
}
.form__file__box > span {
    display: block;
    margin-top: 6px;
}
.form__file__box__files {
    list-style: none;
    max-width: 400px;
    margin: auto;
    margin-top: 20px;
}
.form__file__box__files:empty {
    margin-top: 0;
}
.form__file__box__file {
    background: #d0e2e5;
    padding: 10px 15px;
    font-size: 12px;
    border-radius: 2px;
    text-align: left;
    padding-right: 30px;
    position: relative;
    text-transform: uppercase;
    margin-bottom: 4px;
    display: flex;
}
.form__file__box__file:last-child {
    margin-bottom: 0;
}
.form__file__box__file i {
    margin-right: 8px;
    font-size: 13px;
    opacity: 0.7;
    top: 1px;
    position: relative;
}
/*
.form__file__box__file__close {
    width: 20px;
    height: 20px;
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    opacity: 0.5;
    transition: 0.15s;
}
.form__file__box__file__close::before, .form__file__box__file__close::after {
    content: '';
    width: 10px;
    height: 2px;
    background: #647379;
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}
.form__file__box__file__close::after {
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
}
.form__file__box__file__close:hover {
    opacity: 1;
}
*/


@keyframes loader-spin {

    0% {
        transform: translateY(-50%) translateX(-50%) rotate(0deg);
    }

    100% {
        transform: translateY(-50%) translateX(-50%) rotate(360deg);
    }

}

.loader {
    position: relative;
}
.loader::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: white;
    opacity: 0;
    transition: 0.15s;
    pointer-events: none;
    margin: -10px;
    width: calc(100% + 20px);
    height: calc(100% + 20px);
}
.loader::before {
    content: '';
    display: block;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 3px solid #fff;
    border-color: #fff transparent #fff transparent;
    animation: loader-spin 1.2s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    opacity: 0;
    transition: 0.15s;
    pointer-events: none;
    z-index: 1;
}
.loader--black::before {
    border-color: #4a4a4a transparent #4a4a4a transparent;
}

.loader--loading::after {
    opacity: 0.9;
    pointer-events: unset;
}
.loader--loading::before {
    opacity: 1;
}




.notice {
    border: 1px solid var(--green);
    padding: 20px;
    background: #7cb8031f;
}
.notice .link {
    margin-left: 8px;
}




.dropdown {
    position: relative;
    cursor: pointer;
}
.dropdown__element {
    position: absolute;
    top: 100%;
    min-width: 100%;
    left: 50%;
    transform: translateX(-50%) scale(0.95);
    transition: 0.3s;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
}
.dropdown__element__wrapper {
    background: white;
    list-style: none;
    border-radius: 8px;
    margin: 8px 0;
    padding: 15px 0;
    box-shadow: 2px 3px 5px 6px rgb(0 0 0 / 3%);
}
.dropdown__element__link a {
    display: block;
    padding: 8px 35px;
    font-size: 17px;
    transition: 0.15s;
    white-space: nowrap;
}
.dropdown__element__link a:hover {
    background: #f4f8f9;
}
.dropdown:hover .dropdown__element, .dropdown--displayed .dropdown__element {
    opacity: 1;
    pointer-events: unset;
    transform: translateX(-50%);
}
.dropdown__background {
    display: none;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
}
.dropdown--displayed .dropdown__background {
    display: block;
}



.account {
    display: flex;
    align-items: center;
}
.account__name {
    font-size: 16px;
    display: block;
    margin-bottom: -3px;
}
.account__avatar {
    width: 40px;
    height: 40px;
    margin-right: 12px;
    overflow: hidden;
    border-radius: 1000px;
    border: 2px solid transparent;
}
.account__avatar__default {
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    width: 100%;
    height: 100%;
    text-transform: uppercase;
    font-size: 18px;
    pointer-events: none;
    line-height: 1;
    border-radius: 1000px;
}
.account__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.account__email {
    display: block;
    font-size: 12px;
    color: #757575;
    border: none !important;
}
a.account__email:hover {
    text-decoration: underline;
}
.account--connected .account__avatar {
    border-color: var(--green);
    padding: 2px;
}
.account--inverted {
    flex-direction: row-reverse;
    text-align: right;
}
.account--inverted .account__avatar {
    margin-right: 0;
    margin-left: 12px;
}

@media screen and (max-width: 570px) {

    .account__avatar {
        margin-right: 8px;
    }

    /*
    .account--inverted .account__avatar {
        margin-left: 0;
    }
    */

}





.menu__wrapper {
    list-style: none;
}


.breadcrumbs {
    font-size: 12px;
    padding: 15px 0;
    opacity: 0.6;
}
.breadcrumbs__wrapper {
    display: flex;
    align-items: center;
    list-style: none;
}
.breadcrumbs__breadcrumb a:hover {
    text-decoration: underline;
}
.breadcrumbs__breadcrumb::after {
    margin: 0 10px;
}

@media screen and (max-width: 570px) {

    .breadcrumbs {
        display: none;
    }

}



@keyframes bounce {
    30% { transform: scale(1.2); }
    40%, 60% { transform: rotate(-20deg) scale(1.2); }
    50% { transform: rotate(20deg) scale(1.2); }
    70% { transform: rotate(0deg) scale(1.2); }
    100% { transform: scale(1); }
}

.header {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header .menu__link {
    margin-right: 30px;
}
.header .menu__link:last-child {
    margin-right: 0;
}
.header .menu__link a {
    transition: 0.15s;
    padding: 2px 0;
    border-bottom: 2px solid transparent;
    font-size: 16px;
    font-weight: 700;
    text-transform: lowercase;
}
.header .menu__link a:hover {
    border-bottom: 2px solid var(--green);
}

.header .notification {
    font-size: 22px;
    position: relative;
}
.header .notification--bounce {
    animation: bounce 1s ease;
    animation-delay: 1s;
}
.header .notification__count {
    position: absolute;
    right: -2px;
    bottom: 7px;
    border-radius: 1000px;
    background: red;
    width: 18px;
    height: 18px;
    font-size: 10px;
    font-weight: 700;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateX(50%) translateY(50%);
}

.header__right {
    display: flex;
    align-items: center;
}
.header__right > * {
    margin-left: 40px;
}
.header__right > *:first-child {
    margin-left: 0;
}
.header__right .menu__wrapper {
    display: flex;
    align-items: center;
}

.header .hamburguer {
    display: none;
    width: 35px;
    min-width: 35px;
    height: 35px;
    position: relative;
    cursor: pointer;
}
.header .hamburguer > div {
    pointer-events: none;
    width: 33px;
    height: 2px;
    background: black;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: 0.15s;
}
.header .hamburguer > div:first-child {
    top: calc(50% - 9px);
}
.header .hamburguer > div:last-child {
    top: calc(50% + 9px);
}

body.header-opened .header__right > nav {
    opacity: 1;
    pointer-events: unset;
}
body.header-opened .header .hamburguer > div:nth-child(2) {
    opacity: 0;
}
body.header-opened .header .hamburguer > div:nth-child(1) {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
    top: 50%;
    width: 25px;
}
body.header-opened .header .hamburguer > div:nth-child(3) {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
    top: 50%;
    width: 25px;
}

@media screen and (max-width: 1070px) {

    .header {
        height: 55px;
    }

    .header__left {
        z-index: 20;
    }

    .header__right > * {
        margin-left: 25px;
    }
    .header__right > *:not(nav) {
        z-index: 20;
    }
    .header__right > nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(255,255,255,0.98);
        z-index: 10;
        opacity: 0;
        pointer-events: none;
        transition: 0.5s;
    }
    .header__right .menu__wrapper {
        display: block;
        padding-top: 120px;
    }

    .header .menu__link {
        margin: 0;
    }
    .header .menu__link a {
        padding: 22px 12px;
        font-size: 18px;
        display: block;
        border-bottom: 1px solid rgba(0,0,0,0.1) !important;
    }

    .header .menu__link:first-child a {
        border-top: 1px solid rgba(0,0,0,0.1);
    }

    .header .hamburguer {
        display: block;
        margin-left: 15px;
    }

}

@media screen and (max-width: 570px) {

    .header .dropdown__element {
        right: -8px;
        left: auto;
        transform: scale(0.95);
        top: calc(100% - 7px);
    }
    .header .dropdown:hover .dropdown__element, .header .dropdown--displayed .dropdown__element {
        transform: none;
    }

    .header .account__info {
        display: none;
    }

}



.footer {
    font-size: 13px;
    padding: 30px 0;
    border-top: 1px solid rgba(0,0,0,0.1);
    color: #757575;
    display: flex;
    align-items: center;
}
.footer .menu__wrapper {
    display: flex;
    align-items: center;
}
.footer .menu__link {
    margin-left: 18px;
}
.footer .menu__link a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 860px) {

    .footer {
        display: block;
    }
    .footer .menu__wrapper {
        display: block;
        margin-top: 15px;
    }
    .footer .menu__link {
        margin: 0;
        margin-top: 10px;
    }

}




.gantt {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.gantt__legend {
    list-style: none;
    font-size: 12px;
    height: 80px;
    padding-left: 10px;
}
.gantt__legend li {
    margin-bottom: 7px;
    line-height: 1;
    display: flex;
    align-items: center;
}
.gantt__legend li:last-child {
    margin-bottom: 0;
}
.gantt__legend .gantt__legend-item {
    margin-right: 8px;
}

.gantt__legend-item {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 1000px;
}
.gantt__legend-item--4 {
    background: var(--green);
}
.gantt__legend-item--2, .gantt__legend-item--3 {
    background: var(--blue);
}
.gantt__legend-item--1 {
    background: var(--grey);
}

.gantt__titles_tasks {
    font-size: 13px;
    list-style: none;
    background-size: 100% 40px;
    background-image: linear-gradient(to bottom, #dbdbdb 0px, transparent 1px);
}
.gantt__titles_tasks li {
    height: 40px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    padding-left: 10px;
    padding-right: 30px;
}
.gantt__titles_tasks li .gantt__legend-item {
    margin-left: 8px;
}

.gantt__calendar {
    width: 100%;
    overflow-x: auto;
    border-left: 1px solid #a1a4aa;
}
.gantt__calendar__wrapper {
    display: grid;
    grid-auto-rows: 40px;
    background-image: linear-gradient(to right, #ebebeb 0px, transparent 1px), linear-gradient(to bottom, #dbdbdb 0px, transparent 1px);
    background-size: 30px 40px;
    position: relative;
}

.gantt__month {
    grid-row: 1;
    font-size: 11px;
    display: flex;
    align-items: flex-end;
    background-color: #e4f1f6a6;
    text-transform: capitalize;
}
.gantt__month__name {
    padding: 3px 5px;
    display: inline-block;
    position: sticky;
    left: 0;
}

.gantt__day {
    grid-row: 2;
    font-size: 13px;
    display: flex;
    align-items: center;
    background-color: #e4f1f6a6;
}
.gantt__day--holiday::after {
    content: '';
    background-color: #e1ebf5;
    width: 30px;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    z-index: -2;
}
.gantt__day--today::before {
    content: '';
    background-color: red;
    width: 1px;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
}
.gantt__day__name {
    padding: 3px 5px;
    display: inline-block;
}

.gantt__task {
    padding: 5px;
    color: white;
    font-size: 14px;
}

.gantt__task .gantt__task__wrapper {
    background: var(--green);
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
}
.gantt__task--status--1 .gantt__task__wrapper {
    background: var(--grey);
    pointer-events: none;
    opacity: 0.6;
}
.gantt__task--status--2 .gantt__task__wrapper, .gantt__task--status--3 .gantt__task__wrapper {
    background: var(--blue);
}

.gantt__task__name {
    padding: 0 7px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    font-size: 12px;
    overflow: hidden;
}

.gantt__task__options {
    color: black;
    padding: 20px;
    background: white;
    border-radius: 6px;
    box-shadow: 0 0 4px 2px rgba(47, 51, 53, 0.03);
    margin-top: 10px;
    position: absolute;
}
.gantt__task__options::before {
    content: '';
    width: 20px;
    height: 20px;
    background: white;
    position: absolute;
    top: 0;
    left: 20px;
    transform: translateY(-50%) rotate(45deg);
}
.gantt__task__options .link {
    margin-left: 10px;
}
.gantt__task__options a {
    margin-right: 3px;
}

.gantt .cross {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
    display: none;
}

.gantt__open-titles {
    display: none;
    text-transform: uppercase;
    font-size: 12px;
    writing-mode: sideways-lr;
    text-align: center;
    padding-right: 3px;
    cursor: pointer;
    transition: 0.3s;
}

@media screen and (max-width: 860px) {

    .gantt__open-titles {
        display: block;
    }

    .gantt__titles {
        position: absolute;
        background: #eff5fad6;
        z-index: 1;
        width: 100%;
        margin-top: 0;
        overflow-x: auto;
        opacity: 0;
        transition: 0.3s;
        pointer-events: none;
        padding-left: 20px;
    }

    .gantt.gantt--titles-opened .gantt__titles {
        opacity: 1;
        pointer-events: unset;
    }
    .gantt.gantt--titles-opened .cross {
        display: block;
    }
    .gantt.gantt--titles-opened .gantt__open-titles {
        opacity: 0;
    }

}




.title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.title > * {
    width: 100%;
}
.title .menu__link {
    margin-left: 10px;
}
.title .menu__wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.title .menu {
    margin-left: 40px;
}
.title__copy {
    max-width: 65%;
}

@media screen and (max-width: 860px) {

    .title {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
    .title__copy {
        max-width: none;
        width: 100%;
    }

    .title .menu {
        margin-top: 15px;
        margin-left: 0;
    }

    .title .menu__wrapper {
        flex-wrap: wrap;
    }
    .title .menu__link {
        margin-top: 5px;
        margin-left: 5px;
    }

    .title .button {
        padding: 10px;
        font-size: 15px;
    }

}



.tag {
    text-transform: uppercase;
    color: var(--green);
    overflow: hidden;
    position: relative;
    line-height: 1;
    padding: 7px 6px;
    display: inline-flex;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
}
.tag::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--green);
    width: 100%;
    height: 100%;
    opacity: 0.4;
    border-radius: 2px;
}
.tag--1 {
    color: var(--grey);
}
.tag--1::before {
    background-color: var(--grey);
}
.tag--2 {
    color: var(--blue);
}
.tag--2::before {
    background-color: var(--blue);
}
.tag--3 {
    color: var(--green);
}
.tag--3::before {
    background-color: var(--green);
}
.tag--4 {
    color: var(--red);
}
.tag--4::before {
    background-color: var(--red);
}




.text {
    line-height: 1.6;
}
.text p, .text ul, .text ol {
    margin-bottom: 20px;
}
.text p a, .text li a {
    border-bottom: 1px solid;
    margin: 0 !important;
}
.text .button {
    margin-top: 20px;
}
.text .button + .link, .text .link + .link {
    margin-left: 20px;
}
.text .tags {
    margin-top: 10px;
}
.text h1 {
    margin-bottom: 70px;
}
.text h2 {
    margin-bottom: 35px;
}
.text h3 {
    margin-bottom: 20px;
}
.text > *:first-child {
    margin-top: 0;
}
.text > *:last-child {
    margin-bottom: 0;
}



.list {
    width: 100%;
    overflow-x: auto;
    font-size: 16px;
}

.list table {
    border-spacing: 0 8px;
    text-align: left;
    width: 100%;
}

.list__head__column {
    padding: 5px 20px;
    font-size: 12px;
    text-transform: uppercase;
    color: #757575;
}

.list__body__row {
    border-radius: 5px;
    background-color: white;
}
.list__body__row--link {
    position: relative;
    transition: 0.15s;
}
.list__body__row--link:hover {
    background-color: #e3edf2;
}
.list__body__row--link .list__body__row__link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0;
}
.list__body__row__action {
    cursor: pointer;
    z-index: 2;
    position: relative;
    font-size: 16px;
    transition: 0.15s;
    opacity: 0.1;
}
.list__body__row__action:hover {
    opacity: 1;
}

.list__body__column {
    padding: 10px 20px;
    white-space: nowrap;
}

.list .progress, .list a:not(.list__body__row__link) {
    z-index: 1;
    position: relative;
}

@media screen and (max-width: 570px) {

    .list__head__column {
        padding: 0 12px;
    }
    .list__body__column {
        padding: 8px 12px;
        font-size: 15px;
    }

}



.tags {
    list-style: none;
    display: flex;
    align-items: center;
}
.tags__tag {
    margin-right: 5px;
}
.tags__tag:last-child {
    margin-right: 0;
}
.tags__tag .tag {
    display: block;
}




.cards {
    display: flex;
    flex-wrap: wrap;
    margin: -15px;
}

.cards__card {
    width: calc(33.33% - 30px);
    margin: 15px;
}

.card {
    background: white;
    position: relative;
}
.card__link {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
}
.card__content {
    padding: 30px;
}
.card__title {
    margin-bottom: 25px;
}
.card__title::after {
    content: '';
    width: 40px;
    margin-top: 18px;
    height: 1px;
    background: black;
    opacity: 0.3;
    display: block;
}
.card__thumbnail {
    height: 220px;
    width: 100%;
    overflow: hidden;
}
.card__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: 1s;
}

.card__tags {
    display: flex;
    list-style: none;
    justify-content: flex-end;
    position: absolute;
    transform: translateY(-100%);
    background: white;
    padding: 3px;
    right: 0;
    padding-bottom: 0;
    border-top-left-radius: 3px;
}
.card__tag {
    margin-left: 5px;
}

.card:hover .card__thumbnail img {
    transform: scale(1.05);
}




.formation {
    display: flex;
    justify-content: space-between;
    max-height: 60vh;
}

.formation__chapters__index {
    width: 400px;
    min-width: 400px;
}

.chapter-index {
    padding: 15px 0;
    border-top: 1px solid #d8dde1;
    cursor: pointer;
    transition: 0.15s;
}
.chapter-index:last-child {
    border-bottom: 1px solid #d8dde1;
}
.chapter-index__wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.chapter-index__section {
    display: block;
    margin-bottom: 7px;
    font-size: 14px;
    width: 100%;
    padding-left: 34px;
}
.chapter-index__order {
    font-size: 12px;
    background-color: rgba(0,0,0,0.1);
    width: 20px;
    min-width: 20px;
    height: 20px;
    border-radius: 1000px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.chapter-index__duration {
    font-size: 12px;
    margin-top: 10px;
    color: #8e8e8e;
    display: block;
}
.chapter-index__meta {
    width: calc(100% - 34px);
}

.chapter-index__timestamps {
    margin: 12px 0;
    padding-top: 12px;
    margin-left: 42px;
    list-style: none;
    border-left: 1px solid #d9d9d9;
    transition: 0.15s;
}
.chapter-index__timestamps li {
    margin-bottom: 16px;
    padding-left: 20px;
    display: block;
    position: relative;
    font-size: 15px;
    transition: 0.15s;
}
.chapter-index__timestamps li::before {
    content: '';
    width: 15px;
    height: 15px;
    background: #d9d9d9;
    border-radius: 1000px;
    display: block;
    position: absolute;
    left: 0;
    transition: 0.15s;
    top: 2px;
    transform: translateX(-50%);
}
.chapter-index__timestamps li a:hover {
    text-decoration: underline;
}
.chapter-index__timestamps li:last-child {
    margin-bottom: 0;
}

.chapter-index--current .chapter-index__timestamps {
    border-left: 1px solid #bfc7d4;
}
.chapter-index--current .chapter-index__timestamps li::before {
    background: #bfc7d4;
    transform: translateX(-50%) scale(0.8) !important;
}

.chapter-index--current .chapter-index__timestamps .chapter-index__timestamp__current {
    font-weight: 700;
}
.chapter-index--current .chapter-index__timestamps .chapter-index__timestamp__current::before {
    transform: translateX(-50%) scale(1.3) !important;
}

.chapter-index--current {
    background-color: #dbe5f0;
}


.formation__chapters__contents {
    width: 100%;
}
.formation__chapters__contents video {
    display: block;
    background: black;
    width: 100%;
    height: 100%;
}


.chapter-content {
    display: none;
    position: relative;
    height: 100%;
}
.chapter-content--current {
    display: block;
}
/*
.chapter-content__skip {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #cbe0e9b5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 50px;
    color: white;
    cursor: pointer;
}
.chapter-content__skip i {
    width: 120px;
    height: 120px;
    border-radius: 1000px;
    background: #d2d2d2de;
    display: flex;
    align-items: center;
    justify-content: center;
}
*/




.comment {
    padding: 12px;
    background: white;
    border-radius: 10px;
}
.comment__woko {
    border: 2px solid var(--green);
    background: #7cb8030d;
}
.comment__sender {
    display: flex;
    align-items: center;
}
.comment__sender .account__name {
    font-weight: 700;
}
.comment__date {
    font-size: 12px;
    margin-left: 13px;
    color: #999;
    position: relative;
    top: 1px;
}
.comment__message {
    margin: 10px 0;
    margin-left: 52px;
    font-size: 15px;
}



.chatt__comments {
    display: flex;
    flex-direction: column;
}
.chatt__comment {
    width: 48%;
    margin-bottom: 20px;
    max-width: 520px;
}
.chatt__comment:last-child {
    margin-bottom: 0;
}
.chatt__comment__self {
    align-self: end;
}

.chatt__write {
    margin-top: 30px;
    border-top: 1px solid #dce1e3;
    padding-top: 20px;
}
.chatt__write textarea {
    height: 100px;
}
.chatt__write .form__actions {
    margin-top: 20px;
}

@media screen and (max-width: 1070px) {

    .chatt__comment {
        width: 100%;
    }

}
@media screen and (max-width: 860px) {

    .comment__sender {
        display: block;
    }
    .comment__date {
        margin-left: 53px;
        position: static;
        margin-top: -6px;
        display: block;
    }
    .chatt__comment {
        margin-bottom: 10px;
    }

}
@media screen and (max-width: 570px) {

    .comment {
        padding: 10px;
    }
    .comment .account__avatar {
        display: none;
    }
    .comment .account__name {
        font-size: 15px;
    }
    .comment__date {
        margin-left: 0;
        margin-top: 2px;
    }
    .comment__message {
        margin-left: 0;
        font-size: 14px;
    }

}





.attachments {
    display: flex;
    list-style: none;
    flex-wrap: wrap;
    margin: 0 -6px;
    margin-bottom: -12px;
    max-height: 400px;
    overflow-y: auto;
}
.attachment {
    width: calc(calc(100% / 7) - 12px);
    margin: 0 6px;
    border: 1px solid #c6d2d9;
    font-size: 11px;
    color: #919fa8;
    border-radius: 2px;
    margin-bottom: 12px;
    transition: 0.3s;
}
.attachment:hover {
    border-color: #678292;
}
.attachment a {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 5px;
}
.attachment__title {
    font-weight: 700;
    margin-bottom: 3px;
    font-size: 12px;
    display: block;
}
.attachment img {
    display: block;
    width: 100%;
    margin-bottom: 8px;
    height: 100px;
    object-fit: cover;
    object-position: center;
}

@media screen and (max-width: 1320px) {

    .attachment {
        width: calc(calc(100% / 6) - 12px);
    }

}
@media screen and (max-width: 1070px) {

    .attachment {
        width: calc(calc(100% / 5) - 12px);
    }

}
@media screen and (max-width: 860px) {

    .attachment {
        width: calc(calc(100% / 4) - 12px);
    }

}
@media screen and (max-width: 570px) {

    .attachments {
        max-height: 250px;
    }

    .attachment {
        width: 100%;
        margin-bottom: 5px;
    }
    .attachment a {
        align-items: center;
        flex-direction: row;
        padding: 2px;
    }
    .attachment img {
        width: 70px;
        min-width: 70px;
        margin: 0;
        margin-right: 12px;
        height: 50px;
    }

}




.beta > * {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 500;
}
.beta__button {
    border-radius: 20px;
    border-bottom-right-radius: 0;
    padding: 18px;
    font-size: 14px;
    border: 1px solid white !important;
}
.beta__box {
    background: white;
    padding: 20px;
    margin-bottom: 15px;
    width: 100%;
    max-width: 400px;
    text-align: left;
    box-shadow: 0 0 12px 0 rgba(82, 83, 83, 0.02);
    opacity: 0;
    transition: 0.3s;
    transform: scale(0.9);
    transform-origin: right bottom;
    bottom: 65px;
    pointer-events: none;
}

.beta__bg {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #3f444a;
    transition: 1s;
    opacity: 0;
    pointer-events: none;
}
.beta--displayed .beta__box {
    opacity: 1;
    transform: none;
    pointer-events: unset;
}
.beta--displayed .beta__bg {
    pointer-events: unset;
    opacity: 0.3;
}

.beta .cross {
    display: none;
}

@media screen and (max-width: 860px) {

    .beta__button {
        padding: 14px;
        bottom: 8px;
        right: 8px;
    }
    .beta__box {
        margin-bottom: 8px;
        max-width: calc(100% - 15px);
        bottom: 55px;
        right: 8px;
    }

    .beta__box > p {
        padding-right: 25px;
    }

    .beta .cross {
        position: absolute;
        right: 5px;
        top: 5px;
        display: block;
    }

}



.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    pointer-events: none;
}
.popup__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #3f444a;
    transition: 1s;
    opacity: 0;
}
.popup__window {
    z-index: 1;
    width: 100%;
    position: relative;
    box-shadow: 0 0 6px 3px rgba(0,0,0,0.06);
    background-color: white;
    max-width: 720px;
    opacity: 0;
    transition: 0.15s;
    transform: scale(0.9);
}
.popup__window__content {
    padding: 60px;
    max-height: min(calc(100vh - 30px), 600px);
    overflow-y: auto;
    padding-right: 130px;
}
.popup__window__close {
    position: absolute;
    top: 20px;
    right: 20px;
}

.popup--floor {
    padding: 0;
    align-items: flex-end;
}
.popup--floor .popup__window {
    max-width: none;
    transform: none;
}
.popup--floor .popup__window__content {
    padding: 0;
    max-height: 100vh;
}

.popup--opened {
    pointer-events: unset;
}
.popup--opened .popup__bg {
    opacity: 0.7;
}
.popup--opened .popup__window  {
    opacity: 1;
    transform: none;
}



.check {
    display: flex;
}
.check + .check {
    margin-top: 15px;
}
.check__icon {
    margin-right: 15px;
    font-size: 23px;
    color: var(--green);
}