:root {
    --waf-shadow: 0 0 100px rgb(0 0 0 / 12%);
}

html {
    background: #F5F5F5;
}

header {
    position: relative;
    z-index: 5;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.1));
}

.side-nav .box {
    background: #243040;
}

.s1 {
    --padding: 96px;
    background: linear-gradient(180deg, #EDEBD5 0%, #fff 100%);
}

.s1 h1 {
    font-size: 2.8rem;
    line-height: 1.12;
    color: #262626;
    font-family: var(--font-2);
    margin-bottom: 32px;
}

.s1 p.info {
    font-family: var(--font-2);
    font-size: 1.42rem;
    font-weight: 700;
    color: #262626;
    max-width: 468px;
    width: 100%;
}

.s1 img {
    width: 100%;
    border-radius: 25px;
    box-shadow: var(--waf-shadow);
}

.s2 {
    --padding: 64px;
    background: #fff;
}

.s2 .title--big {
    text-align: left;
    color: #343434;
    font-family: var(--font-2);
}

.s2 p.info {
    color: #414141;
}

.s3 {
    background: linear-gradient(168.26deg, #FFFFFD -18.24%, #FAF9EE 146.85%);
    --padding: 64px;
}

.s3 .title--big {
    margin-bottom: 64px;
    color: #555555;
    font-family: var(--font-2);
}

.s3 .stats {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 32px;
    text-align: center;
}

.s3 .stats div {
    width: 30%;
    flex: 1;
}

.s3 .stats strong {
    display: block;
    font-size: 3.6rem;
    line-height: 1;
    margin: 0 0 16px 0;
    color: var(--primary);
}

.s3 .stats p {
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    color: #656565;
}

.s4 {
    --padding: 64px;
    background: linear-gradient(180deg, #F3F3EC 0%, #ffffff 100%);
}

.s4 .title--big {
    color: #343434;
    text-align: left;
    font-family: var(--font-2);
}

.s4 p.info {
    color: #414141;
}

.s4 .stats {
    margin-top: 64px;
    display: flex;
    gap: 64px;
    justify-content: center;
    align-items: stretch;
}

.s4 .stats > div {
    width: calc(50% - 32px);
    overflow: hidden;
    background: #fff;
    box-shadow: var(--waf-shadow);
    border-radius: 16px;
    border: 1px solid #E4E4D9;
}

.s4 .stats > div div {
    padding: 32px;
}

.s4 .stats > div img {
    width: 100%;
    background: #E1E1CA;
    padding: 32px 32px 0 32px;
    height: 290px;
    object-fit: contain;
}

.s4 .stats > div strong {
    font-family: var(--font-2);
    font-size: 1.34rem;
    font-weight: 700;
    margin-bottom: 8px;
    display: block;
    color: #343434;
}

.s4 .stats > div p {
    color: #414141;
}

.s5 {
    --padding: 64px;
    background: linear-gradient(180deg, #EFEDDA 0%, #fff 100%);
}

.s5 img {
    max-width: 540px;
    width: 100%;
    margin: 0 auto 32px auto;
}

.s5 .title--big:first-of-type {
    font-family: var(--font-2);
    color: #8c8c80;
}

.s5 .title--big:last-of-type {
    color: #292929;
    margin: 0;
    font-size: 1.86rem !important;
}

.s5 .mainbutton {
    margin: 32px auto 0 auto;
}

.s6 {
    --padding: 64px;
    background: #f3f0e0;
}

.s6 .title--big {
    margin-bottom: 64px;
    color: #555555;
    font-family: var(--font-2);
}

.s6 .cards {
    display: flex;
    gap: 32px;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
}

.s6 .cards > div {
    width: 30%;
    flex: 1;
}

.s6 .cards > div:nth-child(4), .s6 .cards > div:nth-child(5) { width: 40%; }

.s6 .cards > div .inner {
    transition: transform .5s ease;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    text-align: center;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: stretch;
}

/*.s6 .cards > div:hover .inner { transform: rotateY(180deg); }
.s6 .cards > div:hover .front { display: none; }
.s6 .cards > div:hover .back { display: flex; }*/

.s6 .cards > div .back,
.s6 .cards > div .front {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    background: #FFFFFF;
    padding: 32px;
    width: 100%;
    height: 100%;
    box-shadow: var(--waf-shadow);
    border-radius: 16px;
    border: 1px solid #E4E4D9;
}

.s6 .cards > div .front {
    z-index: 2;
}

.s6 .cards > div .back {
    transform: rotateY(180deg);
    z-index: 1;
    display: none;
}

.s6 .cards > div .back p {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
}

.s6 .cards > div .front img {
    max-height: 64px;
    height: 100%;
    width: auto;
    object-fit: contain;
    margin: 0 auto 16px auto;
}

.s6 .cards > div .front p {
    font-weight: 600;
    color: #656565;
}

.s6 .cards > div .front p b {
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
    margin-top: 8px;
    color: #898989;
}

.s7 {
    --padding: 64px;
    background: #243040;
}

.s7 .title--big {
    color: #fff;
    margin-bottom: 64px;
}

.s7 .review p {
    color: #fff;
}

.s7 .review img {
    max-width: 108px;
    width: 100%;
    margin-bottom: 32px;
}

.s7 .mainbutton {
    margin: 64px auto 0 auto;
}

.s8 {
    --padding: 64px;
    background: #243040;
}

.s8 .title--big {
    color: #fff;
    text-align: left;
    font-family: var(--font-2);
}

.s8 p.info {
    color: #fff;
}

.s8 .packages {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 64px;
    margin-top: 64px;
    flex-wrap: wrap;
}

.s8 .packages > div {
    width: calc(50% - 32px);
    background: #fff;
    position: relative;
    display: flex;
    flex-direction: column;
    box-shadow: var(--waf-shadow);
    border-radius: 16px;
    border: 1px solid #E4E4D9;
    overflow: hidden;
}

.s8 .packages > div img {
    width: calc(100% - 32px);
    object-fit: contain;
    border-radius: 8px;
    margin: 16px;
    margin-bottom: 0;
}

.s8 .packages > div > div {
    padding: 48px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.s8 .packages > div strong {
    font-size: 1.62rem;
    color: #555555;
    display: block;
}

.s8 .packages > div strong small {
    display: block;
    font-weight: 400;
    font-size: 1.24rem;
}

.s8 .packages > div p {
    color: #8D8D8D;
    margin-top: 16px;
}

.s8 .packages > div ul {
    color: #8D8D8D;
    list-style-position: inside;
    list-style-type: square;
    margin-top: 16px;
}

.s8 .packages > div hr {
    display: block;
    width: 100%;
    height: 2px;
    background: #8D8D8D;
    margin-top: 16px;
    opacity: .5;
}

.s8 .packages > div .mainbutton {
    margin-top: auto;
}

.s9 {
    --padding: 64px;
    background: linear-gradient(168.26deg, #FFFFFD -18.24%, #FAF9EE 146.85%);
}

.s9 .title--big {
    color: #414042;
}

.s9 p.info {
    color: #414042;
    text-align: center;
    margin: 0 auto 64px auto;
    width: 100%;
    max-width: 960px;
}

.s9 .sides {
    gap: 0;
    align-items: stretch;
    box-shadow: 0px 5px 40px 5px rgba(0, 0, 0, 0.15);
    border-radius: 25px;
    overflow: hidden;
}

.s9 .side:first-of-type {
    position: relative;
}

.s9 .side:first-of-type img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    position: absolute;
}

.s9 .side {
    width: 50%;
}

.s9 .side .form {
    background: #fff;
    padding: 32px;
}

footer .copyright {
    background: #253447;
    color: #fff;
    border-bottom: 4px solid #C5C089;
}

footer .copyright .mainlink {
    color: inherit;
}

#jp-carousel-loading-overlay {
    display: none;
}

/* Mobile & Tablet */

@media only screen and (max-width: 780px) {
    .s1 { --padding: 64px; }
    .s1 h1 { font-size: 2.6rem; }
    .s1 p.info { margin-left: auto; margin-right: auto; }

    .s2 p.info { text-align: center; }

    .s3 .stats { flex-direction: column; }
    .s3 .stats div { width: 100%; }

    .s4 p.info { text-align: center; }
    .s4 .stats { flex-direction: column; gap: 32px; }
    .s4 .stats > div { width: 100%; text-align: center; }

    .s5 .title--big:last-of-type { font-size: 1.4rem !important; }

    .s6 .cards { flex-direction: column; }
    .s6 .cards > div { width: 100%; }
    .s6 .cards > div .back, .s6 .cards > div .front { display: block !important; background: none; padding: 0; border: 0; box-shadow: none; transform: none !important; }
    .s6 .cards > div .inner { background: #fff; flex-direction: column; gap: 16px; border-radius: 16px; box-shadow: var(--waf-shadow); transform: none !important; padding: 32px; }
    .s6 .cards > div .back p { display: block; }

    .s7 .review img { margin-left: auto; margin-right: auto; }
    .s7 .review p { text-align: center; }

    .s8 p.info { text-align: center; }
    .s8 .packages { flex-direction: column; gap: 32px; }
    .s8 .packages > div { width: 100%; text-align: center; }
    .s8 .packages > div > div { padding: 32px; }

    .s9 .side { width: 100%; }
}