.banner-content {
    color: var(--color-1);
    max-width: var(--grid);
    width: 100%
}

.banner-content .extra-info {
    --fs-n: 24px;
    --fs-m: 14px;
    --lh: 28px;
    --ls-n: 2.4px;
    --ls-m: 1.4px;
    font-weight: var(--regular);
    margin-bottom: 8px;
    margin-top: 0
}

.banner-content .title {
    --fs-n: 72px;
    --fs-m: 35px;
    --lh-n: 64px;
    --lh-m: 35px;
    color: var(--color-8);
    font-weight: var(--bold);
    margin-bottom: 0;
    margin-top: 0;
    text-transform: uppercase;
    transition-delay: .2s
}

.banner-content .description {
    --fs-n: 32px;
    --fs-m: 20px;
    --lh-n: 40px;
    --lh-m: 24px;
    font-weight: var(--bold);
    margin-bottom: 0;
    margin-top: 4px;
    transition-delay: .4s
}

.banner-content .extra-info,.banner-content .title,.banner-content .description {
    text-shadow: var(--text-shadow)
}

.banner-content .wrapper-cta {
    margin-bottom: 0;
    margin-top: 24px;
    transition-delay: .6s
}

.banner-content .extra-info,.banner-content .title,.banner-content .description,.banner-content .wrapper-cta {
    opacity: 0;
    transform: translateY(50px);
    transition-duration: .4s;
    transition-property: opacity,transform;
    transition-timing-function: ease-in-out
}

.-active .banner-content .extra-info,.-active .banner-content .title,.-active .banner-content .description,.-active .banner-content .wrapper-cta {
    opacity: 1;
    transform: translateX(0)
}

@media only screen and (min-width: 1025px) {
    .banner-content .extra-info {
        margin-bottom:16px
    }

    .banner-content .description {
        font-weight: var(--regular)
    }

    .banner-content .button {
        display: inline-block
    }
}

.banner {
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity var(--tr-d,1s) ease-in-out;
    width: 100%
}

.-active .banner {
    opacity: 1
}

.slider-pagination {
    --move-pagination: calc((var(--module) * var(--pagination, 0)) * -1);
    transform: translateX(var(--move-pagination));
    transition: transform .3s ease-in-out
}

.button-slider {
    --c-d: var(--color-1);
    --c-h: var(--c-h-custom,var(--color-7));
    --c: var(--c-d-custom,var(--c-d));
    align-content: center;
    align-items: center;
    aspect-ratio: 1/1;
    background-color: transparent;
    border-color: var(--c);
    border-radius: var(--border-m);
    border: solid var(--border-m);
    color: var(--c);
    cursor: pointer;
    display: flex;
    justify-content: center;
    padding: 0;
    transition: border-color .3s ease-in-out,color .3s ease-in-out;
    width: 42px
}

.button-slider:focus,.button-slider:hover {
    --c: var(--c-h)
}

.button-slider:focus .box-icon,.button-slider:hover .box-icon {
    --custom-color: var(--c);
    transform: translateX(-25%)
}

.button-slider .box-icon {
    --apr: 3/1;
    --custom-color: var(--c);
    --w: 50px;
    transform: translateX(-50%);
    transition: transform .3s ease-in-out
}

.button-slider.prev {
    transform: rotate(180deg)
}

.counter {
    --fs: 18px;
    --lh: 21px;
    color: var(--custom-color,var(--color-1))
}

.timer {
    --bar-height: 2px;
    --bar-max-size: 150px;
    background-color: var(--color-5);
    border-radius: calc(var(--bar-height) / 2);
    display: inline-flex;
    height: var(--bar-height);
    max-width: var(--bar-max-size);
    position: relative;
    width: 100%
}

.timer .current-time {
    background-color: var(--color-1);
    border-radius: calc(var(--bar-height) / 2);
    display: inline-block;
    height: var(--bar-height);
    left: 0;
    max-width: var(--bar-max-size);
    min-width: var(--bar-height);
    position: absolute;
    top: 0;
    transition: width .1s linear;
    width: auto
}

.slider-ui-controls {
    position: absolute
}

.slider-ui-controls.-disable {
    pointer-events: none;
    visibility: hidden
}

.slider-ui-controls .prev,.slider-ui-controls .next {
    display: none
}

.slider-ui-controls .counter-and-timer {
    --jc: flex-start;
    align-items: center;
    margin: 0
}

.slider-ui-controls .timer {
    margin-left: 24px
}

[data-auto-play="false"] .slider-ui-controls .timer,.tabs .slider-ui-controls .timer {
    display: none
}

@media only screen and (min-width: 1025px) {
    .slider-ui-controls .prev {
        left:0
    }

    .slider-ui-controls .next {
        right: 0
    }

    .slider-ui-controls .prev,.slider-ui-controls .next {
        display: flex;
        position: absolute;
        top: -10px
    }
}

.slider {
    aspect-ratio: var(--custom-ratio,.6428571428571429);
    position: relative
}

.slider .slide {
    pointer-events: none
}

.slider .slide.-active {
    pointer-events: all
}

.slider .slide.-active .banner {
    z-index: calc(var(--behind) + 1)
}

.slider .slide.-active .banner-content {
    z-index: var(--content)
}

.slider .slide.-active .banner,.slider .slide.-active .banner-content {
    pointer-events: all
}

.slider .wrapper-banner {
    position: static
}

.slider .banner {
    z-index: var(--behind)
}

.slider .banner-content {
    z-index: calc(var(--content) - 1)
}

.slider .banner,.slider .banner-content {
    pointer-events: none
}

.slider .slider-ui-controls {
    z-index: var(--content)
}

@media only screen and (min-width: 1025px) {
    .slider {
        --custom-ratio:auto
    }
}

.hero {
    --hero-space-top-notebook: 100px;
    --hero-space-top-mobile: 35px;
    --hero-space-top: var(--hero-space-top-mobile);
    --banner-height-notebook: 920px;
    --banner-height-mobile: 560px;
    min-height: var(--banner-height-mobile);
    margin-top: calc(var(--header-height) * -1);
    padding-top: calc(var(--header-height) + var(--hero-space-top))
}

.hero .banner {
    min-height: var(--banner-height-mobile);
    object-fit: cover
}

.hero .banner-content {
    position: absolute
}

.hero .desktop {
    display: none
}

.hero .slider-ui-controls {
    --controls-position-notebook: 230px;
    --controls-position-mobile: 80px;
    --controls-position: var(--controls-position-mobile);
    bottom: var(--controls-position);
    max-width: var(--grid);
    width: 100%
}

@media only screen and (min-width: 1025px) {
    .hero {
        --hero-space-top:var(--hero-space-top-notebook);
        height: var(--banner-height-notebook)
    }

    .hero .banner {
        height: var(--banner-height-notebook)
    }

    .hero .desktop {
        display: initial
    }

    .hero .mobile {
        display: none
    }

    .hero .slider-ui-controls {
        --controls-position: var(--controls-position-notebook);
        padding-left: 80px;
        padding-right: 80px
    }
}

@media only screen and (min-width: 1441px) {
    .hero .slider-ui-controls {
        padding-left:0;
        padding-right: 0
    }

    .hero .slider-ui-controls .prev {
        left: -100px
    }

    .hero .slider-ui-controls .next {
        right: -100px
    }
}

.fast-access {
    --fast-access-position-notebook: -160px;
    --fast-access-position-mobile: -60px;
    --fast-access-position: var(--fast-access-position-mobile);
    --fs-n: 18px;
    --fs-m: 12px;
    --lh-n: 23px;
    --lh-m: 15px;
    box-shadow: 8px 8px 80px var(--color-12);
    font-weight: var(--regular);
    margin-top: var(--fast-access-position);
    position: relative;
    text-transform: uppercase;
    z-index: var(--content)
}

.fast-access .flex {
    --fw: nowrap;
    --jc: flex-start;
    align-items: center;
    height: 100%;
    padding: 16px 8px;
    width: 100%
}

.fast-access .box-icon {
    --w: 47px;
    margin-right: 8px
}

@media only screen and (min-width: 1025px) {
    .fast-access {
        --fast-access-position:var(--fast-access-position-notebook)
    }

    .fast-access .flex {
        padding: 40px 20px
    }

    .fast-access .box-icon {
        --w: 92px;
        margin-right: 20px
    }
}

.component-title-and-description {
    position: relative
}

.component-title-and-description .title {
    --fs-n: 32px;
    --fs-m: 26px;
    --lh-n: 38px;
    --lh-m: 30px;
    --ls-n: 3.2px;
    --ls-m: 2.6px;
    font-weight: var(--medium);
    margin: 0;
    text-transform: uppercase
}

