/* variales */
:root {
    --color-primary: #fbaf3c;
    --color-secondary: #000;
    --paragraph-small: 1.8rem;
    --paragraph-big: 2.35rem;
    --paragraph-huge: 3.1rem;
    --heading-1: 7.2rem;
    --heading-2: 4rem;
    --heading-3: 2.55rem;
    --margin-small: 1.6rem;
    --margin-medium: 2.6rem;
    --margin-large: 5rem;
    --padding-section: 11rem;
    --section-margin-bottom: 35rem;
}
/* fonts import */
@import url('https://fonts.googleapis.com/css2?family=Montserrat+Alternates:wght@900&display=swap');

/* css boilerplate */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: inherit;
    font-family: inherit;
}

*::selection {
    background-color: var(--color-secondary);
    color: var(--color-primary);
}

html {
    font-size: 62.5%;
}

body {
    box-sizing: border-box;
    font-family: 'Montserrat Alternates', sans-serif;
    line-height: 1.6;
}
/* end of css boilerplate */
/* start of header */
header { 
    width: 100%;
    height: auto;
    position: fixed;
    padding: 4rem 6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color .5s ease;
    z-index: 1000;
}

.header__logo {
    /* header logo */
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 5%;
}
.header__logo a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: white;
}
.header__img {
    width: 10rem;
}
.header__heading {
    font-size: 2rem;
}

.navbar {
    display: block;
}
.navbar__list {
    /* header navigation list */
    display: flex;
    gap: 8rem;
    list-style-type: none;
}
.navbar__list a {
    text-decoration: none;
}
.navbar__item {
    color: white;
    font-size: 2rem;
    text-transform: uppercase;
    position: relative;
}
.navbar__item:hover {
    cursor: pointer;
}
.navbar__item::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 10%;
    width: 10%;
    background-color: white;
    transform: scaleX(0);
    transition: transform .1s,
                width .2s cubic-bezier( 1, 0, 0, 1 ) .1s;
    z-index: 1500;
}
.navbar__item:hover::after {
    transform: scaleX(1);
    width: 100%;
}
.navbar__dropdown {
    /* dropdown for header navbar */
    width: 20rem;
    position: absolute;
    background-color: rgb(29, 29, 29);
    display: none;
    list-style: none;
    transform-origin: top;
}
@keyframes aniDropdown {
    0% {
        transform: scaleY(0);
    }
    100% {
        transform: scaleY(1);
    }
}
.navbar__dropdown--main {
    left: -30%;
}
.navbar__dropdown--dessert {
    left: -55%;
}
.navbar__item--main:hover .navbar__dropdown--main, 
.navbar__item--dessert:hover .navbar__dropdown--dessert {
    display: block;
    background-color: black;
    animation: aniDropdown .1s;
}
.navbar__dropdown li {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3rem 0;
    color: white;
    transition: background-color .1s, color .1s;
}
.navbar__dropdown li:hover {
    background-color: white;
    color: rgb(29, 29, 29);
}

.header__signUp {
    /* header sign up container */
    position: absolute;
    right: 5%;
}
.header__button {
    /* header sign up button */
    background-color: var(--color-primary);
    font-size: 2rem;
    padding: 1rem 2rem;
    border-radius: 2rem;
    border: none;
    transition: background-color .2s ease-in-out, transform .2s ease-in-out;
}
.header__button:hover {
    transform: scale(1.05);
    cursor: pointer;
}
/* end of header */
/* start of main */

