/* Fonts Open Sans */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(../fonts/opensans-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin */
@font-face {
    font-family: 'Muli';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../fonts/muli-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* General */
html {
    font-size: 62.5%;
    background: none;
    font-family: "Open Sans", sans-serif;
}

* {
    margin: 0;
    scroll-behavior: smooth;
}

body {
    background-color: #F6F6F6;
    overflow-x: hidden;
    position: relative;
    height: 100%;
    width: 100%;
}

img.fill {
    width: 100% !important;
}

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

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 2.5rem;
}

h1,
h2,
h3 {
    font-weight: 700;
    color: #232f2a;
}

p {
    font-size: 1.7rem;
    color: #40564b;
    line-height: 1.5;
}

.opacity-block {
    opacity: 1 !important;
    pointer-events: all !important;
}

/* Buttons */
.button {
    display: inline-block;
    text-decoration: none;
    border: none;
    border-radius: 10px;
    font-weight: 500;
    transition: .2s;
    cursor: pointer;
}

.button.fill {
    width: 100%;
}

.button.medium {
    font-size: 1.6rem;
}

.button.large {
    font-size: 2.5rem;
    font-weight: 600;
}

.button.solid-green {
    background-color: #159e69;
    color: white;
}

.button.dark-green {
    background-color: #eef3f0;
    color: #232f2a;
}

.button.solid-light-green {
    background-color: #15999e;
    color: white;
}

.button.solid-blue {
    background-color: #15549e;
    color: white;
}

.button.solid-red {
    background-color: #9e1515;
    color: white;
}

.button.solid-yellow {
    background-color: #ffc107;
    color: #272727;
}

.button.button.dark-green:hover {
    background-color: #e3eee8;
}

.button.solid-green:hover {
    background-color: #0ebd7a;
}

.button.scale:hover {
    transform: scale(1.05);
}

.button.scale:active {
    transform: none;
}

/* Form */
.form__group {
    position: relative;
    padding: 15px 0 0;
}

.form__field {
    font-family: inherit;
    width: 100%;
    border: 0;
    border-bottom: 2px solid white;
    outline: 0;
    font-size: 1.5rem;
    color: white;
    padding: 7px 0;
    background: transparent;
    transition: border-color 0.2s;
}

.form__field::placeholder {
    color: transparent;
}

.form__field:placeholder-shown~.form__label {
    font-size: 1.8rem;
    cursor: text;
    top: 20px;
}

.form__label {
    position: absolute;
    top: 0;
    display: block;
    transition: 0.2s;
    font-size: 1.5rem;
    color: white;
}

.form__field:focus {
    padding-bottom: 6px;
    font-weight: 700;
    border-width: 3px;
    border-image: linear-gradient(to right, white, #0ebd7a);
    border-image-slice: 1;
}

.form__field:focus~.form__label {
    position: absolute;
    top: 0;
    display: block;
    transition: 0.2s;
    font-size: 1.5rem;
    color: white;
    font-weight: 700;
}

.form__field:required,
.form__field:invalid {
    box-shadow: none;
}

/* Video popup */
#video-popup-container {
    display: flex;
    position: fixed;
    z-index: 15;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .2);
    opacity: 0;
    pointer-events: none;
    transition: .3s;
}

#video-popup {
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, .2);
    display: flex;
    justify-content: center;
    align-items: center;
}

#video-popup iframe {
    width: 100%;
    height: 60vh;
    max-width: 800px;
}

/* NAV BAR */
#navbar {
    position: fixed;
    width: 100%;
    background-color: white;
    z-index: 10;
    transition: .3s;
    height: 6.5rem;
    flex-wrap: nowrap;
    align-items: center;
    margin: 0;
}

#navbar-content {
    display: flex;
    align-items: center;
}

#navbar.transparent {
    background-color: transparent;
}

#navbar.transparent img {
    filter: contrast(0) brightness(100);
}

#navbar img {
    height: 6.5rem;
    filter: none;
    transition: height .3s;
}