.component-title-and-description .description {
    --fs-n: 24px;
    --fs-m: 18px;
    --lh-n: 28px;
    --lh-m: 22px;
    --ls-n: 2.4px;
    --ls-m: 1.8px;
    font-weight: var(--regular);
    margin-bottom: 0;
    margin-top: 8px
}

.wrapper-modal.modal-list-of-apps {
    --spacing-notebook: 80px;
    --spacing-mobile: 20px;
    --spacing: var(--spacing-mobile);
    --modal-padding-notebook: 40px var(--spacing) 80px;
    --modal-padding-mobile: var(--spacing);
    --modal-padding: var(--modal-padding-mobile);
    --title-and-description-margin-notebook: 64px;
    --title-and-description-margin-mobile: 32px;
    --title-and-description-margin: var(--title-and-description-margin-mobile);
    --card-list-height-notebook: 183px;
    --card-list-height-mobile: 253px;
    --card-list-height: var(--card-list-height-mobile);
    --card-width-notebook: 210px;
    --card-width-mobile: 130px;
    --card-width: var(--card-width-mobile)
}

.wrapper-modal.modal-list-of-apps .modal-title-and-description {
    margin-bottom: var(--title-and-description-margin)
}

.wrapper-modal.modal-list-of-apps .modal-title-and-description .title {
    --lh: 40px
}

.wrapper-modal.modal-list-of-apps .modal-title-and-description .plan-name {
    --fs: 24px;
    --ls: 2.4;
    color: var(--color-logo-1);
    display: block;
    font-weight: var(--bold);
    text-transform: uppercase
}

.wrapper-modal.modal-list-of-apps .modal-title-and-description .plan-name strong {
    --fs: 40px;
    --ls: 4
}

.wrapper-modal.modal-list-of-apps .modal-content {
    margin-right: calc(var(--spacing) * -1);
    padding-right: calc(var(--spacing) - var(--scrollbar-width-chromium))
}

.wrapper-modal.modal-list-of-apps .modal-app-list {
    --alc: flex-start;
    max-height: var(--card-list-height);
    height: 100%
}

.wrapper-modal.modal-list-of-apps .modal-app-list-item {
    margin-bottom: 20px;
    width: var(--card-width)
}

.wrapper-modal.modal-list-of-apps .modal-app-list-item .box-icon {
    --w: 72px;
    border-radius: var(--radius-m)
}

.wrapper-modal.modal-list-of-apps .modal-app-list-item .title {
    --fs: 16px;
    --lh: 18px;
    --ls: 1.6px;
    --text-lines: 3;
    font-weight: var(--medium);
    height: calc(var(--p-lh) * var(--text-lines));
    margin-bottom: 8px;
    margin-top: 16px;
    overflow: hidden;
    text-transform: uppercase
}

.wrapper-modal.modal-list-of-apps .modal-app-list-item .description {
    --fs: 12px;
    --lh: 16px;
    --ls: 1.2px;
    --text-lines: 5;
    font-weight: var(--regular);
    height: calc(var(--p-lh) * var(--text-lines));
    margin: 0;
    overflow: hidden
}

@media only screen and (min-width: 1025px) {
    .wrapper-modal.modal-list-of-apps {
        --spacing:var(--spacing-notebook);
        --modal-padding: var(--modal-padding-notebook);
        --title-and-description-margin: var(--title-and-description-margin-notebook);
        --card-list-height: var(--card-list-height-notebook);
        --card-width: var(--card-width-notebook);
        --card-margin: 64px
    }

    .wrapper-modal.modal-list-of-apps .modal-title-and-description .plan-name {
        display: inline
    }

    .wrapper-modal.modal-list-of-apps .modal-app-list {
        --jc: flex-start
    }

    .wrapper-modal.modal-list-of-apps .modal-app-list-item {
        margin-left: var(--card-margin)
    }

    .wrapper-modal.modal-list-of-apps .modal-app-list-item:nth-child(4n + 1) {
        margin-left: 0
    }

    .wrapper-modal.modal-list-of-apps .modal-app-list-item .title {
        --text-lines: 2
    }

    .wrapper-modal.modal-list-of-apps .modal-app-list-item .description {
        --text-lines: 3
    }
}

@media only screen and (min-width: 1441px) {
    .wrapper-modal.modal-list-of-apps {
        --card-list-height:calc((var(--card-list-height-notebook) * 2) + var(--card-margin))
    }

    .wrapper-modal.modal-list-of-apps .modal-app-list-item {
        margin-bottom: var(--card-margin)
    }
}

.product-app-list {
    --jc: center;
    align-items: center
}

.product-app-list .app-list-item {
    font-size: 0
}

.product-app-list .app-list-item:not(:last-of-type) {
    margin-right: 10px
}

.product-app-list .app-list-item .wire {
    --fs: initial;
    --lh: initial;
    --fs-n: 28px;
    --fs-m: 22px;
    --ls-n: 1.4px;
    --ls-m: 1.1px;
    --wire-color: var(--color-8);
    padding: 0;
    height: var(--tip-img-size);
    width: var(--tip-img-size)
}

.product-card {
    --radius: var(--radius-l);
    --feature-icon-size-notebook: 44px;
    --feature-icon-size-mobile: 36px;
    --feature-icon-size: var(--feature-icon-size-mobile);
    --feature-icon-margin-notebook: 23px;
    --feature-icon-margin-mobile: 12px;
    --feature-icon-margin: var(--feature-icon-margin-mobile);
    --tip-icon-size-notebook: 29px;
    --tip-icon-size-mobile: 20px;
    --tip-icon-size: var(--tip-icon-size-mobile);
    --tip-img-size-notebook: 48px;
    --tip-img-size-mobile: 36px;
    --tip-img-size: var(--tip-img-size-mobile);
    --label-color: var(--color-8);
    --card-padding-notebook: 40px 24px;
    --card-padding-mobile: 40px 16px 32px;
    --card-padding: var(--card-padding-mobile);
    border-radius: var(--radius);
    border: solid 2px;
    border-color: transparent;
    min-width: var(--product-card-width);
    width: var(--product-card-width)
}

.product-card.-best-offer {
    background-color: var(--label-color);
    border-color: var(--label-color)
}

.product-card p {
    margin: 0
}

.product-card .card {
    background-color: var(--color-1);
    border-radius: var(--radius);
    padding: var(--card-padding)
}

.product-card .product-title {
    margin-bottom: 12px
}

.product-card .product-features {
    margin-bottom: 22px
}

.product-card .product-features + .product-price {
    --margin: calc((16px + 24px + var(--tip-img-size)) / 2);
    margin-bottom: var(--margin);
    margin-top: var(--margin)
}

.product-card .product-app-list {
    margin-bottom: 16px
}

.product-card .product-price {
    margin-bottom: 24px
}

.product-card .wrapper-cta .wire {
    --wire-color: var(--color-10)
}

.product-card .wrapper-link {
    margin-top: 16px;
    text-align: center
}

@media only screen and (min-width: 1025px) {
    .product-card {
        --feature-icon-size:var(--feature-icon-size-notebook);
        --feature-icon-margin: var(--feature-icon-margin-notebook);
        --tip-icon-size: var(--tip-icon-size-notebook);
        --tip-img-size: var(--tip-img-size-notebook);
        --card-padding: var(--card-padding-notebook)
    }

    .product-card .product-title {
        margin-bottom: 10px
    }

    .product-card .product-features {
        margin-bottom: 24px
    }
}

.product-feature-text {
    --fs-n: 24px;
    --fs-m: 18px;
    --lh-n: 24px;
    --lh-m: 17px;
    --ls-n: 0;
    --ls-m: .43px;
    font-weight: var(--regular);
    max-height: calc(var(--p-lh) * 2);
    overflow: hidden
}

.product-feature-text strong {
    font-weight: var(--bold)
}

.product-feature-text.product-feature-modal {
    cursor: pointer;
    text-decoration: underline
}

@media only screen and (min-width: 1025px) {
    .product-feature-text.product-feature-modal {
        transition:text-decoration-color .2s ease-in-out
    }

    .product-feature-text.product-feature-modal:hover {
        text-decoration-color: var(--color-7)
    }
}

.comparative-plans {
    --jc: center;
    position: relative;
    width: 100%;
    z-index: var(--content)
}

.comparative-plans .title {
    --fs-n: 32px;
    --fs-m: 26px;
    --lh-n: 38px;
    --lh-m: 30px;
    --ls-n: 3.2px;
    --ls-m: 2.6px;
    color: var(--color-10);
    margin-bottom: 24px
}