.landing-page__hero {
    /* start of hero section */
    width: 100%;
    height: 100vh;
    background-image: url(/svg/blob-scene-haikei.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: var(--section-margin-bottom);
}
.hero {
    width: 85%;
    height: auto;
    color: white;
    padding-right: 35%;
}
.hero > * {
    margin-top: var(--margin-small);
    margin-bottom: var(--margin-small);    
}
.hero__paragraph {
    font-size: var(--paragraph-big);  

}
.hero__paragraph--1 {
    color: #FBAE3C;
    text-transform: uppercase;
}
.hero__heading {
    color: white;
    font-size: var(--heading-1);
    font-weight: 900;
    font-family: 'Montserrat Alternates', sans-serif;
    line-height: 1;

}
.hero__button {
    display: inline-block;
    padding: 2rem 4rem;
    background-color: white;
    font-size: var(--paragraph-big);
    font-weight: 900;
    text-decoration: none;
    color: black;
    border-radius: 1rem;
    transition: background-color .1s, translate .1s;
}
.hero__button:hover {
    background-color: var(--color-primary);
    translate: 0 -.5rem;
}
.hero__icon-container {
    display: flex;
    gap: 1rem;
}
.hero__icon--one img {
    height: 5.5rem;
}
.hero__icon--two {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.hero__icon--two > div {
    display: flex;
}
.hero__icon--two > div > img {
    width: 2rem;
}
.hero__icon--two > div:last-child {
    font-size: var(--paragraph-small);
    /* end of hero section */
}

.spacer-container {
    width: 100%;
    height: 30rem;
    position: absolute;
    bottom: -30rem;
}
.spacer {
    width: 100%;
    height: unset;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
}
.spacer--one {
    background-image: url(/svg/index/spacer-hero.svg);
    height: 20rem;
    top: -30%;
}
.spacer--two {
    background-image: url(/svg/index/spacer-hero-two.svg);
    height: 20rem;
    bottom: 10%;
}

.product {
    /* start of product section */
    width: 100%;
    height: 140vh;
    position: relative;
    padding: 0 20rem;
}
.product__header {
    border-left: 1rem solid var(--color-primary);
    padding: 1rem 3rem;
    margin-bottom: var(--margin-large);

}
.product__header h1 {
    font-weight: 400;
    line-height: 1;
    margin-bottom: var(--margin-small);
    font-size: var(--heading-1);
}
.product__header p {
    font-size: var(--paragraph-huge);
}
.product__options {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--margin-large);
}
.product__option--1,
.product__option--2 {
    width: 48%;
    height: auto;
    border: 2px solid black;
    box-shadow: 1rem 1rem var(--color-primary);
    display: flex;
    flex-direction: column;
    padding: 3rem 15rem 6.35rem 3rem;
    position: relative;
    overflow: hidden;
    transition: box-shadow 1s, transform 1s;
    position: relative;
}
.product__heading-2 {
    font-size: var(--heading-2);
    font-weight: 200;
    margin-bottom: var(--margin-small);
}
.product__paragraph {
    font-size: var(--paragraph-small);
    margin-bottom: var(--margin-small);
}
.product__list {
    list-style: none;
    font-size: var(--paragraph-small);
    line-height: 1.6;
    margin-bottom: var(--paragraph-small);
}
.product__item {
    display: flex;
    gap: 1rem;
    font-size: var(--paragraph-small);
}
.product__item img {
    width: 3.2rem;
    filter: invert(72%) sepia(48%) saturate(612%) hue-rotate(82deg) brightness(92%) contrast(80%);
}
.product__item--1:nth-child(3) img,
.product__item--1:nth-child(4) img,
.product__item--1:nth-child(5) img {
    filter: invert(39%) sepia(32%) saturate(1202%) hue-rotate(313deg) brightness(95%) contrast(100%);
}
.product__item--1:nth-child(3),
.product__item--1:nth-child(4),
.product__item--1:nth-child(5) {
    color: #a8a8a8;
}
.product__spiral {
    position: absolute;
    top: -40%;
    right: -40%;
    width: 45rem;
    transition: transform 1s, filter 1s;
    filter: invert(82%) sepia(23%) saturate(2742%) hue-rotate(330deg) brightness(104%) contrast(97%);
}
.product__option:hover .product__spiral {
    transform: rotateZ(-30deg);
    filter: invert(72%) sepia(48%) saturate(612%) hue-rotate(82deg) brightness(92%) contrast(80%);
}
.product__option:hover {
    box-shadow: 2rem 2rem #47cf73;
    transform: translate(-1rem, -1rem);
    cursor: pointer;
}
.product__more {
    display: inline;
    width: max-content;
    font-size: var(--paragraph-big);
    border-bottom: 2px solid black;
    position: absolute;
    bottom: 3rem;
}
.product__more:hover {
    color: #464646;
    border-bottom: 2px solid #464646;
}

.product__footer {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.product__footer .heading-3 {
    font-size: var(--heading-3);
    font-weight: 200;
    margin-bottom: var(--margin-small);
}
.product__footer .product__button {
    font-size: var(--paragraph-big);
    font-weight: 900;
    background-color: var(--color-primary);
    padding: 2rem 3rem;
    border-radius: 1rem;
}
.product__button:hover {
    background-color: #ffc062;
    cursor: pointer;
    /* End of product section */
}

.spacer--three {
    background-image: url(/svg/index/spacer-product.svg);
    height: 30rem;
    bottom: 0;
    left: 0;
}

.offer {
    /* start of offer section */
    width: 100%;
    height: 100vh;
    background-color: var(--color-secondary);
    padding-top: var(--padding-section);
    padding-bottom: var(--padding-section);
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    position: relative;
    margin-bottom: var(--section-margin-bottom);
}
.offer > div {
    height: auto;
    display: flex;
    justify-content: center;
    gap: 5rem;

}

.offer__container {
    height: auto;
    width: 40%;
}
.offer__container > *:not(:last-child) {
    margin-bottom: var(--margin-medium);
}

.offer__container--one {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.offer__heading {
    font-weight: 900;
}
.offer__paragraph {
    font-size: var(--paragraph-small);
}
.offer__emphasis {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.offer__emphasis > * {
    width: 30%;
    height: 20rem;
    background-color: var(--color-primary);
}
.offer__container--two {

}
.offer__img {
    width: 95%;
    height: 95%;
    box-shadow: 2rem 2rem var(--color-primary);
}
.box {
    padding: 3rem;
}
.box__header {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--heading-2);
    font-weight: 900;
    color: black;
}
.box__paragraph {
    width: 100%;
    font-size: 2.2rem;
    font-weight: 600;
    text-align: center;
    color: black;
    /* end of offer section */
}

.spacer--four {
    background-image: url(/svg/index/spacer-offer.svg);
    height: 30rem !important;
    bottom: -30rem;
    left: 0;
}

.motivation {
    /* start of blog section */
    width: 100%;
    height: 110vh;
    background-color: white;
    padding: 0 20rem;
    position: relative;
}
.motivation__container > div:first-child {
    border-left: 1rem solid var(--color-primary);
    padding: 1rem 3rem;
    margin-bottom: var(--margin-large);
}
.motivation__header {
    font-size: var(--heading-1);
    font-weight: 400;
}
.motivation__header span {
    font-weight: 900;
}
.motivation__paragraph {
    font-size: var(--paragraph-huge);
}
.motivation__container > div:nth-child(2) {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.motivation-box {
    width: 30%;
}
.motivation-box__img {
    width: 100%;
    height: 30rem;
    object-fit: cover;
    margin-bottom: var(--margin-small);
    border-radius: 1rem;
    transition: filter .1s;
}
.motivation-box__img:hover {
    cursor: pointer;
    filter: brightness(.9) blur(3px);

}
.motivation-box__paragraph {
    font-size: var(--paragraph-huge);
    text-align: center;
    border-bottom: 2px solid var(--color-primary);
    /* end of motivation section */
}

.spacer--five {
    background-image: url(/svg/index/spacer-motivation.svg);
    height: 30rem !important;
    bottom: 0;
    left: 0
}

.more {
    /* start of more section */
    width: 100%;
    height: 100vh;
    background-color: var(--color-secondary); 
    position: relative;   
    overflow: hidden;
}
.more__container {
    width: 100%;
    height: 100%;
    display: flex;
    padding: 9rem;
}
.more__div {
    width: 60%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding-right: 2rem;
}
.more__heading {
    font-size: var(--heading-1);
    color: white;
    font-weight: 400;
}
.more__paragraph {
    color: white;
    font-size: var(--paragraph-small);
}
.more__form {
    width: 40%;
    height: 100%;
}
.input {
    width: 100%;
    padding: 2rem;
    font-size: var(--paragraph-small);
    margin-bottom: var(--margin-small);
    color: #464646;
}
.textarea {
    width: 100%;
    padding: 2rem;
    font-size: var(--paragraph-small);
    color: #464646;
    margin-bottom: var(--margin-small);
}  
.more__form > p {
    font-size: var(--paragraph-small);
    color: white;
    margin-bottom: var(--margin-small);
}
.more__form > button {
    font-size: var(--paragraph-small);
    padding: 2rem 4rem;
    font-weight: 900;
    background-color: var(--color-primary);
    border: none;
    transition: background-color .5s;
}
.more__form > button:hover {
    cursor: pointer;
    background-color: white;
}
.more__spiral {
    width: 50%;
    filter: invert(82%) sepia(23%) saturate(2742%) hue-rotate(330deg) brightness(104%) contrast(97%);
    position: absolute;
    bottom: -50%;
    left: -10%;
    /* end of more section */
}


.u-center-text {
    /* extra margin css */
    text-align: center;
}

.u-margin-bottom-big {
    margin-bottom: 8rem;
}

.u-margin-bottom-medium {
    margin-bottom: 4rem;
}

.u-margin-bottom-small {
    margin-bottom: 2rem;
}

/* end of main */
/* start of footer */
footer {
    width: 100%;
    background-color: var(--color-secondary);
    border-top: 1rem solid var(--color-primary);
}
.footer {
    background-color: var(--color-secondary);
    color: white;
    height: 60vh;
    display: flex;
    flex-direction: column;
    padding: 9rem; 
    font-family: 'Montserrat Alternates', sans-serif;

}

.logo-box {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2rem;
}
.logo-box__img {
    width: 25%;
}
.logo-box__header {
    font-size: 2rem !important; 
    font-weight: 900 !important;
}
    
.footer__container {
    display: flex;
    display: flex;
    justify-content: space-between; }
.footer__social-media {
    width: 30%;
    display: flex;
    flex-direction: column; }
.footer__social-media h3 {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 300;
    padding-left: 1rem;
    width: 30rem; }
.footer__logo {
    width: 100%;
    display: flex;
    justify-content: left; }
.footer__imgs {
    width: 100%;
    height: 100%;
    display: flex;
    gap: 4rem; }
.footer__imgs img {
    width: 5rem; }
.footer__imgs img:hover {
          opacity: .7; }
.footer__start-learning {
    width: min(50%, 50rem);
    height: 100%;
    background-color: #f3f4f6;
    padding: 4rem 4rem 0 4rem;
    border-radius: 10px; }
.footer__start-learning h2 {
    color: black;
    font-size: 2.5rem; }
.footer__start-learning div.input {
    display: inline-block;
    outline: 1px solid rgba(0, 0, 0, 0.2);
    padding: 3.5px;
    padding-left: 15px;
    background-color: #fff;
    border-radius: 5px; }
.footer__start-learning div.input #email-footer {
    height: 4.5rem;
    width: 25rem;
    border: none;
    font-size: 1.6rem;
    border: none;
    background-color: transparent; }
.footer__start-learning div.input #email-footer:focus {
    outline: none; }
  
.footer__info {
    display: flex;
    gap: 5rem;
    padding-bottom: 4rem; }
.footer__info__link {
    text-decoration: none;
    color: white;
    font-size: 1.6rem; }
.footer__info__link:hover {
    opacity: .7; }

.btn--special {
    background-color: var(--color-primary);
    padding: 1rem;
    border-radius: 5px;
    color: white;
    font-size: var(--paragraph-small);
    font-weight: 500;
    border: none;
}
.btn--special:hover {
    cursor: pointer;
}
/* end of footer */
/* media queries */
@media (max-width: 106.25rem) {
    .product {
        height: 150vh;
    }
}
@media (max-width: 100rem) {
    :root {
        --paragraph-small: 1.8rem;
        --paragraph-big: 2.35rem;
        --paragraph-huge: 3rem;
        --heading-1: 6.2rem;
        --heading-2: 3.5rem;
        --heading-3: 2.05rem;
    }
}
@media (max-width: 93.75rem) {
    .product {
        height: 190vh;
    }
    .motivation {
        height: 130vh;
    }
}
@media (max-width: 87.5rem) {
    .product {
        height: 200vh;
    }
}
@media (max-width: 81.25rem) {
    .product {
        height: 210vh;
    }
}
/* End of media queries */