#navbar.expanded,
#navbar.expanded img {
    height: 9rem;
}

#navbar ul {
    display: flex;
    list-style: none;
    user-select: none;
}

#navbar.transparent ul {
    pointer-events: none;
}

#navbar a,
#navbar li.multilevel,
#mobile-menu a {
    font-weight: 600;
    text-decoration: none;
    font-size: 1.8rem;
    color: #232f2a;
}

#navbar.transparent a,
#navbar.transparent li {
    color: transparent !important;
}

#navbar li.active,
#navbar a.active,
#mobile-menu a.active {
    color: #159e69;
}

#navbar li:hover,
#navbar a:hover,
#mobile-menu a:hover {
    color: #159e69;
    filter: color brightness(80%);
}

#navbar li.multilevel ul {
    position: absolute;
    left: 0;
    display: flex;
    flex-direction: column;
    background-color: white;
    border-radius: 20px;
    opacity: 0;
    pointer-events: none;
    transition: .3s;
}

#navbar li.multilevel:hover ul {
    opacity: 1;
    pointer-events: all;
}

#navbar li.multilevel span {
    cursor: pointer;
}

#navbar li.multilevel {
    position: relative;
    user-select: none;
}

#navbar li.multilevel a {
    display: block;
}

#navbar.sticky {
    position: sticky;
    top: 0px;
}

#navbar a.register {
    padding: 15px;
    border-radius: 15px;
    color: white;
    transition: .3s;
}

#navbar:not(.transparent) a.register {
    background-color: #0ebd7a;
}

#navbar a:hover {
    filter: brightness(1.1);
}

#navbar a:active {
    filter: none;
}

/* NAVBAR HAM */
#hamburger {
    display: inline-block;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
}

#hamburger .bar1,
#hamburger .bar2,
#hamburger .bar3 {
    width: 35px;
    height: 5px;
    background-color: #333;
    margin: 6px 0;
    transition: 0.4s;
}

#hamburger.active .bar1 {
    transform: translate(0, 11px) rotate(-45deg);
}

#hamburger.active .bar2 {
    opacity: 0;
}

#hamburger.active .bar3 {
    transform: translate(0, -11px) rotate(45deg);
}

/* Mobile menu */
#mobile-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    height: 100vh;
    background-color: white;
    position: fixed;
    left: 0px;
    top: 0px;
    z-index: 1;

    opacity: 0;
    pointer-events: none;
    transition: .4s;
}

#mobile-menu.active {
    opacity: 1;
    pointer-events: all;
}

#mobile-menu a {
    font-size: 2.5rem;
}

/* Whatsapp */
#whatsapp {
    position: fixed;
    right: 0;
    bottom: 0;
    background-color: #128c7e;
    /* #48c857 */
    border-radius: 30px;
    font-size: 1.8rem;
    font-weight: 700;
    align-items: center;
    display: flex;
    justify-content: center;
    text-decoration: none;
    color: white;
    transition: .3s;
    opacity: 0;
    pointer-events: none;
    z-index: 10;
}

#whatsapp:hover {
    background-color: #159e69;
    transform: scale(1.05);
}

#whatsapp img {
    width: 4rem;
}

/* :::MAIN PAGE::: */
/* Hero */
#hero,
#hero img {
    height: 100vh;
    background-color: white;
    width: 100%;
    overflow: hidden;
}

#hero img {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    object-fit: cover;
}

#hero-image-container {
    position: relative;
}

#hero-content {
    position: relative;
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#hero-content .hero-title {
    display: flex;
    align-items: center;
    justify-content: center;
}

#hero-content .arrow-container {
    cursor: pointer;
}

#hero-content .arrow-container div {
    border: solid white;
    border-width: 0 5px 5px 0;
    display: inline-block;
    padding: 6px;
    opacity: .5;
    transition: .2s;
}

#hero-content .arrow-container:hover div {
    opacity: 1;
}

#hero-content .arrow-container div.right {
    transform: rotate(-45deg);
}

#hero-content .arrow-container div.left {
    transform: rotate(135deg);
}