.comparative-plans .button {
    --pd: 10.5px 83px
}

@media only screen and (min-width: 1025px) {
    .comparative-plans {
        align-items:flex-end;
        padding-left: 60px
    }

    .comparative-plans .component-title-and-description {
        align-items: flex-end;
        display: flex
    }

    .comparative-plans .component-title-and-description .title {
        color: var(--color-10);
        margin-bottom: 0;
        margin-right: 80px
    }

    .comparative-plans .component-title-and-description .button {
        --pd: 10.5px 85px
    }
}

@media only screen and (min-width: 1281px) {
    .comparative-plans {
        padding-left:0
    }
}

.product-features {
    --fd: column
}

.product-features .product-feature-item {
    --fd: row;
    align-items: center
}

.product-feature-item {
    --jc: flex-start;
    --w: 100%;
    --product-feature-item-last-margin-notebook: 12px;
    --product-feature-item-last-margin-mobile: 8px;
    --product-feature-item-last-margin: var(--product-feature-item-last-margin-mobile);
    text-align: left
}

.product-feature-item:not(:last-of-type) {
    margin-bottom: var(--product-feature-item-last-margin)
}

.product-feature-item .box-icon {
    --w: var(--feature-icon-size);
    margin-right: var(--feature-icon-margin)
}

.product-feature-item .product-feature-text {
    margin-right: 8px;
    max-width: calc(100% - (8px + var(--tip-icon-size) + var(--feature-icon-size) + var(--feature-icon-margin)))
}

.product-feature-item .tip {
    margin-left: auto
}

@media only screen and (min-width: 1025px) {
    .product-feature-item {
        --product-feature-item-last-margin:var(--product-feature-item-last-margin-notebook)
    }
}

.product-labels {
    position: relative
}

.product-labels .label {
    --lh: 30px;
    background-color: var(--label-color);
    font-weight: var(--regular)
}

.product-labels .label strong {
    font-weight: var(--bold);
    text-transform: uppercase
}

.product-labels .label-best-offer {
    --fs-n: 22px;
    --fs-m: 18px;
    --ls-n: 2.2px;
    --ls-m: 1.8px;
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
    text-align: center
}

.product-labels .label-novelt,.product-labels .label-best-seller {
    --fs-n: 20px;
    --fs-m: 16px;
    --ls-n: 2px;
    --ls-m: 1.6px;
    --radius: var(--radius-m);
    border-bottom-right-radius: var(--radius);
    border-top-right-radius: var(--radius);
    clip-path: polygon(0% 0%,100% 0%,100% 100%,calc(0% + var(--radius)) 100%);
    padding: 3px 24px;
    position: absolute;
    right: 0;
    top: calc(var(--radius-m) * -1)
}

.product-price {
    text-align: center
}

.product-price .price {
    --fs-n: 56px;
    --fs-m: 42px;
    --lh-m: 42px;
    --ls-n: 5.6px;
    --ls-m: 4.2px;
    font-weight: var(--bold)
}

.product-price .currency {
    --fs-n: 28px;
    --fs-m: 26px;
    --ls-n: 2.8px;
    --ls-m: 2.6px
}

.product-price .observation {
    --fs-n: 14px;
    --fs-m: 13px;
    --lh-n: 17px;
    --lh-m: 16px;
    font-style: italic;
    font-weight: var(--regular)
}

@media only screen and (min-width: 1025px) {
    .product-price .currency {
        font-style:italic;
        font-weight: var(--medium)
    }
}

.product-see-conditions {
    --fs: 18px;
    --lh: 25px;
    --td: underline
}

.product-see-conditions:hover {
    --td: none
}

.wrapper-product-slider {
    --mask-width-notebook: auto;
    --mask-width-mobile: var(--product-card-width);
    --mask-width: var(--mask-width-mobile);
    --module: calc(var(--mask-width-mobile) + var(--product-card-gutter));
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    width: var(--mask-width)
}

@media (max-width: 767px){
    .wrapper-product-slider{
        overflow: visible;
    }
}

.wrapper-product-slider .product-slider {
    --fw: nowrap;
    align-items: flex-end
}

.wrapper-product-slider .product-slider .product-slide:not(:last-of-type) {
    margin-right: var(--product-card-gutter)
}

@media only screen and (min-width: 1025px) {
    .wrapper-product-slider {
        --mask-width:var(--mask-width-notebook)
    }

    .wrapper-product-slider .-has-pagination ~ .slider-ui-controls {
        bottom: -60px;
        display: block;
        left: 50%;
        padding-left: 80px;
        padding-right: 80px;
        transform: translateX(-50%)
    }
}

.product-title {
    --fs-n: 38px;
    --fs-m: 32px;
    --lh-n: 42px;
    --lh-m: 32px;
    --ls-n: 1px;
    --ls-m: 3.2px;
    --max-lines: calc(var(--p-lh) * 2);
    color: var(--color-6);
    font-weight: var(--bold);
    height: var(--max-lines);
    overflow: hidden;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
    max-width: 320px
}

.product-title strong {
    --fs-n: 64px;
    --fs-m: 48px;
    --ls-n: 6.4px;
    --ls-m: 4.8px;
    display: block;
    font-weight: var(--bold)
}

.tip {
    --tip-color: var(--color-7);
    --tip-bullet-color: var(--color-10);
    background-color: transparent;
    cursor: pointer;
    position: relative
}

.tip:hover .tip-text {
    z-index: calc(var(--content) + 1)
}

.tip:focus .tip-text {
    z-index: var(--content)
}

.tip:hover,.tip:focus {
    background: transparent
}

.tip:hover .tip-text,.tip:focus .tip-text {
    opacity: 1;
    pointer-events: all
}

.tip.bullet {
    border-radius: 50%;
    border: solid 2px var(--tip-bullet-color);
    color: var(--tip-bullet-color);
    height: var(--tip-icon-size);
    line-height: var(--tip-icon-size);
    padding: 0;
    width: var(--tip-icon-size)
}

.tip.bullet .icon {
    font-size: 0
}

.tip.bullet .icon span {
    --fs-n: 22px;
    --fs-m: 14px
}

.tip.bullet .tip-text {
    --fs: 14px;
    --lh: 17px;
    --box-size: 202px;
    right: -20px;
    top: calc(var(--tip-icon-size) + 10px)
}

.tip.bullet .tip-text::before {
    right: calc((var(--tip-icon-size) / 2) + 8px);
    top: -6px
}

.tip.app {
    border: 0;
    height: var(--tip-img-size);
    padding: 0;
    width: var(--tip-img-size)
}

.tip.app .box-icon {
    --w: var(--tip-img-size);
    border-radius: var(--radius-s);
    display: block;
    overflow: hidden
}

.tip.app .tip-text {
    --fs: 12px;
    --lh: 14px;
    --ls: .3px;
    --box-size: 120px;
    left: -20px;
    bottom: calc(var(--tip-img-size) + 10px)
}

.tip.app .tip-text strong {
    --fs: 14px;
    --ls: .35px;
    display: block;
    text-transform: uppercase
}

.tip.app .tip-text::before {
    bottom: -9px;
    left: calc((var(--tip-img-size) / 2) + 10px)
}

.tip .tip-text {
    --radius: var(--radius-s);
    background-color: var(--tip-color);
    border-radius: var(--radius);
    box-shadow: var(--box-shadow-2);
    color: var(--color-10);
    display: block;
    opacity: 0;
    padding: 12px 8px;
    pointer-events: none;
    position: absolute;
    text-align: center;
    transition: opacity .3s ease-in-out;
    width: var(--box-size);
    z-index: var(--content)
}

.tip .tip-text::before {
    --size: 20px;
    background-color: var(--tip-color);
    border-radius: var(--radius);
    content: "";
    display: block;
    height: var(--size);
    position: absolute;
    transform: rotate(45deg);
    width: var(--size)
}

.wrapper-tab-controller {
    --fd: column;
    margin-bottom: 40px;
    position: relative;
    z-index: var(--content)
}

.wrapper-tab-controller .title {
    --mx-w-n: 500px;
    --mx-w-m: var(--grid)
}

.wrapper-tab-controller .tab-controller {
    --fd: row;
    --fw: nowrap
}

@media only screen and (max-width: 1024px) {
    .wrapper-tab-controller .tab-controller {
        height:55px;
        margin-bottom: 0;
        margin-top: 40px;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        width: var(--box-size)
    }
}

@media only screen and (min-width: 1025px) {
    .wrapper-tab-controller {
        --fd:row;
        margin-bottom: 80px
    }
}

