/* ---MAIN STYLES--- */

.main_section {
    position: relative;
    padding: 0;
}

.main_section .main_box {
    position: relative;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    z-index: 1;
}

.main_section .media_box {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    padding-top: 5vw;
}

.main_section .info_box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2vw;
}

.main_section .info_box img {
    width: 30%;
}

.main_section .info_box h1 {
    color: white;
    text-align: center;
}

.main_section .info_box>p {
    color: white;
    width: 50%;
    text-align: center;
}

.main_section .info_box p b {
    color: var(--yellow);
}

.main_section .details_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5vw;
}

.main_section .details_box p {
    color: white;
    font-size: 1.75vw;
    font-weight: bold;
    text-align: center;
}

.main_section .main_btn:hover {
    outline: .15vw solid white;
}

@media (max-width: 996px) {
    .main_section .main_box {
        grid-template-columns: 1fr;
    }
    .main_section .media_box {
        order: 2;
        padding-top: 0;
    }
    .main_section .media_box {
        width: 90%;
    }
    .main_section .info_box {
        gap: 5vw;
        padding: 10vw;
    }
    .main_section .info_box img {
        width: 60%;
    }
    .main_section .info_box>p {
        width: 100%;
    }
    .main_section .details_box {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1vw;
    }
    .main_section .details_box p {
        font-size: 5vw;
    }
    .main_section .main_btn:hover {
        outline: .4vw solid white;
    }
}


/* ---BANNER STYLES--- */

.banner_section {
    position: relative;
    padding: 5vw 10vw;
}

.banner_section .banner_box {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2vw;
    z-index: 1;
}

.banner_section .banner_box h2 {
    text-align: center;
}

.banner_section .banner_box>p {
    width: 40%;
    text-align: center;
}

.banner_section .phrase_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1vw;
}

.banner_section .phrase_box p {
    width: 55%;
    text-align: center;
}

.banner_section .phrase_box span {
    color: var(--blue);
    font-size: 1.25vw;
    font-style: italic;
    text-align: center;
}

.banner_section .banner_item {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3vw;
    padding: 5vw;
    border-radius: .5vw;
    overflow: hidden;
}

.banner_section .info_box,
.banner_section .button_box {
    position: relative;
    z-index: 1;
}

.banner_section .info_box {
    display: flex;
    flex-direction: column;
    gap: 1vw;
}

.banner_section .info_box h2 {
    color: white;
    font-size: 1.6vw;
}

.banner_section .yellow_title {
    color: var(--yellow) !important;
    font-size: 4.5vw !important;
}

.banner_section .info_box p {
    color: white;
    text-align: center;
}

.banner_section .info_box span {
    color: white;
    font-size: 1.25vw;
    font-style: italic;
    text-align: center;
}

.banner_section .banner_item .main_btn:hover {
    outline: .15vw solid white;
}

@media (max-width: 996px) {
    .banner_section {
        padding: 10vw;
    }
    .banner_section .banner_box {
        gap: 5vw;
    }
    .banner_section .banner_box>p {
        width: 100%;
    }
    .banner_section .phrase_box {
        gap: 5vw;
    }
    .banner_section .phrase_box p {
        width: 100%;
    }
    .banner_section .phrase_box span {
        font-size: 3.5vw;
    }
    .banner_section .banner_item {
        flex-direction: column;
        gap: 10vw;
        padding: 10vw 5vw;
        border-radius: 1vw;
    }
    .banner_section .info_box {
        gap: 5vw;
    }
    .banner_section .info_box h2 {
        font-size: 4.5vw;
    }
    .banner_section .yellow_title {
        color: var(--yellow) !important;
        font-size: 12vw !important;
    }
    .banner_section .info_box span {
        font-size: 3.5vw;
    }
    .banner_section .banner_item .main_btn:hover {
        outline: .4vw solid white;
    }
}


/* ---FOR YOU STYLES--- */