#hero-content h1 {
    opacity: 0;
    /* color: #159e69; */
    /* color: #136847; */
    color: white;
}

#hero-content {
    height: 100%;
    width: 100%;
}


#hero-block-container {
    position: absolute;
    height: 100vh;
}

#hero-block {
    position: absolute;
    top: 0px;
    height: 100vh;
    width: 100%;
    /* background-color: #272727; */
    /* background-color: #1c251e; */
    background-color: #232f2a;
    /* background-color: #F6F6F6; */
    /* background-color: #e9f7eb; */
    opacity: .5;
}

#english-hero,
#professional-hero {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -30%);
    width: 100%;
    opacity: 0;
    pointer-events: none;
    transition: .3s;
}

.glow-reveal {
    animation: glow 3s alternate .5s infinite, reveal normal cubic-bezier(0.77, 0, 0.175, 1) 0.5s forwards;
}

.reveal {
    animation: reveal normal cubic-bezier(0.77, 0, 0.175, 1) .5s forwards;
}

#hero-content button {
    color: #e5fff5;
}

#hero-content p {
    font-family: 'Muli';
    color: white;
}

#hero-overlay {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 20rem;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.6) 100%);
}

/* FAQ */
.tab {
    position: relative;
}

.tab input {
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}

.tab-content {
    /* max-height: 0; */
    overflow: hidden;
    max-height: 0px;
    transition: all 0.35s;
}

.tab input:focus:checked~.tab-content {
    max-height: 1000px;
}

.tab-label {
    display: flex;
    color: white;
    background: #128c7e;
    font-size: 1.6rem;
    border-radius: 10px;
}

.tab-label {
    justify-content: space-between;
    padding: 1rem;
}

.tab-label::after {
    content: "\276F";
    width: 1em;
    height: 1em;
    text-align: center;
    transform: rotate(90deg);
    transition: all 0.35s;
}

.tab input:focus:checked+.tab-label::after {
    transform: rotate(270deg) translateY(-7px);
}

.tab-content p {
    margin: 0;
    padding: 1rem;
    font-size: 1.8rem;
}

/* Arrow animation */
.tab input:not(:checked)+.tab-label:hover::after {
    animation: bounce .5s infinite;
}

@keyframes bounce {
    25% {
        transform: rotate(90deg) translate(.25rem);
    }

    75% {
        transform: rotate(90deg) translate(-.25rem);
    }
}

/* Courses */
#courses {
    background-color: white;
}

#courses img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* #courses p {
    font-size: 1.8rem;
} */

.course {
    background: white;
    border-radius: 10px;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
    display: inline-block;
    overflow: hidden;
    text-decoration: none;
    height: 100%;
}

.course h2 {
    letter-spacing: 1px;
    margin: 10px 0px;
}

.course h6 {
    font-size: 1.2rem;
    letter-spacing: 1px;
    opacity: .8;
    text-transform: uppercase;
    margin: 0px;
}

.course-info h2 {
    font-size: 2.4rem;
    font-weight: 600;
    color: white;
}

.course-info button {
    opacity: .8;
    color: white;
    background-color: transparent;
    font-size: 12px;
    border: none;
    padding: 0px;
    pointer-events: none;
}

.course-info {
    color: white;
    padding: 30px;
}

.course-pricing h6 {
    color: #232f2a;
}

.course-pricing button {
    color: white;
}

/* Reviews */
.review {
    opacity: 0;
    pointer-events: none;
    transition: .3s;
}

#reviews {
    background-color: #ebf1ec;
}

.reviews-images img {
    width: 100%;
    object-fit: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px;
    border: 4px solid transparent;
    filter: grayscale(.5);
    transition: .2s;
    height: 30em;
}

.reviews-images a * {
    pointer-events: none;
}

.reviews-images a {
    text-decoration: none;
    cursor: pointer;
    position: relative;
}