.modal-tariff {
    --spacing-notebook: 40px;
    --spacing-mobile: 20px;
    --spacing: var(--spacing-mobile)
}

.modal-tariff .title {
    --fs-n: 28px;
    --fs-m: 24px;
    --lh-n: 28px;
    --lh-m: 24px;
    font-weight: var(--bold)
}

.modal-tariff .description {
    --fs-n: 18px;
    --fs-m: 14px;
    --lh-n: 24px;
    --lh-m: 18px;
    font-weight: var(--regular)
}

.modal-tariff .modal-content {
    margin-right: calc(var(--spacing) * -1);
    padding-right: calc(var(--spacing) - var(--scrollbar-width-chromium))
}

.modal-tariff .modal-content table {
    border-collapse: collapse;
    width: 100%
}

.modal-tariff .modal-tariff-list {
    padding: 0 5px;
    width: 100%
}

.modal-tariff .tariff-title {
    padding-bottom: 20px;
    padding-top: 20px
}

.modal-tariff .modal-table-title,.modal-tariff .modal-table-tariff-title {
    --fs-n: 24px;
    --fs-m: 18px;
    --lh-n: 29px;
    --lh-m: 21px;
    font-weight: var(--medium)
}

.modal-tariff .modal-table-title {
    text-align: left
}

.modal-tariff .modal-table-tariff-title {
    text-align: right
}

.modal-tariff .modal-tariff-item {
    --tariff-icon-mobile: 36px;
    --tariff-icon-notebook: 48px;
    --tariff-icon: var(--tariff-icon-mobile);
    --tip-icon-size-mobile: 24px;
    --tip-icon-size-notebook: 29px;
    --tip-icon-size: var(--tip-icon-size-mobile)
}

.modal-tariff .modal-tariff-item td {
    border-top: 1px solid #bbb;
    padding-bottom: 10px;
    padding-top: 20px;
    vertical-align: top
}

.modal-tariff .modal-tariff-item .tariff-icon {
    margin-right: 5px;
    width: var(--tariff-icon)
}

.modal-tariff .modal-tariff-item .tariff-description {
    --fs-n: 20px;
    --fs-m: 16px;
    --lh-n: 24px;
    --lh-m: 19px;
    font-weight: var(--regular);
    margin-top: 0;
    max-height: calc(var(--p-lh) * 4);
    text-align: left
}

.modal-tariff .modal-tariff-item .tariff-description .tip {
    --tip-bullet-color: var(--color-7);
    margin-left: 5px
}

.modal-tariff .modal-tariff-item .tariff-description .tip .icon span {
    --fs-n: 20px;
    --fs-m: 20px
}

.modal-tariff .modal-tariff-item .tariff-description .tip .tip-text {
    --box-size: 134px;
    right: -55px;
    top: calc(var(--tip-icon-size) + -160px)
}

.modal-tariff .modal-tariff-item .tariff-description .tip .tip-text::before {
    bottom: -6px;
    right: calc((var(--tip-icon-size) / 2) + 44px);
    top: initial
}

.modal-tariff .modal-tariff-item .tariff-value {
    --fs-n: 24px;
    --fs-m: 20px;
    --lh-n: 15px;
    --lh-m: 15px;
    font-weight: var(--medium);
    margin-bottom: 0;
    margin-top: 0;
    text-align: right
}

.modal-tariff .modal-tariff-item .tariff-value span {
    display: inline-block;
    font-size: 12px;
    line-height: 15px
}

@media only screen and (min-width: 1025px) {
    .modal-tariff {
        --spacing:var(--spacing-notebook)
    }

    .modal-tariff .modal-tariff-item {
        --tip-icon-size: var(--tip-icon-size-notebook)
    }

    .modal-tariff .modal-content {
        overflow: initial
    }

    .modal-tariff .tip-text::before {
        right: calc((var(--tip-icon-size) / 2) + 38px)
    }
}

.modal-internet {
    --spacing-notebook: 40px;
    --spacing-mobile: 20px;
    --spacing: var(--spacing-mobile)
}

.modal-internet .modal-title-and-description {
    margin-bottom: 24px
}

.modal-internet .modal-title-and-description .title {
    --fs-n: 28px;
    --fs-m: 24px;
    --lh-n: 28px;
    --lh-m: 24px;
    font-weight: var(--bold)
}

.modal-internet .modal-title-and-description .description {
    --fs-n: 18px;
    --fs-m: 14px;
    --lh-n: 24px;
    --lh-m: 18px;
    font-weight: var(--regular)
}

.modal-internet .modal-content {
    margin-right: calc(var(--spacing) * -1);
    max-height: 400px;
    padding-right: calc(var(--spacing) - var(--scrollbar-width-chromium))
}

.modal-internet .modal-content table {
    border-collapse: collapse;
    width: 100%
}

.modal-internet .modal-internet-list {
    padding: 0 5px;
    width: 100%
}

.modal-internet .internet-title {
    padding-bottom: 20px;
    padding-top: 20px
}

.modal-internet .modal-table-title,.modal-internet .modal-table-internet-title {
    --fs-n: 28px;
    --fs-m: 20px;
    --lh-n: 42px;
    --lh-m: 29px;
    --ls-n: 2.8px;
    --ls-m: 2px;
    font-weight: var(--bold);
    color: var(--color-logo-1);
    text-align: center
}

.modal-internet .modal-info-item {
    --internet-icon-mobile: 36px;
    --internet-icon-notebook: 48px;
    --internet-icon: var(--internet-icon-mobile);
    --tip-icon-size-mobile: 24px;
    --tip-icon-size-notebook: 29px;
    --tip-icon-size: var(--tip-icon-size-mobile);
    border-top: 1px solid var(--color-12)
}

.modal-internet .modal-info-item td {
    padding-bottom: 20px;
    padding-top: 20px;
    vertical-align: middle
}

.modal-internet .modal-info-item .internet-icon {
    margin-right: 5px;
    width: var(--internet-icon)
}

.modal-internet .modal-info-item .info-description {
    --fs-n: 20px;
    --fs-m: 16px;
    --lh-n: 24px;
    --lh-m: 19px;
    font-weight: var(--regular);
    margin-top: 0;
    max-height: calc(var(--p-lh) * 4);
    text-align: center;
    text-align: -webkit-center
}

.modal-internet .modal-info-item .info-description .tip {
    --tip-bullet-color: var(--color-7);
    margin-left: 5px
}

.modal-internet .modal-info-item .info-description .tip .icon span {
    --fs-n: 19px;
    --fs-m: 19px;
    --lh-n: 20px;
    --lh-m: 20px
}

.modal-internet .modal-info-item .info-description .tip .tip-text {
    --fs: 14px;
    --lh: 17px;
    --box-size: 134px;
    right: -55px;
    top: calc(var(--tip-icon-size) + -105px)
}

.modal-internet .modal-info-item .info-description .tip .tip-text::before {
    bottom: -6px;
    right: calc((var(--tip-icon-size) / 2) + 44px);
    top: initial
}

.modal-internet #modal-compare-apps .info-description {
    writing-mode: vertical-lr;
    -webkit-writing-mode: vertical-lr;
    padding-right: 10px
}

.modal-internet #modal-compare-apps .info-description .app-icon {
    margin-right: 10px;
    width: 41px
}

.modal-internet #modal-compare-apps .info-description .more-apps {
    display: block
}

.modal-internet #modal-compare-apps .info-description .more-apps .button-modal-more-apps {
    --c-h: var(--color-7);
    cursor: default;
    margin: 0 10px 0 5px;
    padding: 10px 7px;
    transform: rotate(-90deg)
}

.modal-internet #modal-compare-apps .info-description .more-apps .button-modal-more-apps.wire {
    --fs: initial;
    --lh: initial;
    --fs-n: 28px;
    --fs-m: 22px;
    --ls-n: 1.4px;
    --ls-m: 1.1px;
    --wire-color: var(--color-8);
    padding: 18px 9px;
    height: var(--tip-img-size);
    width: var(--tip-img-size)
}

@media only screen and (min-width: 1025px) {
    .modal-internet {
        --spacing:var(--spacing-notebook)
    }

    .modal-internet .modal-title-and-description {
        margin-bottom: 64px
    }

    .modal-internet .modal-internet-item {
        --tip-icon-size: var(--tip-icon-size-notebook)
    }

    .modal-internet #modal-compare-apps .info-description {
        padding-right: 0;
        writing-mode: vertical-lr;
        -webkit-writing-mode: vertical-lr
    }

    .modal-internet #modal-compare-apps .info-description .app-icon {
        margin-right: 10px
    }

    .modal-internet #modal-compare-apps .info-description .more-apps .button-modal-more-apps {
        margin: 0 0 0 5px;
        padding: 10px 7px;
        transform: rotate(-90deg)
    }
}

