@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;500;700&display=swap');

:root{
    /* fonts */
    --font-headings:'Nunito', sans-serif;
    --font-default:'Inter', serif;

    /* colors */
    --theme-primary:#d01345;
    --theme-brand:#6C0693;

    --primary: #FF4A1C;
    --gray: #4C5454;
    --success: #1EA896;
    --secondary: #8C008A;
    --danger: #d01345;
    --light: #f8f8f8;
    --faded: #596177;
    --dark: #2c303b;
}

body {
    font-family: var(--font-default);
    color:var(--dark);
    font-size:1rem;
    background-image:url("../img/bg.png");
    background-size:100%;
    background-repeat:no-repeat;
}

h1,h2,h3,h4,h5 {
    font-family:var(--font-default);
}

[data-notify="container"] a {
    color:white;
    text-decoration:underline;
}

.btn {
    border-radius:1.5rem;
    padding:.25rem .75rem;
}

.form-range {
    height:auto;
}

/* HEADER */
header .navbar {
    background:white;
    border-radius:30px;
    margin-top:1.5rem;
    margin-bottom:1.5rem;
    padding:.25rem .45rem;
    box-shadow: 0px 15px 10px -8px #D9DCFD;
    letter-spacing:-.5px;
}

header .navbar-brand img {
    height:30px;
    margin-top:-10px;
    margin-left:.5rem;
}

header .navbar-nav {
    margin-left:1rem;
    font-size:.9rem;
}

header .navbar-nav .nav-item {
    padding:0px .1rem;
}

header .navbar-nav a.nav-link {
    color:var(--dark);
    font-weight:300;
}

header .navbar-nav a.nav-link.active {
    font-weight:500;
}

header .navbar-nav a.nav-link:hover {
    color:var(--theme-brand);
}

header .dropdown-item {
    font-weight:300;
    font-size:.9rem;
}

header .c2a {
    border-radius: 30px;
    padding: .55rem 1rem;
    background: linear-gradient(90deg, #28034e 10%, #000000 100%);
    text-decoration:none;
    font-weight:300;
    font-size:.9rem;
    color:#eaeaea;
    margin-left:1rem;
}

header .c2a:hover {
    background: linear-gradient(90deg,#000000  10%, #28034e 100%);
    color:white;
}

#header-promo {
    font-size: .9rem;
    padding: .5rem;
    background: var(--theme-brand);
    color:white;
}

#header-promo .coupon {
    display:inline-block;
    padding:2px 6px;
    border-radius:5px;
    border:1px dashed white;
    font-weight:bold;
    cursor:pointer;
}

.btn-lang span {
    font-size:.8rem;
    font-weight:400;
    color:#4a4a4a;
}

/* CONTENT */

.section-title {
    background:white;
    border-radius:30px;
    padding:.375rem .75rem;
    border:1px solid #F3F1FD;
    box-shadow: 0px 8px 5px -8px #D9DCFD;
    font-size:.85rem;
    letter-spacing:-.5px;
    display:inline-block;
    margin:0px auto;
    background: linear-gradient(90deg,rgba(255,255,255,0)  1%, white 40%);
    color:#58555B;
}

.section-title a {
    color:#58555B;
    text-decoration:none;
}

.section-title a:hover {
    text-decoration:underline;
}