.reviews-images a::before {
    content: " ";
    position: absolute;
    width: 0;
    height: 0;
    border-top: 25px solid transparent;
    border-left: 30px solid #159e69;
    border-bottom: 25px solid transparent;
    top: 40%;
    left: 52%;
    transform: translate(-50%, -50%);
    transition: .4s;
}

.reviews-images b {
    font-size: 2rem;
    font-weight: 600;
    color: #232f2a;
}

.reviews-images p {
    font-size: 1.7rem;
    font-weight: 500;
    color: #40564b;
}

.reviews-images a.active img {
    filter: none;
    border: 4px solid #0ebd7a;
}

.reviews-content {
    position: relative;
    max-width: 800px;
}

.reviews-content div {
    position: absolute;
    left: 0px;
    top: 0px;
}

.reviews-content p {
    font-weight: 600;
    color: #272727;
}

#reviews .arrow {
    border-radius: 10px;
    outline: none;
    border: 2px solid #159e69;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 17px;
    padding-bottom: 17px;
    cursor: pointer;
    transition: .2s;
}

#reviews .arrow::before {
    content: " ";
    border: solid #159e69;
    border-width: 0px 3px 3px 0px;
    display: inline-block;
    padding: 6px;
}

#reviews .arrow.left {
    padding-left: 21px;
}

#reviews .arrow.right {
    padding-right: 21px;
}

#reviews .arrow:hover {
    transform: scale(1.05);
}

#reviews .arrow:active {
    transform: scale(0.98);
}

#reviews .arrow.right::before {
    transform: rotate(-45deg);
}

#reviews .arrow.left::before {
    transform: rotate(135deg);
}

/* #reviews p {
    font-size: 1.8rem;
} */

/* :::ENGLISH PAGE::: */
/* english-modules */

#english-modules::before {
    content: " ";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 20rem;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.8) 100%);
}

#english-modules img {
    object-fit: cover;
}

#english-modules img {
    width: 100%;
}

#english-modules {
    position: relative;
    background-image: url(../images/english-modules.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100vh;
    transition: .3s;
    z-index: 0;
    overflow: hidden;
}

#english-modules-content {
    position: absolute;
    height: 45em;
    background-color: rgba(255, 255, 255, .7);
    width: 100%;
    right: 0;
    bottom: 9rem;
    overflow-x: hidden;
}

#english-modules-content h1 {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 2.25rem;
}

#english-modules-content .ribbon {
    height: 1.3rem;
    background-color: #159e69;
    border-radius: 10px;
    margin-left: -6rem;
    margin-right: 15rem;
}

#english-modules-content p {
    line-height: 1.8;
    font-size: 1.8rem;
}

[id^="english-module-"] {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    max-width: 430px;
}

/* Galery */
#galery {
    flex-wrap: nowrap;
    animation: scroll-horizontally 30s linear infinite;
    /* Apply the animation */
}

#galery img {
    width: 100%;
    height: 100%;
    max-height: 30em;
    border-radius: 20px;
    object-fit: cover;
    transition: .2s;
    filter: grayscale(20%);
}

#galery [class^="col"]:nth-child(odd) img {
    transform: rotate(2deg);
}

#galery [class^="col"]:nth-child(odd):hover img {
    transform: rotate(-2deg) scale(1.15);
    filter: none;
}

#galery [class^="col"]:nth-child(even) img {
    transform: rotate(-2deg);
}

#galery [class^="col"]:nth-child(even):hover img {
    transform: rotate(2deg) scale(1.15);
    filter: none;
}

@keyframes scroll-horizontally {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-150%);
        /* Multiply each col by 25. 150% means theres 6 */
    }
}

/* LEARN FREE */
#learn-free {
    background-color: white;
}

.youtube-img {
    position: relative;
    filter: grayscale(25%);
    transition: .3s;
}

.youtube-img:hover {
    filter: none;
}

.youtube-img img {
    cursor: pointer;
    border-radius: 20px;
    width: 100%;
    object-fit: cover;
}

.max-width-1000 {
    max-width: 1000px !important;
}

.youtube-img img {
    width: 100%;
    display: block;
}