.product-plans {
    --top-margin-notebook: -90px;
    --top-margin-mobile: -106px;
    --top-margin: var(--top-margin-mobile);
    --top-spacing-notebook: 230px;
    --top-spacing-mobile: 180px;
    --top-spacing: var(--top-spacing-mobile);
    margin-top: var(--top-margin);
    padding-bottom: 100px;
    padding-top: var(--top-spacing);
    position: relative
}

.product-plans > .background {
    --ps-l: calc(var(--bleed-background) * -1);
    --ps-r: calc(var(--bleed-half-background) * -1);
    --w: auto;
    --z-i: calc(var(--behind) + 2)
}

.product-plans .tabs-display {
	--product-card-height: 660px;
    height: var(--product-card-height);
    margin-bottom: 80px;
    min-height: var(--product-card-height);
    padding: 2px 0
}

.product-plans .tabs-display > .background {
    --custom-color: transparent;
    --ps-l: calc(var(--bleed-background) * -1);
    --ps-r: calc(var(--bleed-background) * -1);
    --w: 100vw;
    --z-i: calc(var(--content) - 1)
}

.product-plans .product-card:not(.-best-offer) {
    padding-top: 30px
}

.product-plans .slider-ui-controls {
    display: none;
    bottom: 0
}

@media only screen and (min-width: 1025px) {
    .product-plans {
        --top-margin:var(--top-margin-notebook);
        --top-spacing: var(--top-spacing-notebook)
    }

    .product-plans:hover .fibra .left,.product-plans:hover .fibra .right {
        transform: translate(0,0)
    }
}

.news-banner {
    --fd: column;
    --fw: nowrap;
    --margin-extra-info-notebook: 24px;
    --margin-extra-info-mobile: 16px;
    --margin-extra-info: var(--margin-extra-info-mobile);
    --margin-description-notebook: 8px;
    --margin-description-mobile: 4px;
    --margin-description: var(--margin-description-mobile);
    --banner-content-max-size-notebook: 440px;
    --banner-content-max-size-mobile: 270px;
    --banner-content-max-size: var(--banner-content-max-size-mobile);
    --banner-content-padding-top-notebook: 100px;
    --banner-content-padding-top-mobile: 32px;
    --banner-content-padding-top: var(--banner-content-padding-top-mobile);
    --extra-info-margin-notebook: 24px;
    --extra-info-margin-mobile: 16px;
    --extra-info-margin: var(--extra-info-margin-mobile);
    --channel-logo-height-notebook: 28px;
    --channel-logo-height-mobile: 16px;
    --channel-logo-height: var(--channel-logo-height-mobile);
    --description-margin-notebook: 8px;
    --description-margin-mobile: 4px;
    --description-margin: var(--description-margin-mobile);
    text-align: right
}

.news-banner .banner-content {
    max-width: var(--banner-content-max-size);
    padding-left: 4px;
    padding-top: var(--banner-content-padding-top)
}

.news-banner .banner-content .channel-logo {
    height: var(--channel-logo-height);
    width: auto
}

.news-banner .banner-content .extra-info {
    --fs-n: 24px;
    --fs-m: 14px;
    --lh-n: 28px;
    --lh-m: 16px;
    --ls: 0;
    font-weight: var(--medium);
    height: calc(var(--p-lh) * 1);
    margin-bottom: var(--extra-info-margin);
    text-transform: uppercase
}

.news-banner .banner-content .title {
    --fs-n: 48px;
    --fs-m: 26px;
    --lh-n: 48px;
    --lh-m: 26px;
    color: var(--color-8);
    font-weight: var(--bold);
    height: calc(var(--p-lh) * 2);
    text-transform: uppercase
}

.news-banner .banner-content .description {
    --fs-n: 18px;
    --fs-m: 16px;
    --lh-n: 28px;
    --lh-m: 20px;
    --mx-w-n: 300px;
    font-weight: var(--medium);
    height: calc(var(--p-lh) * 3);
    margin-top: var(--description-margin);
    margin-left: auto
}

.news-banner .banner-content .extra-info,.news-banner .banner-content .title,.news-banner .banner-content .description {
    overflow: hidden;
    text-shadow: none
}

.news-banner .banner-content .button .box-icon {
    --custom-color: var(--c);
    --apr: 3/1;
    --w: 33px;
    margin-left: 20px
}

.news-banner .wrapper-banner {
    max-width: var(--box-size);
    width: 100%
}

.news-banner .banner {
    aspect-ratio: 13/7;
    height: auto;
    position: static
}

@media only screen and (max-width: 1024px) {
    .news-banner .banner-content {
        align-self:flex-end;
        margin-bottom: 32px
    }

    .news-banner .banner-content .wrapper-cta {
        bottom: 0;
        left: 0;
        position: absolute;
        max-width: var(--grid);
        width: 100%
    }

    .news-banner .banner-content .wrapper-cta .button {
        width: 100%
    }
}

@media only screen and (min-width: 1025px) {
    .news-banner {
        --fd:row;
        --margin-extra-info: var(--margin-extra-info-notebook);
        --margin-description: var(--margin-description-notebook);
        --banner-content-max-size: var(--banner-content-max-size-notebook);
        --banner-content-padding-top: var(--banner-content-padding-top-notebook);
        --extra-info-margin: var(--extra-info-margin-notebook);
        --channel-logo-height: var(--channel-logo-height-notebook);
        --description-margin: var(--description-margin-notebook)
    }

    .news-banner .banner-content,.news-banner .wrapper-banner {
        flex-shrink: 0
    }

    .news-banner .banner-content {
        order: 2;
        padding-right: 32px
    }

    .news-banner .banner-content .wrapper-cta {
        margin-top: 24px;
        position: static
    }

    .news-banner .banner-content .wrapper-cta .button {
        --mx-w: 220px;
        margin-left: auto
    }

    .news-banner .wrapper-banner {
        margin-top: 50px;
        max-width: calc(var(--box-size) - var(--banner-content-max-size));
        order: 1
    }
}

.button-play {
    --c-d: var(--color-1);
    --c-h: var(--c-h-custom,var(--color-7));
    --c: var(--c-d-custom,var(--c-d));
    --custom-color: var(--c);
    --button-size-notebook: 60px;
    --button-size-mobile: 34px;
    --button-size: var(--button-size-mobile);
    aspect-ratio: 1/1;
    background-color: transparent;
    border: 0;
    color: var(--c);
    cursor: pointer;
    height: var(--button-size);
    left: 50%;
    opacity: 0;
    padding: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    transition-duration: .3s;
    transition-property: color,opacity;
    transition-timing-function: ease-in-out;
    z-index: var(--content)
}

.-active .button-play {
    opacity: 1;
    pointer-events: all
}

.button-play:focus,.button-play:hover {
    --c: var(--c-h);
    --custom-color: var(--c)
}

.button-play::before,.button-play::after {
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: solid 1px var(--c);
    border-top-color: transparent;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transform-origin: center center;
    transform: translate(-50%,-50%);
    transition: border-color .3s ease-in-out
}

.button-play::before {
    height: calc(var(--button-size) + 25px);
    transform: translate(-50%,-50%) rotate(50deg)
}

.button-play::after {
    height: calc(var(--button-size) + 50px);
    transform: translate(-50%,-50%) rotate(-50deg)
}

@media only screen and (min-width: 1025px) {
    .button-play {
        --button-size:var(--button-size-notebook)
    }
}

.modal-play .modal {
    background-color: transparent;
    border-radius: 0
}

.modal-play .modal .button-close-modal {
    right: -5px;
    top: -5px
}

.modal-play .modal iframe {
    background-color: var(--color-0);
    aspect-ratio: 16/9;
    height: auto;
    width: 100%
}

@media only screen and (max-width: 1024px) and (orientation:portrait) {
    .modal-play .modal {
        transform:rotate(90deg);
        width: auto
    }

    .modal-play .modal iframe {
        height: 80vw;
        width: auto
    }
}

@media only screen and (max-width: 1024px) and (orientation:landscape) {
    .modal-play .modal {
        width:auto
    }

    .modal-play .modal iframe {
        height: 80vh;
        width: auto
    }
}