h1.hero-title {
    font-size:4.9rem;
    font-weight:500;
    letter-spacing:-5px;
    color:black;
    background: linear-gradient(90deg, #000000 50%, #956ee3 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height:.95;
    padding-bottom:.6rem;
}

h2.hero-title,h1.product-title {
    font-size:3.8rem;
    font-weight:500;
    letter-spacing:-4px;
    color:black;
    background: linear-gradient(90deg, #000000 50%, #956ee3 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

h3.hero-title {
    font-size:1.7rem;
    font-weight:500;
    letter-spacing:-1.7px;
    color:black;
    background: linear-gradient(90deg, #000000 50%, #956ee3 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-desc {
    font-size:1rem;
    letter-spacing:-.9px;
    color:#58555B;
    font-weight:300;
}

.hero-desc a {
    color:black;
}

.hero-c2a {
    border-radius: 10px;
    padding: 1rem 2rem;
    background: linear-gradient(90deg, #28034e 10%, #000000 100%);
    text-decoration:none;
    font-weight:300;
    font-size:1.2rem;
    color:#eaeaea;
    text-align:center;
}

.hero-c2a:hover {
    background: linear-gradient(90deg,#000000  10%, #28034e 100%);
    color:white;
}

.location-search {
    background:white;
    border-radius:30px;
    padding:.5rem;
    border:1px solid #ECC5FF;
}

.location-search-icon {
    font-size:1.5rem;
    color:#C1C1C1;
}

.location-search input[type=text],.location-search input[type=search] {
    color:#222;
    border:none;
    font-size:1.1rem;
    font-weight:300;
    width:100%;
    letter-spacing:-.8px;
    background:white;
    padding: .6rem 0;
}
.location-search input[type=text]:focus,.location-search input[type=search]:focus {
    outline:none;
}

.aa-Form {
    border:none;
    background:white;
    border-radius:0;
}

.aa-InputWrapperPrefix,.aa-InputWrapperSuffix {
    display:none;
}

.aa-Form:focus-within {
    border-color:transparent;
    box-shadow:none;
}

.aa-InputWrapperPrefix, .aa-InputWrapper, .aa-Input, .aa-InputWrapperSuffix {
    height:auto;
}

.aa-Panel {
    margin-left: -50px;
    margin-right: -50px;
}

.aa-Item {
    border-radius:20px;
}

.aa-Item img {
    width:34px;
}

.aa-Item a {
    display:block;
}

.location-search button {
    border-radius:50%;
    width:40px;
    height:40px;
    background: linear-gradient(90deg, #28034e 10%, #000000 100%);
    color:#eaeaea;
}

.plans-slider {
    overflow:hidden;
    padding-bottom:40px;
}

.plan-slide {
    width:320px;
    background:white;
    border-radius:25px;
    padding:.75rem 1rem;
}

.plan-slide.plan-slide-left {
    transform: rotateZ(345deg);
    z-index: 1;
    position:relative;
    top:40px;
    opacity: 0.3;
    margin-right:-150px;
    cursor:pointer;
}

.plan-slide.plan-slide-center {
    z-index: 2;
    position:relative;
}

.plan-slide.plan-slide-right {
    transform: rotateZ(-345deg);
    z-index: 1;
    position:relative;
    top:40px;
    opacity: 0.3;
    margin-left:-150px;
    cursor:pointer;
}

.plan-slide img {
    width:40px;
}

.plan-slide h2 {
    font-size:1.05rem;
    font-weight:500;
    margin-bottom:3px;
    letter-spacing:-1px;
}

.plan-slide p {
    font-weight:300;
    color:#8C8B90;
    margin-bottom:0px;
    font-size:.9rem;
    letter-spacing:-.5px;
}

.plan-slide-content {
    background: linear-gradient(210deg, #f5e5ff 0%, #ffffff 40%);
    border-radius: 15px;
    padding:.75rem .75rem .75rem 0;
    margin-top:.75rem;
}

.plan-slide-content h3 {
    font-size:2rem;
    font-weight:500;
    letter-spacing:-2px;
    color:black;
    background: linear-gradient(90deg, #000000 50%, #956ee3 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height:1;
    margin-bottom:0;
    padding-right:.5rem;
}

.plan-slide-content span {
    font-weight:300;
    color:#8C8B90;
    letter-spacing:-.75px;
}

.plan-slide-content p {
    color:var(--dark);
    font-size:1rem;
}

.plan-slide-content ul li {
    font-weight:300;
    font-size:.9rem;
    letter-spacing:-.5px;
    margin-bottom:.25rem;
}

.plan-slide-content ul li i {
    color:var(--theme-brand);
    margin-right:.25rem;
}

.plan-slide-c2a {
    border-radius: 30px;
    padding: .65rem 2rem;
    background: linear-gradient(90deg, #28034e 10%, #000000 100%);
    text-decoration:none;
    font-weight:300;
    color:#eaeaea;
    display:block;
    text-align:center;
    letter-spacing: -.5px;
}

.plan-slide-c2a:hover {
    background: linear-gradient(90deg,#000000  10%, #28034e 100%);
    color:white;
}

.testimonials-block .leaf {
    width:90px;
}

.testimonials-block p {
    letter-spacing:-.75px;
    font-weight:300;
}

.large-story {
    font-size:2.5rem;
    font-weight:500;
    letter-spacing:-2px;
    color:black;
    line-height:1.25;
}

.large-story span {
    background:none;
    color:#4C5454;
}

.grid-box {
    border-radius:20px;
    border:1px solid #F4F4F4;
    padding:1.5rem;
}

.grid-box span {
    letter-spacing:-.5px;
    font-weight:300;
    color:#666;
}

.grid-box i {
    padding-top:17px;
    border-radius:50px;
    width:55px;
    height:55px;
    text-align:center;
    font-size:1.25rem;
}

.grid-box-light {
    padding:.5rem;
}

.grid-box-light i {
    padding-top:7px;
    border-radius:50px;
    width:30px;
    height:30px;
    text-align:center;
    font-size:1rem;
}

.grid-orange {
    background: linear-gradient(120deg, #ffffff 60%, #FEEAE7 100%);
}

.grid-orange i {
    background:#FEEAE7;
    color:#591E1A;
}

.grid-purple {
    background: linear-gradient(120deg, #ffffff 60%, #F5EEFE 100%);
}

.grid-purple i {
    background:#F5EEFE;
    color:#410487;
}

.grid-blue {
    background: linear-gradient(120deg, #ffffff 60%, #EAF5FF 100%);
}

.grid-blue i {
    background:#EAF5FF;
    color:#0B2E55;
}

.grid-green {
    background: linear-gradient(120deg, #ffffff 60%, #F0FEEF 100%);
}

.grid-green i {
    background:#F0FEEF;
    color:#075008;
}

.grid-box h5 {
    letter-spacing:-1px;
    font-weight:500;
    margin-top:3rem;
}

.grid-box p {
    letter-spacing:-.5px;
    margin-bottom:0;
    font-weight: 300;
}

.gradient-brand {
    background: linear-gradient(180deg, #ffffff 0%, #d6ceff 33%, #e8c5ff 66%, #ffffff 100%);
}

.list-country {
    border-radius:20px;
    border:1px solid #F4F4F4;
    padding:1rem;
    box-shadow: 0px 1px 1px rgba(19, 27, 50, 0.02), 0px 2px 6px rgba(19, 27, 50, 0.06);
    background: linear-gradient(120deg, #ffffff 60%, #F5EEFE 100%);
}

.list-country:hover {
    background: linear-gradient(120deg, #ffffff 60%, #F0FEEF 100%);
}

.list-country-header img {
    width:50px;
}

.list-country-header h2 {
    font-size:1.3rem;
    letter-spacing:-1px;
    margin-bottom:3px;
}

.list-country-header a {
    color:var(--dark);
    text-decoration:none;
}

.list-country-header a:hover {
    text-decoration:underline;
}

.list-country-header p {
    letter-spacing:-.5px;
    font-weight:300;
    margin-bottom:0;
}

.list-country-footer {
    border-top:1px dashed #F4F4F4;
    padding-top:.75rem;
    margin-top:5rem;
}

.list-country-footer p {
    letter-spacing:-.5px;
    font-weight:300;
    margin-bottom:5px;
    font-size:.9rem;
}

.list-country-footer h4 {
    font-weight:600;
    letter-spacing: -1.5px;
    font-size:1.6rem;
    margin-bottom:0;
}

.list-country-footer h4 sup {
    font-weight:300;
    font-size:.9rem;
}

.list-country-footer h4 span {
    letter-spacing:-.5px;
    font-weight:300;
    font-size:.9rem;
}

.list-country-footer a {
    text-align:center;
    border:1px solid #eaeaea;
    color:black;
    width:50px;
    height:50px;
    display:block;
    font-size:1.4rem;
    padding-top:7px;
    border-radius:100%;
}

.list-country-footer a:hover {
    background: linear-gradient(90deg,#000000  10%, #28034e 100%);
    color:white;
}

.product-flag {
    width:30px;
    display:none;
}

.product-select label {
    font-size:.75em;
    font-weight:300;
    color:#444;
}

.term-help {
    font-weight:300;
    font-size:.75em;
    text-decoration:none;
    color:var(--theme-brand);
}

.term-help:hover {
    text-decoration:underline;
    color:var(--dark);
}

.product-select .btn {
    border-radius:5px;
    letter-spacing:-.75px;
    font-weight:300;
}

.product-select .price {
    font-size:2.3rem;
    font-weight:600;
    letter-spacing:-2.5px;
    color:var(--theme-brand);
    line-height:1.05;
    background: linear-gradient(90deg, #000000 50%, #956ee3 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-right:5px;
}

.product-select .price span {
    font-weight:300;
    font-size:1.65rem;
}

.product-select .btn-check:checked+.btn, .product-select .btn.active, .product-select .btn.show, .product-select .btn:first-child:active, .product-select :not(.btn-check)+.btn:active {
    background-color:var(--theme-brand);
}

.btn-buy {
    border:none;
    border-radius: 30px;
    padding: .5rem 1.25rem;
    background: linear-gradient(90deg, #28034e 10%, #000000 100%);
    text-decoration:none;
    font-weight:300;
    font-size:1.3rem;
    letter-spacing:-1.3px;
    color:#eaeaea;
}

.confirm-buy {
    --bs-popover-border-color: var(--theme-brand);
    --bs-popover-header-bg: var(--theme-brand);
    --bs-popover-header-color: var(--bs-white);
    --bs-popover-header-padding-x: .75rem;
    --bs-popover-header-padding-y: .75rem;
    --bs-popover-body-padding-x: 1rem;
    --bs-popover-body-padding-y: .5rem;
}

.confirm-buy.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after, .bs-popover-bottom>.popover-arrow::after {
    border-bottom-color: var(--theme-brand);
}

.btn-calendar {
    font-size:1.3rem;
    color:var(--theme-brand);
    font-weight:300;
}

.btn-calendar:hover {
    color:var(--dark);
}


.loading {
    filter:blur(10px);
}

#col-left .list-group-item {
    position: relative;
    display: block;
    padding: 1rem 1.25rem;
    background-color: #fff;
    border: 1px solid #efefef;
}

#col-left .list-group-item a {
    text-decoration:none;
    color:var(--dark);
    font-weight:normal;
}

#col-left .list-group-item a:hover {
    text-decoration:underline;
}

#col-left .list-group-item.active a {
    color:white;
    font-weight:bold;
}

#col-left .list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: var(--theme-brand);
    border-color: var(--theme-brand);
}


/* FOOTER */

footer {
    background-image:url("../img/bg-footer.png");
    background-size:100%;
    background-repeat:no-repeat;
    background-position:top center;
}

.footer-bg {
    border-radius:20px;
    background:white;
    padding:1rem;
    margin-bottom:2rem;
}

footer .logo img {
    height:40px;
}

footer .about p {
    margin-top:1rem;
    font-weight:300;
    letter-spacing:-.5px;
    color:#666;
}

footer .about a {
    color:black;
    font-size:1.6rem;
}

footer .about a:hover {
    color:var(--theme-brand);
}

footer .menu ul {
    margin-top:1rem;
    letter-spacing:-.75px;
}

footer .menu ul li {
    font-weight:500;
    margin-bottom:.5rem;
    font-size:.95rem;
}

footer .menu ul li a {
    color:#222;
    font-weight:300;
    text-decoration:none;
}

footer .menu ul li a:hover {
    color:var(--theme-brand);
}

footer .copywrite {
    letter-spacing:-.75px;
}

.content-container {
    padding:2rem;
    border-radius:10px;
    font-weight:300;
    background:white;
}

.content-container a {
    color:var(--theme-brand);
}

/* RESPONSIVE LARGE */
@media (min-width: 1550px) {

}

/* RESPONSIVE TABLET */
@media (max-width: 990px) {

    header .navbar-nav {
        margin-left:0;
        margin-top:.75rem;
        margin-bottom:.75rem;
    }

    header .c2a {
        margin-left:0;
        margin-top:.5rem;
        display:block;
    }

    h1.hero-title {
        font-size:3.2rem;
        letter-spacing:-3.5px;
        line-height:1;
    }

    h2.hero-title,h1.product-title {
        font-size:2.7rem;
        letter-spacing:-2.5px;
        line-height:1;
    }

    .section-title {
        font-size:.75rem;
        padding:.175rem .75rem;
    }

    .location-search {
        padding:.25rem;
    }

    .location-search input[type=text] {
        font-size:.9rem;
    }

    .plan-slide-center {
        border:1px solid #ccc;
        width: 95%;
        margin-bottom: 1.5rem;
    }

    .plan-slide-c2a {
        font-size: .95rem;
    }

    .large-story {
        font-size: 2.2rem;
        letter-spacing: -2px;
        line-height: 1.25;
    }

    .product-flag {
        display:inline-block;
    }

    .confirm-buy {
        min-width: 90% !important;
        position: absolute !important;
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }

}

/* RESPONSIVE MOBILE */
@media (max-width: 576px) {

    body {
        background-size:100vh;
    }

    h1.hero-title {
        font-size:2.4rem;
        letter-spacing:-2.25px;
        line-height:1;
        font-weight:bold;
    }

    h2.hero-title {
        font-size:2.2rem;
        letter-spacing:-2.5px;
        line-height:1.1;
    }

    .plan-slide.plan-slide-left {
        margin-right:-180px;
    }

    .plan-slide.plan-slide-right {
        margin-left:-180px;
    }

    .large-story {
        font-size: 1.8rem;
        letter-spacing: -2px;
        line-height: 1.25;
    }

    .content-container {
        font-size:.9rem;
        padding:1rem;
    }

    .plan-slide-content h3 {
        font-size:1.7rem;
    }

    .plan-slide-content p {
        font-size:.9rem;
    }

    [data-notify="container"] {
        width: 90% !important;
        left: 20px;
    }
}