.foryou_section .foryou_box {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.foryou_section .info_box {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2vw;
    padding: 5vw;
}

.foryou_section .title_box {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1vw;
    z-index: 1;
}

.foryou_section .title_box h2 {
    color: white;
}

.foryou_section .square_title {
    font-size: 1.5vw;
    border: .25vw solid var(--yellow);
    background: none;
}

.foryou_section .info_box ul {
    position: relative;
    color: white;
    display: flex;
    flex-direction: column;
    gap: 1vw;
    z-index: 1;
}

.foryou_section .info_box li {
    color: white;
}

.foryou_section .info_box ::marker {
    color: var(--yellow);
}

.foryou_section .media_box {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.foryou_section .media_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 996px) {
    .foryou_section .foryou_box {
        grid-template-columns: 1fr;
    }
    .foryou_section .info_box {
        gap: 5vw;
        padding: 10vw;
    }
    .foryou_section .title_box {
        align-items: center;
        gap: 3vw;
    }
    .foryou_section .square_title {
        font-size: 4vw;
        border: .5vw solid var(--yellow);
        line-height: 2;
    }
    .foryou_section .info_box ul {
        gap: 2vw;
    }
}


/* ---BENEFITS STYLES--- */

.benefits_section {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3vw;
    padding: 5vw 10vw;
}

.benefits_section .title_box {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1vw;
    z-index: 1;
}

.benefits_section .title_box h2 {
    color: white;
}

.benefits_section .title_box p {
    color: white;
    text-align: center;
}

.benefits_section .benefits_box {
    position: relative;
    width: 75%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw;
    z-index: 1;
}

.benefits_section .card_box {
    display: flex;
    flex-direction: column;
    gap: 1vw;
    padding: 2vw;
    border-radius: .5vw;
    box-shadow: .25vw .25vw 1vw #00000020;
    background: #ffffff03;
    transition: .25s;
    cursor: pointer;
}

.benefits_section .card_box:hover {
    transform: scale(.98);
    background: #ffb20210;
}

.benefits_section .icon_box {
    display: flex;
    justify-content: center;
    align-items: center;
}

.benefits_section .icon_box img {
    height: 5vw;
}

.benefits_section .info_box p {
    color: white;
    text-align: center;
}

.benefits_section .text_box {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1vw;
    z-index: 1;
}

.benefits_section .text_box .main_btn:hover {
    outline: .15vw solid white;
}

@media (max-width: 996px) {
    .benefits_section {
        gap: 10vw;
        padding: 10vw;
    }
    .benefits_section .title_box {
        gap: 5vw;
    }
    .benefits_section .title_box h2 {
        width: 70%;
        text-align: center;
    }
    .benefits_section .title_box p {
        width: 80%;
    }
    .benefits_section .benefits_box {
        width: 80%;
        grid-template-columns: 1fr;
        gap: 5vw;
    }
    .benefits_section .card_box {
        gap: 5vw;
        padding: 5vw;
        border-radius: 1vw;
        box-shadow: .5vw .5vw 3vw #00000020;
    }
    .benefits_section .icon_box img {
        height: 15vw;
    }
    .benefits_section .text_box {
        gap: 5vw;
    }
    .benefits_section .text_box p {
        width: 75%;
    }
    .benefits_section .text_box .main_btn:hover {
        outline: .4vw solid white;
    }
}


/* ---TESTIMONIALS STYLES--- */

.testimonials_section {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3vw;
    padding: 6vw 6vw;
}

.testimonials_section .title_box {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

.testimonials_section .title_box h2 {
    text-align: center;
}

.testimonials_section .testimonials_box {
    width: 85%;
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw;
    z-index: 1;
}

.testimonials_section .card_box {
    display: flex;
    flex-direction: column;
    gap: 1vw;
    padding: 2vw;
    border-radius: .5vw;
    box-shadow: .25vw .25vw 1vw #00000020;
    transition: .25s;
    cursor: pointer;
}

.testimonials_section .card_box:hover {
    transform: scale(.98);
}

.testimonials_section .card_box span {
    font-size: 1vw;
    font-weight: bold;
}

.testimonials_section .text_box {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1vw;
    z-index: 1;
}

@media (max-width: 996px) {
    .testimonials_section {
        gap: 10vw;
        padding: 10vw;
    }
    .testimonials_section .testimonials_box {
        width: 100%;
        grid-template-columns: 1fr;
        place-items: center;
        gap: 5vw;
    }
    .testimonials_section .card_box {
        width: 100%;
        gap: 3vw;
        padding: 5vw;
        border-radius: 1vw;
        box-shadow: .5vw .5vw 3vw #00000020;
    }
    .testimonials_section .ranking_box {
        justify-content: center;
        gap: 1vw;
    }
    .testimonials_section .card_box p {
        text-align: center;
    }
    .testimonials_section .card_box span {
        font-size: 3.5vw;
        text-align: center;
    }
}


/* ---DETAILS STYLES--- */

.details_section {
    padding: 5vw 10vw;
}

.details_section .details_box {
    display: flex;
    flex-direction: column;
    gap: 5vw;
}

.details_section .title_box {
    display: flex;
    justify-content: center;
    align-items: center;
}

.details_section .title_box H2 {
    text-align: center;
}

.details_section .date_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1vw;
}

.details_section .date_items {
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2vw;
}

.details_section .date_item {
    display: flex;
    align-items: center;
}

.details_section .date_item i {
    color: var(--blue);
    font-size: 5vw;
}

.details_section .date_item .info_box {
    display: flex;
    justify-content: center;
    align-items: center;
}

.details_section .date_item .info_box h2 {
    font-size: 5vw;
}

.details_section .date_item .info_box span {
    font-size: 2vw;
    font-weight: bold;
    writing-mode: vertical-rl;
}

.details_section .divider {
    display: flex;
    justify-content: center;
    align-items: center;
}

.details_section .divider p {
    font-size: 3vw;
}

.details_section .divier_box {
    width: .5vw;
    height: 5vw;
    background: var(--yellow);
}

.details_section .limited_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2vw;
}