.news {
    --news-padding-top-notebook: 500px;
    --news-padding-top-mobile: 450px;
    --news-padding-top: var(--news-padding-top-mobile);
    --slider-margin-right-notebook: 0;
    --slider-margin-right-mobile: calc(var(--bleed-background) * -1);
    --slider-margin-right: var(--slider-margin-right-mobile);
    --slider-padding-right-notebook: 0;
    --slider-padding-right-mobile: var(--bleed-background);
    --slider-padding-right: var(--slider-padding-right-mobile);
    --slider-background-margin-y: 85px;
    --slider-background-size-height-notebook: calc(100% - 20px);
    --slider-background-size-height-mobile: calc(100% - (var(--slider-background-margin-y) + 22px));
    --slider-background-size-height: var(--slider-background-size-height-mobile);
    --slider-background-size-width-notebook: calc(100% - 100px);
    --slider-background-size-width-mobile: calc(100% - 22px);
    --slider-background-size-width: var(--slider-background-size-width-mobile);
    --slider-ui-controls-top-notebook: 40px;
    --slider-ui-controls-top-mobile: -40px;
    --slider-ui-controls-top: var(--slider-ui-controls-top-mobile);
    --slider-ui-controls-padding-right-notebook: 80px;
    --slider-ui-controls-padding-right-mobile: 0;
    --slider-ui-controls-padding-right: var(--slider-ui-controls-padding-right-mobile);
    margin-top: -500px;
    padding-bottom: 120px;
    padding-top: var(--news-padding-top);
    position: relative
}

.news .slider {
    --custom-ratio: auto;
    height: 465px;
    margin-right: var(--slider-margin-right);
    padding-right: var(--slider-padding-right);
    position: relative;
    z-index: var(--content)
}

.news .slider::before {
    background-color: var(--color-5);
    content: "";
    display: block;
    height: var(--slider-background-size-height);
    position: absolute;
    right: 0;
    top: 0;
    width: var(--slider-background-size-width);
    z-index: var(--below-content)
}

.news .slider .slide {
    left: 0;
    position: absolute;
    top: 0;
    z-index: var(--content)
}

.news .slider .slider-ui-controls {
    top: var(--slider-ui-controls-top);
    display: block;
    right: 32px;
    padding-left: 80px;
    padding-right: var(--slider-ui-controls-padding-right);
    z-index: var(--over-content)
}

.news .slider .slider-ui-controls .counter-and-timer .counter {
    order: 2
}

.news .slider .slider-ui-controls .counter-and-timer .timer {
    background-color: var(--color-6);
    margin-left: 0;
    margin-right: 24px;
    order: 1;
    width: 150px
}

.news .slider .wrapper-banner {
    position: relative
}

@media only screen and (max-width: 1024px) {
    .news .slider .slide {
        padding-bottom:var(--slider-background-margin-y)
    }
}

@media only screen and (min-width: 1025px) {
    .news {
        --news-padding-top:var(--news-padding-top-notebook);
        --slider-margin-right: var(--slider-margin-right-notebook);
        --slider-padding-right: var(--slider-padding-right-notebook);
        --slider-background-size-height: var(--slider-background-size-height-notebook);
        --slider-background-size-width: var(--slider-background-size-width-notebook);
        --slider-ui-controls-top: var(--slider-ui-controls-top-notebook);
        --slider-ui-controls-padding-right: var(--slider-ui-controls-padding-right-notebook)
    }

    .news .shape {
        --custom-background-position: top 0 right 0
    }
}

.institutional-card {
    --fs-n: 24px;
    --fs-m: 20px;
    --lh-n: 32px;
    --lh-m: 28px;
    --ls-n: .58px;
    --ls-m: .48px;
    font-weight: var(--regular)
}

.institutional-card .box-icon {
    height: 85px
}

.institutional-card .info {
    --mx-w-n: 300px;
    --mx-w-m: 250px;
    margin-top: 10px;
    text-align: center
}

@media only screen and (min-width: 1025px) {
    .institutional-card .box-icon {
        height:130px
    }

    .institutional-card .info {
        margin-top: 40px
    }
}

.institutional {
    --institutional-padding-notebook: 140px;
    --institutional-padding-mobile: 80px;
    --institutional-padding: var(--institutional-padding-mobile);
    --title-and-description-margin-notebook: 70px;
    --title-and-description-margin-mobile: 40px;
    --title-and-description-margin: var(--title-and-description-margin-mobile);
    --justify-list-notebook: space-around;
    --justify-list-mobile: center;
    --justify-list: var(--justify-list-mobile);
    padding-bottom: var(--institutional-padding);
    padding-top: var(--institutional-padding);
    position: relative
}

.institutional .component-title-and-description,.institutional .flex {
    position: relative;
    z-index: var(--content)
}

.institutional .component-title-and-description {
    margin-bottom: var(--title-and-description-margin)
}

.institutional .flex {
    --jc: var(--justify-list)
}

@media only screen and (max-width: 1024px) {
    .institutional .flex li:not(li:last-of-type) {
        margin-bottom:40px
    }
}

@media only screen and (min-width: 1025px) {
    .institutional {
        --institutional-padding:var(--institutional-padding-notebook);
        --title-and-description-margin: var(--title-and-description-margin-notebook);
        --justify-list: var(--justify-list-notebook)
    }
}

.know-our-services-card {
    --fs-m: 16px;
    --fs-n: 18px;
    --lh-m: 20px;
    --lh-n: 23px;
    --ls-m: 0;
    --ls-n: 0
}

.know-our-services-card > .flex {
    --fw: nowrap;
    --jc: flex-start;
    align-items: center;
    height: 100%;
    padding: 22px 24px;
    width: 100%
}

.know-our-services-card .box-icon {
    --w: 58px;
    margin-right: 8px
}

.know-our-services-card .info {
    font-size: var(--fs-m);
    font-weight: var(--regular);
    letter-spacing: var(--ls-m);
    line-height: var(--lh-m);
    margin-top: 8px;
    text-transform: uppercase
}

@media only screen and (min-width: 1025px) {
    .know-our-services-card.flex {
        padding:24px 32px
    }

    .know-our-services-card .box-icon {
        --w: 95px
    }

    .know-our-services-card .info {
        font-size: var(--fs-n);
        letter-spacing: var(--ls-n);
        line-height: var(--lh-n);
        margin-top: 12px
    }
}

.modal-receive-call-form,.form-group {
    display: flex;
    flex-direction: column
}

.modal-receive-call-form {
    width: 100%
}

.modal-receive-call-form .form-group {
    margin-bottom: 20px;
    position: relative
}

.modal-receive-call-form .form-group .form-error-message {
    --fs: 12px;
    --lh: 15px;
    margin-top: 4px;
    max-width: 60%;
    opacity: 0
}

.modal-receive-call-form .form-group.-error .label {
    --fs: 12px;
    --lh: 15px;
    color: var(--color-7);
    opacity: 1;
    outline: none;
    top: -1em
}

.modal-receive-call-form .form-group.-error .form-error-message {
    color: var(--color-logo-1);
    opacity: 1
}

.modal-receive-call-form .form-group > .field {
    border: none;
    border-bottom: 1px solid var(--color-15);
    padding: 4px 0
}

.modal-receive-call-form .form-group > .field:focus ~ .label,.modal-receive-call-form .form-group > .field:valid ~ .label {
    --fs: 12px;
    --lh: 15px;
    color: var(--color-7);
    opacity: 1;
    top: -1em
}

.modal-receive-call-form .form-group > .label {
    --fs: 20px;
    --lh: 24px;
    color: var(--color-15);
    cursor: text;
    display: block;
    left: 0;
    opacity: .5;
    position: absolute;
    top: 0;
    transition: all .2s ease-in-out
}

.modal-receive-call-form .button {
    margin-top: 14px
}

.modal-receive-call-form .wire {
    --wire-color: var(--color-10)
}

.modal-receive-call {
    --spacing-top-mobile: 48px;
    --spacing-bottom-mobile: 24px;
    --spacing-top-notebook: 48px;
    --spacing-bottom-notebook: 48px;
    --title-and-description-margin-mobile: 20px;
    --title-and-description-margin-notebook: 24px;
    --title-and-description-margin: var(--title-and-description-margin-mobile);
    --spacing-top: var(--spacing-top-mobile);
    --spacing-bottom: var(--spacing-bottom-mobile)
}

.modal-receive-call .modal {
    max-width: 312px;
    padding: var(--spacing-top) 20px var(--spacing-bottom) 20px
}

.modal-receive-call .modal .modal-content {
    padding-top: 10px
}

.modal-receive-call .modal-title-and-description {
    margin-bottom: var(--title-and-description-margin)
}

.modal-receive-call .modal-title-and-description .title {
    --fs: 22px;
    --lh: 24px;
    --ls: 0;
    display: block;
    font-weight: var(--bold);
    margin-bottom: 8px
}