/* player */
.youtube-img::before {
    content: " ";
    position: absolute;
    width: 0;
    height: 0;
    border-top: 25px solid transparent;
    border-left: 30px solid #159e69;
    border-bottom: 25px solid transparent;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: .4s;
}

.youtube-img:hover::before {
    transform: translate(-50%, -50%) scale(1.3);
}

.learn-free-card {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 1.5rem;
    background-color: rgba(54, 139, 133, .2);
    border-radius: 10px;
    text-decoration: none;
    color: black;
    position: relative;
}

.learn-free-card .number {
    font-weight: 700;
    font-size: 3rem;
}

.learn-free-card .circle {
    position: absolute;
    top: -1rem;
    right: -1rem;
    width: 3rem;
    height: 3rem;
    background-color: #159e69;
    border-radius: 20px;
}

#grid-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* MODULES DESCRIPTION */
#modules-description .card {
    border-radius: 20px;
    border: 1px solid #e3eee8;
    overflow: hidden;
    /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
    background-color: white;
}


#modules-description .card .header.green {
    background-color: #159e69
}

#modules-description .card .header.light-blue {
    background-color: #15999e;
}

#modules-description .card .header.blue {
    background-color: #15549e;
}

#modules-description .card .header.red {
    background-color: #9e1515;
}

#modules-description .card .header p {
    font-size: 1.6rem;
    color: #e3eee8;
    text-align: center;
}

#modules-description .card .header h2 {
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    color: #e5fff5;
}

#modules-description .card h3 {
    font-size: 1.7rem;
}

#modules-description .card ul {
    list-style-type: none;
    padding: 0;
}

#modules-description .card .speaking-features h3 {
    font-size: 1.6rem;
    font-weight: 600;
    color: #232f2a;
}

#modules-description .card ul li {
    margin-bottom: 10px;
    font-size: 1.5rem;
    color: #40564b;
}

#modules-description .card ul li:before {
    content: "";
    display: inline-block;
    transform: rotate(45deg);
    height: 13px;
    width: 6px;
    border-bottom: 3px solid #159e69;
    border-right: 3px solid #159e69;
    margin-right: 10px;
}

#modules-description .card ul li i {
    margin-right: 10px;
    color: #128c7e;
}

/* FOOTER */
#footer h2 {
    font-size: 2rem;
}

#footer p {
    font-size: 1.7rem;
}

#footer a {
    display: inline-block;
    font-size: 1.7rem;
    color: #232f2a;
    text-decoration: none;
    font-weight: 500;
    transition: .3s;
}

#footer a:hover {
    color: #159e69;
}

/* RESPONSIVNESS */
@media (min-width:576px) {
    #english-modules-content {
        width: 45em;
        height: 40em;
        background-color: white;
        bottom: -20px;
        border-top-left-radius: 20px;
        overflow-x: initial;
    }

    #english-modules-content h1 {
        font-size: 2.25rem;
    }

    #hero-block {
        opacity: 1;
        left: -25%;
        width: 160%;
        transform: skew(5deg);
    }

    #hero-content {
        margin-left: -17%;
    }

    #hero-block-container {
        position: relative;
    }

}

@media (min-width:778px) {
    h1 {
        font-size: 4rem;
    }

    h2 {
        font-size: 3rem;
    }

    h1,
    h2,
    h3 {
        font-weight: 700;
        color: #232f2a;
    }

    p {
        font-size: 2rem;
        color: #40564b;
        line-height: 1.5;
    }

    #hero-block {
        left: -25%;
        width: 160%;
    }
}

@media (min-width:992px) {
    #english-modules-content {
        width: 50em;
    }
}

@media (min-width:1366px) {
    #hero-block {
        left: -23%;
        width: 148%;
        transform: skew(10deg);
    }
}

/* TEXT ANIMATIONS */
@keyframes reveal {
    0% {
        opacity: 0;
        transform: translate(0, 100%);
    }

    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}

@keyframes glow {
    100% {
        text-shadow: 0 0 5px #0ebd7a;
    }
}