/*
start here
HEADER
*/

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100;300;400;700;800&display=swap');
span.hvr-icon {
    display: inline-block;
}



@keyframes growDown {
    0% {
        transform: scaleY(0);
    }
    100% {
        transform: scaleY(1);
    }
}

@keyframes growDownR {
    0% {
        transform: scaleY(1);
    }
    100% {
        transform: scaleY(0);
    }
}

html body .headerMenu .FAQDropdown a {
    white-space: nowrap!important;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 28vw;
}

.testimonios {
    cursor: pointer;
}

.FAQ a{
    white-space: wrap!important;
    width: fit-content;
}

.blogDropdown a, .dropdown a, .testimoniosDropdown a   {
    white-space: nowrap;
}


.headerLoader {
    width: 26%;
    margin: 2% auto;
}


.headerLoader img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}



.headerImage {
    width: 5.6%;
}

li:has(.testimoniosChevron) a {
    position: relative;
}
li:has(.testimoniosChevron) .phoneChevron {
    margin-top:-3px
}
html body .flexDivHeader .headerImage img {
    width: 100%!important;
    height: 100%!important;
    object-fit: contain;
}

.FAQLoader img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.FAQLoader {
    width: 14%;
    margin: 0 auto;
}


.headerContact{
    position: relative;
}
.mobileMenu {
    max-width: 80dvw;
}

.activeSvg{
    transform:translateX(150%) rotate(-90deg)!important;
}
.phoneDropdown a {
    color: #05588B;
}


.FAQDropdown {
    width: 30vw!important;
}



.phoneChevron {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 0;
    right: 0;
    transform: translateX(150%);
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='20' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 8l8 8 8-8' stroke='%2305588B' stroke-width='2' fill='none' /%3E%3C/svg%3E%0A");
    background-size: contain;
    transition: all 0.25s ease-in-out;
    background-repeat: no-repeat;
}
.mobileMenu li:has(.headerContact) {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.phoneDropdown {
    display: flex;
    transition: all 0.25s ease-in-out;
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: center;
    height:auto;
    max-height: 0;
    overflow: hidden;
}
.dropdown, .blogDropdown,.testimoniosDropdown, .FAQDropdown {
    position: absolute;
    display: none;
    flex-direction: column;
    text-wrap: nowrap;
    width: fit-content;
    padding: 1em;
    background-color: #05588C;
    top: 100%;
    left: 0;
    gap: 1em;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}
.coursesLoader {
    width: 12%;
    margin: 0 auto;
}

.equipoHeader a {
    width: fit-content;
}

.testimonios:hover .testimoniosDropdown, .FAQ:hover .FAQDropdown{
    display:flex;
}

.blog:hover .blogDropdown{
    display:flex;
}
.cursos:hover .dropdown{
    display:flex;
}
.equipoHeader:hover .dropdown{
    display:flex;
}
html body .dropdown a, html body .dropdown p, html body .blogDropdown a, html body .blogDropdown p, html body .testimoniosDropdown p , html body .testimoniosDropdown a, html body .FAQDropdown a  {
    text-decoration: none!important;
    color: white!important;
    font-family: 'Outfit';
    font-weight: 400;
    margin: 0;
    cursor: pointer;
}
.cursos, .blog, .testimonios, .equipoHeader, .FAQ{
    position:relative
}


.curso {
    align-items: center;
}

.curso h3 {
    width: max-content;
}

.growDown {
    animation: growDown 300ms ease-in-out forwards;
    transform-origin: top center;
}

.growDownR {
    animation: growDownR 300ms ease-in-out forwards;
    transform-origin: top center;
}

.flexDivHeader {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    margin-top: 1%;
    margin-bottom: 1%;
    padding-left: 2%;
    
}


.headerMenu {
    display: flex;
    align-self: center;
    gap: 4em;
    margin-left: 19%;
}

.hvr-icon {
    transition: all 0.25s ease-in-out;
}

a.bigAnchor {
    margin-left: 2.5em;
    margin-right: 2.5em;
    transition: all 0.25s ease-in-out;
    white-space: nowrap;
}
.headerMenu a {
    white-space: nowrap;
}

.anchors {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

a.anchor {
    transform: scale(1.1);
}

.headerMenu>a,
.bigAnchor,
.dropdown a:before,
.blogDropdown a:before,
.testimoniosDropdown a:before,
.FAQDropdown a:before  {
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden;
}

.dropdown a, .blogDropdown a, .testimoniosDropdown a, .FAQDropdown a{
    position: relative;
}

.cursos a, .blog a, .testimonios a{
    width: fit-content;
}

.headerMenu>a:before,
.bigAnchor:before,
.dropdown a:before,
.blogDropdown a:before,
.testimoniosDropdown a:before,
.FAQDropdown a:before{
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 100%;
    bottom: 0;
    background: black;
    height: 2px;
    -webkit-transition-property: right;
    transition-property: right;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

html .dropdown a:before,
html .blogDropdown a:before,
.testimoniosDropdown a:before,
html .FAQDropdown a:before{
    z-index: 0;
    background: white;
}

.bigAnchor:before {
    background: #05588c!important;
}

.headerMenu>a:hover:before,
.bigAnchor:hover:before,
.headerMenu>a:focus:before,
.bigAnchor:focus:before,
.headerMenu>a:active:before,
.bigAnchor:active:before,
.dropdown a:hover:before,
.blogDropdown a:hover:before,
.testimoniosDropdown a:hover:before,
.FAQDropdown a:hover:before{
    right: 0;
}

.socialMediaHeader a {
    transition: all 0.25s ease-in-out!important;
}

.socialMediaHeader a:hover {
    filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.4));
}

.socialMediaHeader {
    display: flex;
    align-self: center;
}


.headerImage {
    text-align: center;
    margin-top: 1%;
}

.socialMediaHeader img {
    width: 51%;
}
.headerMenu a, .cursos, .equipoHeader {
    overflow: visible;
    height: fit-content;
}


.headerMenu a {
    text-decoration: none!important;
    color: black!important;
    font-family: 'Outfit';
    font-weight: 400;
}

.socialMediaHeader a.facebook {
    justify-content: center;
}

.socialMediaHeader a {
    display: flex;
}

a.bigAnchor {
    width: fit-content;
    min-width: fit-content;
}

a.anchor,
a.bigAnchor {
    color: #05588c!important;
}

a.anchor {
    cursor: default;
}

.headerMenuPhone {
    display: none;
}

body,
html {
    overflow-x: hidden;
}

@media only screen and (min-width:1100px) and (max-width:1600px) {

    article#post-6 .curso {
        width: 35dvw!important;
    }
    html body .headerMenu {
        margin-left: auto;
    }
    .headerMenu {
        gap: 2em;
    }
}