.modal-receive-call .modal-title-and-description .description {
    --fs: 14px;
    --lh: 18px;
    --ls: 0;
    display: block;
    font-weight: var(--regular)
}

@media only screen and (min-width: 1025px) {
    .modal-receive-call .modal {
        max-width:590px;
        padding: var(--spacing-top-notebook) 48px var(--spacing-bottom-notebook) 48px
    }

    .modal-receive-call .modal-title-and-description {
        margin-bottom: var(--title-and-description-margin-notebook)
    }

    .modal-receive-call .modal-title-and-description .title {
        --fs: 28px;
        --lh: 32px;
        --ls: 0
    }

    .modal-receive-call .modal-title-and-description .description {
        --fs: 18px;
        --lh: 22px;
        --ls: 0
    }
}

.know-our-services {
    --bottom-margin-mobile: 83px;
    --bottom-margin-notebook: 73px;
    --bottom-margin: var(--bottom-margin-mobile);
    --bottom-spacing-mobile: 254px;
    --bottom-spacing-notebook: 406px;
    --bottom-spacing: var(--bottom-spacing-mobile);
    --top-margin-mobile: 72px;
    --top-margin-notebook: 80px;
    --top-margin: var(--top-margin-mobile);
    --top-spacing-mobile: 72px;
    --top-spacing-notebook: 156px;
    --top-spacing: var(--top-spacing-mobile);
    margin-bottom: var(--bottom-margin-mobile);
    padding-bottom: var(--bottom-spacing-mobile);
    padding-top: var(--top-spacing);
    position: relative
}

.know-our-services .component-title-and-description {
    color: var(--color-1);
    margin-bottom: 32px;
    z-index: var(--content)
}

.know-our-services .list-channels {
    position: relative;
    z-index: var(--content)
}

@media only screen and (min-width: 1025px) {
    .know-our-services {
        margin-bottom:var(--bottom-margin-notebook);
        padding-bottom: var(--bottom-spacing-notebook);
        padding-top: var(--top-spacing-notebook)
    }

    .know-our-services .list-channels {
        --custom-column-size: 227px
    }
}

.self-service-card {
    --c-d: var(--color-1);
    --c-h: var(--color-10);
    display: block;
    height: 100%;
    position: relative;
    width: 100%
}

.self-service-card:hover picture img,.self-service-card:focus picture img {
    transform: scale(1.15)
}

.self-service-card:hover .wrapper-icon .box-icon,.self-service-card:focus .wrapper-icon .box-icon {
    --custom-color: var(--color-7)
}

.self-service-card:hover .label,.self-service-card:focus .label {
    background-color: var(--color-7)
}

.self-service-card picture img {
    transform: scale(1);
    transition: transform .3s ease-in-out
}