.details_section .limited_box h2,
.details_section .limited_box p {
    text-align: center;
}

@media (max-width: 996px) {
    .details_section {
        padding: 10vw;
    }
    .details_section .details_box {
        gap: 10vw;
    }
    .details_section .date_box {
        gap: 5vw;
    }
    .details_section .date_items {
        gap: 3vw;
    }
    .details_section .date_item i {
        font-size: 8vw;
    }
    .details_section .date_item .info_box h2 {
        font-size: 7vw;
    }
    .details_section .date_item .info_box span {
        font-size: 3vw;
    }
    .details_section .divider p {
        font-size: 5vw;
    }
    .details_section .divier_box {
        width: .5vw;
        height: 5vw;
        background: var(--yellow);
    }
    .details_section .date_item>h2 {
        font-size: 3.5vw;
    }
    .details_section .square_title {
        font-size: 2.5vw;
    }
    .details_section .limited_box {
        gap: 5vw;
    }
}


/* ---GOALS STYLES-- */

.goals_section {
    padding: 5vw 10vw;
}

.goals_section .goals_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3vw;
}

.goals_section .goals_box h2,
.goals_section .goals_box p {
    text-align: center;
}

.goals_section .phrase_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1vw;
}

.goals_section .phrase_box span {
    color: var(--blue);
    font-size: 1.25vw;
    font-style: italic;
    text-align: center;
}

.goals_section ul {
    display: flex;
    flex-direction: column;
    gap: 1vw;
}

.goals_section li {
    text-align: center;
}

.goals_section ::marker {
    color: var(--yellow);
}

@media (max-width:996px) {
    .goals_section {
        padding: 10vw;
    }
    .goals_section .goals_box {
        gap: 5vw;
    }
    .goals_section .phrase_box {
        gap: 5vw;
    }
    .goals_section .phrase_box span {
        font-size: 3.5vw;
    }
    .goals_section ul {
        gap: 2vw;
    }
}


/* ---REGISTER STYLES--- */

.reister_section {
    padding: 5vw 10vw;
}

.reister_section .register_box {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3vw;
    padding: 5vw;
    border-radius: .5vw;
    background: var(--yellow);
}

.reister_section .info_box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1vw;
}

.reister_section .info_box h2 {
    color: var(--blue);
    text-align: center;
}

.reister_section .info_box p {
    color: var(--blue);
    text-align: center;
}

.reister_section .main_btn {
    color: white;
    outline: .15vw solid var(--blue);
    background: var(--blue);
}

.reister_section .main_btn:hover {
    outline: .15vw solid var(--blue);
}

@media (max-width: 996px) {
    .reister_section {
        padding: 10vw;
    }
    .reister_section .register_box {
        flex-direction: column;
        gap: 10vw;
        padding: 10vw 5vw;
        border-radius: 1vw;
    }
    .reister_section .info_box {
        gap: 5vw;
    }
    .reister_section .main_btn {
        outline: .4vw solid var(--blue);
    }
    .reister_section .main_btn:hover {
        outline: .4vw solid var(--blue);
    }
}