@media only screen and (min-width:700px) and (max-width:1100px) {
    
    .headerImage {
        width: 12%!important;
    }
}

@media only screen and (min-width:200px) and (max-width:1100px) {

    .FAQChevron {
        top: -2px;
    }
    .mobileMenu.growDown li a {
        position: relative;
    }
    html body header.johannes-header.johannes-header-main.d-none.d-lg-block {
        display: block!important;
    }
    .displayNone {
        display: none!important;
    }
    .loader {
        margin: unset!important;
    }
    .mobileMenu::after {
        content: "";
        position: absolute;
        border-width: 5px;
        border-style: solid;
        border-color: transparent transparent #05588C transparent;
        width: 0;
        top: 0;
        left: 100%;
        transform: translate(-200%, -110%);
    }
    .mobileMenu::after {
        content: "";
        position: absolute;
    }
    .mobileMenu ul a {
        border-bottom: 1px solid rgba(189, 195, 199, 0.5);
    }
    .mobileMenu ul li {
        margin-bottom: 0.3em;       
        text-align: center;
    }
    .mobileMenu a {
        font-family: 'Outfit';
        text-decoration: none;
        font-size: 1.2em;
    }
    .FAQDropdownPhone a{
        font-size:1em!important;
    }
    .mobileMenu {
        position: absolute;
        z-index: 10;
        background-color: white;
        width: max-content;
        border-top: 2px solid #05588C;
        transition: all 0.4s ease-in-out;
        padding-left: 20%;
        padding-right: 20%;
        top: 72%;
        right: 23%;
    }
    .mobileMenu ul {
        padding: 0;
        margin: 0;
        transform: scale(0.85);
        flex-direction: column;
    }
     ::marker {
        content: "";
    }
    .flexDivHeader {
        justify-content: space-between!important;
        align-items: center;
        padding-left: 5%;
    }
    button.menu {
        background-color: transparent;
        border: none;
        transform: scale(0.4);
        margin-left: 12%;
    }
    .line {
        fill: none;
        stroke: black;
        stroke-width: 6;
        transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1), stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
    }
    .line1 {
        stroke-dasharray: 60 207;
        stroke-width: 6;
    }
    .line2 {
        stroke-dasharray: 60 60;
        stroke-width: 6;
    }
    .line3 {
        stroke-dasharray: 60 207;
        stroke-width: 6;
    }
    .opened .line1 {
        stroke-dasharray: 90 207;
        stroke-dashoffset: -134;
        stroke-width: 6;
    }
    .opened .line2 {
        stroke-dasharray: 1 60;
        stroke-dashoffset: -30;
        stroke-width: 6;
    }
    .opened .line3 {
        stroke-dasharray: 90 207;
        stroke-dashoffset: -134;
        stroke-width: 6;
    }
    .headerMenu,
    .socialMediaHeader {
        display: none;
    }
    .headerMenuPhone {
        display: flex!important;
        position: relative;
    }
    .flexDivHeader {
        justify-content: space-between!important;
    }

    .headerImage {
        width: 29%;
    }
}


/*
END HEADER
*/