.self-service-card figcaption {
    --fs-n: 18px;
    --fs-m: 14px;
    --lh-n: 21px;
    --lh-m: 17px;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.self-service-card .wrapper-icon {
    display: flex;
    flex-grow: 1;
    justify-content: space-around
}

.self-service-card .wrapper-icon .box-icon {
    --custom-color: var(--color-1);
    --w: 87px
}

.self-service-card .label {
    background-color: var(--color-3);
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 24px;
    transition: background-color .3s ease-in-out
}

.self-service-card .label span {
    display: inline-block
}

.self-service-card .label > .box-icon {
    --custom-color: var(--c);
    --apr: 3/1;
    --w: 33px
}

@media only screen and (max-width: 1024px) {
    .self-service-card figcaption {
        --alc:flex-start;
        --fd: column;
        padding-left: 40px
    }

    .self-service-card .wrapper-icon {
        flex-direction: column;
        padding-left: 24px
    }

    .self-service-card .label {
        width: 100%
    }

    .self-service-card .label span {
        max-width: 135px
    }
}

.self-service .title {
    --mx-w-n: 328px;
    --mx-w-m: 267px
}

.self-service .description {
    --mx-w-n: 473px;
    --mx-w-m: 248px
}

.self-service .component-title-and-description {
    margin-bottom: 40px
}

.self-service .card-holder {
    aspect-ratio: 3/2;
    overflow: hidden;
    width: var(--box-size-liquid)
}

.self-service .card-holder:nth-child(even) .self-service-card:hover .label,.self-service .card-holder:nth-child(even) .self-service-card:focus .label {
    background-color: var(--color-7)
}

.self-service .card-holder:nth-child(even) .label {
    background-color: var(--color-5)
}

@media only screen and (min-width: 1025px) {
    .self-service .component-title-and-description {
        margin-bottom:32px
    }

    .self-service .card-holder {
        --set-box-size-liquid: 2;
        aspect-ratio: 2/1
    }

    .self-service .card-holder:nth-child(odd) .label {
        align-items: flex-end;
        align-self: flex-start;
        flex-direction: column-reverse;
        max-width: 180px;
        min-height: 230px;
        text-align: right
    }

    .self-service .card-holder:nth-child(even) .label {
        align-self: flex-end;
        max-width: 335px
    }

    .self-service .card-holder:nth-child(3) .wrapper-icon,.self-service .card-holder:nth-child(4) .wrapper-icon {
        order: 2
    }

    .self-service .card-holder:nth-child(3) .label,.self-service .card-holder:nth-child(4) .label {
        order: 1
    }

    .self-service .card-holder .wrapper-icon {
        height: 100%
    }

    .self-service .card-holder .label {
        width: 100%
    }
}

.store-links {
    --jc: flex-start
}

.store-links .store-links-item {
    --fs: 18px;
    --lh: 24px
}

.store-links .store-links-item:not(:last-of-type) {
    display: none
}

@media only screen and (min-width: 1025px) {
    .store-links .store-links-item:not(:last-of-type) {
        display:inline-flex;
        padding-right: 36px;
        position: relative
    }

    .store-links .store-links-item:not(:last-of-type)::after {
        border-right: solid 1px var(--color-12);
        content: "";
        display: block;
        height: 16px;
        position: absolute;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
        width: 0
    }
}

.store-map-pin {
    background-image: var(--bgi);
    background-position: right 0 top 0;
    background-repeat: no-repeat;
    background-size: cover;
    height: var(--store-map-pin-height)
}

.store-nav {
    height: 42px;
    margin-top: 16px;
    position: relative
}

.store-nav .slider-ui-controls {
    bottom: 11px;
    padding-left: 80px;
    padding-right: 80px;
    left: 0
}

.store-nav .slider-ui-controls .counter {
    --custom-color: var(--color-10)
}

.store-nav .slider-ui-controls .timer {
    display: none
}

.store-nav .slider-ui-controls .button-slider {
    --c-d: var(--color-7);
    --c-h: var(--color-10)
}

.store-nav .slider-ui-controls .button-slider.prev {
    left: 0
}

.store-nav .slider-ui-controls .button-slider.next {
    right: 0
}

.store-nav .slider-ui-controls .button-slider.prev,.store-nav .slider-ui-controls .button-slider.next {
    display: flex;
    position: absolute;
    top: -10px
}

.store-selector-list {
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease-in-out
}

.store-selector-list.-active {
    opacity: 1;
    pointer-events: all
}

.store-selector-list .title {
    --fs-n: 16px;
    --fs-m: 14px;
    --lh: 24px;
    --ls-n: 1.6px;
    --ls-m: 1.4px;
    font-weight: var(--regular);
    margin-bottom: 16px;
    margin-top: 0
}

.wrapper-stores-list {
    max-width: var(--store-item-size);
    overflow: hidden;
    width: 100%
}

.stores-list {
    --fw: nowrap;
    --module: var(--store-item-size)
}

.stores-list .store-item {
    min-width: var(--module);
    width: var(--module)
}

.stores-list .store-address {
    --fs-n: 20px;
    --fs-m: 18px;
    --lh: 24px;
    --ls-n: 2px;
    --ls-m: 1.8px;
    font-weight: var(--regular);
    margin-bottom: 16px;
    margin-top: 0
}

.stores-list .store-name {
    --fs: 18px;
    --lh: 34px;
    --ls: 1.8px;
    display: block;
    font-weight: var(--medium);
    margin-bottom: 8px
}

.store-map {
    --bgi-n: var(--bgi-notebook);
    --bgi-m: var(--bgi-mobile);
    --bgi: var(--bgi-m);
    --store-map-margin-notebook: 90px;
    --store-map-margin-mobile: 100px;
    --store-map-margin: var(--store-map-margin-mobile);
    --store-map-pin-height-notebook: 654px;
    --store-map-pin-height-mobile: 607px;
    --store-map-pin-height: var(--store-map-pin-height-mobile);
    --component-title-and-description-margin-notebook: 175px;
    --component-title-and-description-margin-mobile: 167px;
    --component-title-and-description-margin: var(--component-title-and-description-margin-mobile);
    --store-selector-top-notebook: 68px;
    --store-selector-top-mobile: 56px;
    --store-selector-top: var(--store-selector-top-mobile);
    --store-selector-padding-notebook: 56px 80px;
    --store-selector-padding-mobile: 40px 24px;
    --store-selector-padding: var(--store-selector-padding-mobile);
    --store-selector-icon-size-notebook: 125px;
    --store-selector-icon-size-mobile: 63px;
    --store-selector-icon-size: var(--store-selector-icon-size-mobile);
    --holder-title-description-margin-notebook: 48px;
    --holder-title-description-margin-mobile: 40px;
    --holder-title-description-margin: var(--holder-title-description-margin-mobile);
    --store-item-size-notebook: 432px;
    --store-item-size-mobile: 264px;
    --store-item-size: var(--store-item-size-mobile);
    margin-top: var(--store-map-margin);
    position: relative
}

.store-map .component-title-and-description {
    margin-bottom: var(--component-title-and-description-margin)
}

.store-map .component-title-and-description .description {
    --fs-n: 24px;
    --fs-m: 20px;
    --lh-n: 28px;
    --lh-m: 24px;
    --ls-n: 2.4px;
    --ls-m: 2px;
    margin: 0
}

.store-map .store-selector {
    --mx-w-n: 592px;
    --mx-w-m: 312px;
    background-color: var(--color-1);
    box-shadow: var(--box-shadow-3);
    left: 0;
    padding: var(--store-selector-padding);
    position: absolute;
    top: var(--store-selector-top);
    width: 100%;
    z-index: var(--content)
}

.store-map .wrapper-title-description {
    --fw: nowrap;
    align-items: flex-start
}

.store-map .wrapper-title-description .box-icon {
    --apr: auto;
    --w: var(--store-selector-icon-size);
    height: auto;
    display: block
}

.store-map .holder-title-description {
    --mx-w-n: calc(100% - (var(--store-selector-icon-size) + 44px));
    --mx-w-m: calc(100% - (var(--store-selector-icon-size) + 4px));
    margin-bottom: var(--holder-title-description-margin)
}

.store-map .holder-title-description .title {
    --fs-n: 28px;
    --fs-m: 20px;
    --lh-n: 32px;
    --lh-m: 24px;
    --ls-n: 2.8px;
    --ls-m: 2px;
    margin: 0
}

.store-map .holder-title-description .description {
    --fs-n: 18px;
    --fs-m: 16px;
    --lh-n: 22px;
    --lh-m: 20px;
    --ls-n: 1.8px;
    --ls-m: 1.6px;
    font-weight: var(--regular);
    margin-bottom: 0;
    margin-top: 8px
}

.store-map .nav-cities {
    border-bottom: solid 1px var(--color-12);
    margin-bottom: 40px;
    padding-bottom: 16px
}

.store-map .nav-cities .nav-select {
    --fs-n: 20px;
    --fs-m: 20px;
    --lh-n: 24px;
    --lh-m: 24px;
    color: var(--color-10);
    text-align: left
}

.store-map .nav-cities .nav-select:focus ~ .seta,.store-map .nav-cities .nav-select:hover ~ .seta {
    --custom-color: var(--color-7)
}

.store-map .nav-cities .nav-select ~ .seta {
    --custom-color: var(--color-10)
}

@media only screen and (min-width: 1025px) {
    .store-map {
        --bgi:var(--bgi-n);
        --store-map-margin: var(--store-map-margin-notebook);
        --store-map-pin-height: var(--store-map-pin-height-notebook);
        --component-title-and-description-margin: var(--component-title-and-description-margin-notebook);
        --store-selector-top: var(--store-selector-top-notebook);
        --store-selector-padding: var(--store-selector-padding-notebook);
        --store-selector-icon-size: var(--store-selector-icon-size-notebook);
        --holder-title-description-margin: var(--holder-title-description-margin-notebook);
        --store-item-size: var(--store-item-size-notebook)
    }
}

.button-tab {
    --c-d: var(--color-15);
    --c-h: var(--c-h-custom,var(--color-10));
    --c: var(--c-d-custom,var(--c-d));
    --fs: 20px;
    --lh: 29px;
    background-color: transparent;
    border: 0;
    color: var(--c);
    cursor: pointer;
    font-weight: var(--light);
    padding: 0 16px 18px;
    position: relative;
    transition: color .3s ease-in-out,font-weight .3s ease-in-out
}

.button-tab:focus,.button-tab:hover,.-active .button-tab {
    --c: var(--c-h)
}

.-active .button-tab {
    --fs: 24px;
    font-weight: var(--medium)
}

.button-tab::before,.button-tab::after {
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute
}

.button-tab::before {
    background-color: var(--color-10);
    height: 0;
    width: 100%
}

.button-tab::after {
    background-color: var(--color-7);
    height: 3px;
    transition: width .3s ease-in-out;
    width: 0
}

.-active .button-tab::after {
    width: 100%
}

@media only screen and (min-width: 1025px) {
    .button-tab::before {
        height:1px
    }
}

.custom-scrollbar-mobile {
    --scroll-thumb-background: transparent;
    --scroll-thumb-background-hover: var(--scroll-thumb-background);
    --scrollbar-background: transparent;
    --scrollbar-width-firefox: thin;
    --scrollbar-width-chromium: 0;
    scrollbar-color: var(--scroll-thumb-background) var(--scrollbar-background);
    scrollbar-width: var(--scrollbar-width-firefox)
}

.custom-scrollbar-mobile::-webkit-scrollbar {
    background: var(--scrollbar-background);
    width: var(--scrollbar-width-chromium);
    height: var(--scrollbar-width-chromium)
}

.custom-scrollbar-mobile::-webkit-scrollbar-thumb {
    background: var(--scroll-thumb-background);
    border: solid 1px var(--scroll-thumb-background)
}

.custom-scrollbar-mobile::-webkit-scrollbar-thumb:hover {
    background: var(--scroll-thumb-background-hover)
}

.tabs .tabs-display {
    position: relative;
    z-index: var(--content)
}

.tabs .wrapper-tabs {
    z-index: var(--content)
}

@media (max-width: 767px){
    .tabs .wrapper-tabs{
        width: 100vw !important;
        overflow: hidden;
        margin-left: calc(((100vw - 312px) / 2) * -1);
    }
}

.tabs .wrapper-tabs,.tabs .tab {
    height: 100%;
    position: absolute;
    width: 100%
}

.tabs .tab {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-100%);
    transition: opacity .5s ease-in-out,transform .5s ease-in-out;
    z-index: var(--below-content)
}

.tabs .tab.-active {
    opacity: 1;
    pointer-events: all;
    transform: translateX(0);
    z-index: var(--content)
}

.call-to-action {
    --padding-bottom-notebook: 124px;
    --padding-bottom-mobile: 93px;
    --padding-bottom: var(--padding-bottom-mobile);
    --padding-top-notebook: 124px;
    --padding-top-mobile: 74px;
    --padding-top: var(--padding-top-mobile);
    padding-bottom: var(--padding-bottom);
    padding-top: var(--padding-top);
    position: relative
}

.call-to-action > .background {
    --custom-color: var(--color-14)
}

.call-to-action .component-title-and-description {
    position: relative;
    z-index: var(--content)
}

.call-to-action .component-title-and-description .wrapper-cta {
    margin: 0
}

@media only screen and (max-width: 1024px) {
    .call-to-action .component-title-and-description .wrapper-cta {
        margin-top:24px
    }
}

@media only screen and (min-width: 1025px) {
    .call-to-action {
        --padding-bottom:var(--padding-bottom-notebook);
        --padding-top: var(--padding-top-notebook)
    }

    .call-to-action .component-title-and-description {
        align-items: center;
        display: flex;
        flex-direction: row;
        gap: 80px;
        justify-content: space-between;
        margin: 0 auto;
        max-width: 820px
    }

    .call-to-action .component-title-and-description .wrapper-cta {
        white-space: nowrap
    }
}

.msg-oferta-apps{
	margin-top: 16px;
	margin-bottom: 0;
	margin-left: auto;
	max-width: 80%;
	text-align: right;
	color: #FFF;
	font-size: 14px;
	font-weight: 400;
	line-height: 25px;
}

@media (min-width: 992px){
	.msg-oferta-apps{
		position: absolute;
		bottom: -63px;
		margin: 0;
		max-width: 100%;
		text-align: left;
	}
}

/*# sourceMappingURL=home.css.map */