@import url('./variable.css');

* {
    outline-color: var(--stl-primary) !important;
    outline-offset: 2px;
}

button {
    min-width: none;
    min-width: unset;
}

ul {
    margin-bottom: 0;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.label-contact-radio input:focus-visible ~ .checkmark {
    outline: 1px auto var(--stl-primary) !important;
}

.label-contact-radio input:focus-visible ~ .checkmark {
    outline-offset: 2px;
}

label.label-contact {
    text-transform: uppercase;
}

.list-style-lower-alpha {
    list-style-type: lower-alpha;
}

#ms-designer-ribbon {
    position: relative;
    z-index: 1000;
}

.ms-webpart-cell-horizontal {
    display: block;
}

.ms-webpartzone-cell {
    margin: 0;
}

h2,
h3,
.ms-h2,
.ms-h3,
.ms-headerFont {
    font-family: var(--stl-base-font);
    color: var(--stl-grey);
}

h1,
h2,
h3,
h4,
h5,
h6,
.ms-h1,
.ms-h2,
.ms-h3,
.ms-h4,
.ms-h5,
.ms-h6 {
    margin: unset;
}

input[type='button']:active,
input[type='reset']:active,
input[type='submit']:active,
button:active {
    background-color: transparent;
    border-color: transparent;
}

input[type='button']:hover,
input[type='reset']:hover,
input[type='submit']:hover,
button:hover {
    background-color: transparent;
    border-color: transparent;
}

html {
    font-size: 16px;
    font-family: var(--stl-base-font);
}

.main {
    height: 100vh;
    font-family: var(--stl-base-font);
}

/*? GENERAL STYLE */
a {
    text-decoration: none !important;
}

a:visited {
    color: inherit !important;
}

button {
    min-width: unset !important;
    min-width: auto !important;
}

.title {
    color: var(--stl-grey-blue);
    font-family: var(--stl-base-font);
    font-size: 3rem;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-transform: initial !important;
}

h2.internal-headings {
    font-family: var(--stl-base-font) !important;
    color: var(--stl-primary) !important;
}

.h-auto {
    height: auto;
    height: unset;
}

.no-uderline,
.no_underline * {
    text-decoration: none !important;
}

.desc {
    line-height: 1.7;
    margin-bottom: 0;
    font-size: 1rem;
    letter-spacing: 0.05em;
}

.bg-grey,
button.bg-grey,
button.bg-grey:active,
button.bg-grey:hover {
    position: relative;
    background-color: var(--stl-primary);
    color: var(--stl-grey-blue);
}

.bg-red {
    position: relative;
    background-color: var(--stl-primary);
    color: var(--stl-white);
}

.bg-lighten-grey {
    position: relative;
    background-color: var(--stl-lighten-grey);
    color: var(--stl-grey);
}

.big-title {
    font-size: 3rem;
}

.text-grey {
    color: var(--stl-primary) !important;
}

.text-white {
    color: var(--stl-white);
}

.img-panzoom {
    cursor: default !important;
}

.boxed-container {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

.object-fit-cover {
    object-fit: cover;
}

.object-fit-contain {
    object-fit: contain;
}

.object-fit-auto {
    object-fit: auto;
}

.object-position-left-top {
    object-position: left top;
}

.object-position-center-top {
    object-position: center top;
}

.object-position-right-top {
    object-position: right top;
}

.object-position-center-center {
    object-position: center top;
}

.object-position-left-bottom {
    object-position: left bottom;
}

.object-position-center-bottom {
    object-position: center bottom;
}

.object-position-right-bottom {
    object-position: right bottom;
}

/*? SPACING */

.spacing {
    padding: 4rem 2rem;
}

.spacing-l {
    padding-left: 2rem;
}

.spacing-r {
    padding-right: 2rem;
}

.spacing-x {
    padding-right: 2rem;
    padding-left: 2rem;
}

.spacing-y {
    padding-top: 8rem;
    padding-bottom: 8rem;
}

a.btn-wrapper {
    outline-offset: -1px;
}

a.btn-wrapper:focus-visible button {
    border-radius: 2px !important;
}

/*? BTN */

.btn {
    box-shadow: none !important;
    outline: none !important;
}

.btn:focus-visible {
    outline: 1px auto var(--stl-primary) !important;
}

.btn-custom {
    width: 100%;
    border: 1px solid;
    border-color: var(--stl-secondary) !important;
    border-radius: 0;
    background-color: transparent !important;
    color: var(--stl-primary);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2rem;
    letter-spacing: 0.05em;
    padding: 1rem 2rem;
    transition: background-color 200ms ease-in;
}

.btn-custom:hover,
.btn-wrapper:focus-visible .btn-custom,
.btn-custom:active {
    border-color: var(--stl-primary) !important;
    background-color: var(--stl-primary) !important;
    color: var(--stl-white) !important;
    transition: background-color 200ms ease-in;
}

.btn-custom.btn-borderless {
    border-width: 1px;
    border-color: transparent !important;
    transition: border-color 200ms ease-in;
}

.btn-custom.btn-borderless:hover,
.btn-custom.btn-borderless:focus-visible,
.btn-custom.btn-borderless:active {
    border-color: var(--stl-primary) !important;
    transition: border-color 200ms ease-in;
}

.carousel-control-next:focus-visible,
.carousel-control-next:active,
.carousel-control-next:hover,
.carousel-control-prev:focus-visible,
.carousel-control-prev:active,
.carousel-control-prev:hover {
    background-color: transparent !important;
    opacity: 0.9;
}

/*? ARROW-LINK */

.arrow-link {
    display: inline-flex;
    position: relative;
    align-items: center;
    margin: 1.5rem 0;
    color: var(--stl-secondary);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: 0.2em;
}

.arrow-link:hover {
    color: var(--stl-secondary) !important;
}

.arrow-link:active {
    color: var(--stl-secondary) !important;
}

.arrow-link:visited {
    color: var(--stl-secondary) !important;
}

.arrow-link.grey {
    color: var(--stl-grey) !important;
}

.arrow-link.grey:hover {
    color: var(--stl-grey) !important;
}

.arrow {
    width: 7.25rem;
    height: 1.5rem;
    background-image: url('../assets/long-arrow-right.svg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-left: 1rem;
}

.arrow-below {
    width: 0.75rem;
    height: 6rem;
    background-image: url('../assets/Freccia-below.svg');
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
}

.mouse-icon {
    width: 1rem;
    height: 1.75rem;
    background-image: url('../assets/mouse-icon.svg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.arrow-link.grey .arrow {
    background-image: url('../assets/long-arrow-right-grey.svg');
}

/*? LAYER-PLAY */
.layer-play {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding-right: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*? GREY MASK */

/*? BORDER TOP*/

.border-top {
    border-top: 1px solid;
}

/*? FONT STYLE */

.no-text {
    font-size: 0;
    line-height: 0;
    color: transparent;
}

.f-weight-900 {
    font-weight: 900;
}

/*? NOTIFICATION PANEL  */
.notification-panel {
    border-radius: 8px;
    text-align: center;
    font-size: 16px;
    font-size: 1rem;
    padding: 10px 6px;
    padding: 1rem 0.6rem;
}

.notification-panel.notification-error {
    color: #a94442;
    background-color: #f2dede;
    border: 1px solid #a94442;
}

.notification-panel.notification-success {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}

/*! XS */

/*? HEADER */

.header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 100px;
    background-color: var(--stl-white-85);
    color: var(--stl-primary);
    backdrop-filter: blur(24px);
    font-weight: 600;
    z-index: 99;
    transition: background-color 200ms ease-in;
}

.header::after {
    content: '';
    height: 1px;
    width: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99;
    background-color: #486284;
}

.header-container {
    height: 100%;
    position: relative;
    padding: 0 2rem;
    max-width: 1440px;
    margin: 0 auto;
}

.header-container > a {
    width: min-content;
    padding: 0 4px !important;
}

.header-container > a:first-of-type {
    padding: 0 !important;
}

.header-container > a:focus-visible {
    outline-offset: -2px;
    z-index: 100;
}

.header .logo {
    position: relative;
    z-index: 99;
    min-width: 200px;
    background-image: url('../assets/logo.svg');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

/* 
.header.scroll {
	background-color: var(--stl-white);
	transition: background-color 200ms ease-in;
} */

.header.scroll .trigger-offcanvas-menu-mobile .diagonal {
    background-color: var(--stl-grey);
}

/* .header.scroll .offcanvas-menu-md .offcanvas-menu-md-item label,
.header.scroll .offcanvas-menu-md .offcanvas-menu-md-item a,
.header.scroll .offcanvas-menu-md .offcanvas-menu-md-item .lang-select {
	color: var(--stl-grey) !important;
	transition: color 200ms ease-in, font-weight 200ms ease-in;
}

.header.scroll .offcanvas-menu-md .offcanvas-menu-md-item li a:hover,
.header.scroll .offcanvas-menu-md .offcanvas-menu-md-item .lang-select:hover,
.header.scroll .offcanvas-menu-md .offcanvas-menu-md-item li a:focus-visible,
.header.scroll .offcanvas-menu-md .offcanvas-menu-md-item .lang-select:focus-visible {
	font-weight: 600;
	transition: color 200ms ease-in, font-weight 200ms ease-in;
} */

/* .header.scroll .logo {
	background-image: url("../assets/logo.svg");
} */

/*? BTN COLLAPSE */

.btn-collapse {
    position: relative;
    margin: 0.375rem 0;
    padding: 0;
}

.btn-collapse:first-of-type {
    margin-top: 0;
}

.btn-collapse:last-of-type {
    margin-bottom: 0;
}

/*? SOCIAL CONTAINER */

.social-container a {
    color: var(--stl-white) !important;
    font-size: 1.2rem;
    text-decoration: none;
}

.social-container a + a {
    margin-left: 1rem;
}

/*? HERO IMG */

.hero-container {
    position: relative;
}

.hero-container .hero-img-container {
    height: 100vh;
}

.hero-container .hero-img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

.hero-container .hero-caption {
    position: absolute;
    left: 0;
    bottom: 4.25rem;
    color: var(--stl-grey-blue);
    padding: 2rem 2rem 2rem;
}

.hero-container .hero-caption > img {
    width: 240px;
}

.hero-container .hero-caption .title {
    line-height: 4rem;
    margin-bottom: 2rem !important;
}

/*? CAROUSEL-CUSTOM-INDICATOR */
.carousel-custom-indicators {
    margin-left: 1rem;
    flex-wrap: nowrap;
}

.carousel-custom-indicators button,
.carousel-custom-indicators button:hover {
    padding: 0 0.5rem;
    border-radius: 0;
    flex: auto;
    flex: max-content;
    border: none;
    border-color: transparent;
}

.carousel-custom-indicators button:focus-visible {
    position: relative;
    z-index: 1;
    outline-offset: -2px;
}

.carousel-custom-indicators button:last-of-type {
    padding-right: 1rem;
}

.carousel-custom-indicators button span {
    color: var(--stl-white);
    font-size: 0.65rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 5%;
}

.carousel-custom-indicators button .slides-number {
    position: absolute;
    top: 2px;
    left: 4px;
    font-weight: 400;
}

.carousel-custom-indicators button .btn-content {
    pointer-events: none;
    padding: 1rem 0;
}

.carousel-custom-indicators button .btn-title {
    position: relative;
    display: inline-block;
    padding: 0 4px;
    text-align: center;
}

.carousel-custom-indicators button .btn-title::after {
    content: '';
    width: 0;
    height: 2px;
    position: absolute;
    bottom: -6px;
    left: 0px;
    right: 0px;
    background-color: var(--stl-primary) !important;
    transition: width 200ms ease-in;
}

.carousel-custom-indicators button.active span {
    color: var(--stl-white);
    font-weight: 700;
}

.carousel-custom-indicators button.active .btn-title::after {
    width: 100%;
}

/*? CARD */

.card-container .card-description {
    height: 100%;
    padding-top: 2rem;
    padding-bottom: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.card-container > .row:last-of-type .card-description {
    padding-bottom: 0rem;
}

.card-container .card-description h2 {
    margin-bottom: 1.5rem !important;
}

.card-container .card-description .up-title {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 1.67px;
}

.card-container .reverse-row .card-description {
    padding-bottom: 0;
}

.card-container .card-description > p.desc {
    margin-bottom: 1rem !important;
}

.card-container .card-description > p:last-of-type {
    margin-bottom: 2rem !important;
}

.card-container .card-description .desc {
    line-height: 1.4rem;
    text-align: justify;
}

.card-container .card-description .row-btn > *:not(.btn-wrapper) {
    margin-bottom: 2rem;
}

.card-container .card-description .btn-card {
    color: var(--stl-grey);
}

.card-container .card-description .btn-card:hover {
    color: var(--stl-white);
}

.card-container .card-img-container {
    position: relative;
}

.card-container .card-img-container .card-img {
    height: 200px;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-container .reverse-row .card-img-container .card-img {
    object-position: top;
}

/*? DATA */

.data-container {
    padding: 2rem;
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.data-container .data-content {
    border-top: 2px solid;
    border-color: var(--stl-secondary);
}

.data-container .data-content + .data-content {
    margin-top: 3rem;
}

.data-container .data {
    position: relative;
    display: inline-block;
}

.data-container .data .value.f-weight-900 {
    font-weight: 400;
}

.data-container .data .value {
    font-size: 2.25rem;
    line-height: 4.75rem;
    position: relative;
}

.data-container .data .value span {
    position: static;
    font-size: 1.65rem;
    line-height: 1.5rem;
    top: 1rem;
    left: calc(100% + 0.3rem);
}

.data-container .data .sub-title,
.data-container .data .up-title {
    font-family: var(--stl-base-font);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1rem;
    letter-spacing: 0.84px;
    color: var(--stl-grey-subtitle);
}

.data-container .data .up-title {
    font-size: 0.65rem;
    letter-spacing: 0.7px;
}

/*? OFFCANVAS MENU MOBILE */

#gearOffcanvasMenuMobile {
    transition: all 0.3s;
    box-sizing: border-box;
    display: none;
}

.trigger-offcanvas-menu-mobile {
    width: 40px;
    height: 40px;
    position: absolute;
    color: transparent;
    font-size: 0;
    line-height: 0;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 99;
    cursor: pointer;
    transition: all 0.3s;
}

.trigger-offcanvas-menu-mobile .icon-offcanvas-menu-mobile {
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: var(--stl-primary);
    transition: all 0.3s;
}

.trigger-offcanvas-menu-mobile .horizontal {
    position: relative;
    margin-top: 1px;
    background-color: transparent;
    transition: all 0.3s;
}

.trigger-offcanvas-menu-mobile .diagonal.part-1 {
    position: relative;
    transition: all 0.3s;
}

.trigger-offcanvas-menu-mobile .diagonal.part-2 {
    position: relative;
    margin-top: 4px;
    transition: all 0.3s;
}

input[type='checkbox']:checked ~ .trigger-offcanvas-menu-mobile > .horizontal {
    opacity: 0;
    transition: all 0.3s;
}

input[type='checkbox']:checked ~ .trigger-offcanvas-menu-mobile > .diagonal.part-1 {
    margin-top: 2px;
    background-color: var(--stl-grey);
    transition: all 0.3s;
    transform: rotate(135deg);
}

input[type='checkbox']:checked ~ .trigger-offcanvas-menu-mobile > .diagonal.part-2 {
    margin-top: -3px;
    background-color: var(--stl-grey);
    transition: all 0.3s;
    transform: rotate(-135deg);
}

input[type='checkbox']:checked ~ .offcanvas-menu-mobile-content {
    transform: translateX(0);
}

.offcanvas-menu-mobile-content {
    height: calc(100vh - 100px);
    position: fixed;
    right: 0;
    width: 100%;
    top: 100px;
    padding-top: 0rem;
    transform: translateX(100%);
    transition: transform 250ms ease-in-out;
    background-color: var(--stl-primary);
    background-position: left top;
    background-size: cover;
    background-repeat: no-repeat;
    overflow-y: auto;
}

.offcanvas-menu-mobile-content .btn-offcanvas-section {
    color: var(--stl-white);
    font-weight: 600;
    font-size: 1.2rem;
}

.offcanvas-menu-mobile-content a {
    color: var(--stl-white);
    text-decoration: none;
    font-size: 1.2rem;
}

/*? OFFCANVAS MENU-MD */

.offcanvas-menu-md .offcanvas-menu-md-item {
    display: flex;
    height: 100%;
    align-items: center;
    position: relative;
    font-size: 1rem;
    font-weight: 600;
    z-index: 100;
    margin-left: 0.5rem;
}

.offcanvas-menu-md .offcanvas-menu-md-item::after {
    content: '';
    width: 0;
    height: 2px;
    position: absolute;
    right: 0;
    bottom: 1px;
    left: 4px;
    background-color: var(--stl-primary);
    transition: all 200ms ease-in;
}

.offcanvas-menu-md .offcanvas-menu-md-item.default-active:not(.active):after {
    background-color: var(--stl-primary-50);
}

.offcanvas-menu-md .offcanvas-menu-md-item.active::after,
.offcanvas-menu-md .offcanvas-menu-md-item.default-active::after {
    width: calc(100% - 8px);
    transition: all 200ms ease-in;
}

.offcanvas-menu-md .offcanvas-menu-md-item label,
.offcanvas-menu-md .offcanvas-menu-md-item a,
.offcanvas-menu-md .offcanvas-menu-md-item .lang-select {
    height: 100%;
    display: flex;
    align-items: center;
    cursor: pointer;
    text-decoration: none;
    color: var(--stl-primary);
    padding-right: 4px;
    padding-left: 4px;
    text-transform: initial !important;
}

.offcanvas-menu-md .offcanvas-menu-md-item label:focus-visible,
.offcanvas-menu-md .offcanvas-menu-md-item a:focus-visible,
.offcanvas-menu-md .offcanvas-menu-md-item .lang-select:focus-visible {
    outline-offset: -2px;
}

.offcanvas-menu-md .offcanvas-menu-md-item .pages-list {
    width: 400%;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    list-style: none;
    padding: 0;
    opacity: 0;
    display: none;
    pointer-events: none;
    transition: opacity 200ms ease-in;
}

.offcanvas-menu-md .offcanvas-menu-md-item .pages-list li {
    margin-bottom: 0.5rem;
}

.offcanvas-menu-md .offcanvas-menu-md-item .pages-list a {
    color: var(--stl-grey);
    text-decoration: none;
    font-weight: 500;
    letter-spacing: 1.03px;
    cursor: pointer;
    display: inline;
    padding: 0;
}

.offcanvas-menu-md .offcanvas-menu-md-item .pages-list a:focus-visible {
    outline-offset: 2px;
}

.offcanvas-menu-md .offcanvas-menu-container {
    width: 100%;
    height: 220px;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 98;
    background-color: var(--stl-white);
    opacity: 0;
    pointer-events: none;
    transition: opacity 200ms ease-in;
}

.offcanvas-menu-md .offcanvas-backdrop {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 97;
    background-color: transparent;
    opacity: 0;
    pointer-events: none;
    transition: opacity 200ms ease-in;
}

.offcanvas-menu-md input[type='checkbox']:checked ~ .offcanvas-menu-md-item label {
    color: var(--stl-primary);
}

.offcanvas-menu-md input[type='checkbox']:checked ~ .offcanvas-menu-container {
    opacity: 1;
    pointer-events: all;
    transition: opacity 200ms ease-in;
}

.offcanvas-menu-md input[type='checkbox']:checked ~ .offcanvas-backdrop {
    opacity: 1;
    pointer-events: all;
    transition: opacity 200ms ease-in;
}

.offcanvas-menu-md .lang-select {
    position: relative;
    background: transparent;
    border: none;
    border-radius: 0;
    font-weight: 700;
    color: var(--stl-white);
}

.offcanvas-menu-md .lang-select option {
    color: var(--stl-grey);
}

/*? CAROUSEL */
.carousel .carousel-indicators {
    margin: 0 2rem 6rem;
}

.carousel .carousel-indicators button {
    position: relative;
    width: 44px;
    margin: 0;
}

.carousel .carousel-indicators button + button {
    margin-left: 0.3rem;
}

.carousel .carousel-indicators button.active {
    width: 88px;
}

.carousel-indicators [data-bs-target] {
    text-indent: unset;
}

.carousel .carousel-indicators button .slides-number {
    position: absolute;
    top: 0.5rem;
    left: 0rem;
    color: var(--stl-white);
    font-size: 0.65rem;
    line-height: 1;
    font-weight: 700;
    display: none;
}

.carousel .carousel-indicators button.active .slides-number {
    display: block;
}

.carousel .custom-element {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
}

.carousel .custom-element .row-btn {
    width: auto;
    padding-top: 0;
    padding-bottom: 1rem;
}

.carousel .custom-element .social-container {
    padding-right: 3.2rem;
    padding-bottom: 1.1rem;
}

.carousel .custom-element .social-container a {
    opacity: 0.8;
    transition: opacity 200ms ease-in;
}

.carousel .custom-element .social-container a:hover {
    opacity: 1;
    transition: opacity 200ms ease-in;
}

.carousel .custom-element .carousel-control {
    position: static;
    width: 62px;
    height: 62px;
}

.carousel .custom-element .carousel-control + .carousel-control {
    margin-left: 1rem;
}

.carousel-control-prev:focus-visible .carousel-control-prev-icon,
.carousel-control-next:focus-visible .carousel-control-next-icon {
    outline: -webkit-focus-ring-color auto 1px;
}

.carousel .custom-element .carousel-control span {
    height: 62px;
    width: 100%;
    background-image: url('../assets/Arrow_sn.svg');
    background-size: contain;
    background-position: center left;
}

.carousel .custom-element .carousel-control .carousel-control-next-icon {
    transform: rotate(180deg);
}

/*? OFFERS */

.offers-section .offers-container {
    position: relative;
    margin-top: 5rem;
}

.offers-section .bg-b-big {
    min-height: 280px;
    object-fit: contain;
    width: 100%;
}

.offers-section .offers-content {
    z-index: 1;
    padding: 4rem 2rem 0rem 0rem;
    margin: 0;
}

.offers-section .offers-content .title {
    margin-bottom: 2rem !important;
}

.offers-section .offers-content .desc {
    margin-bottom: 2rem;
}

.offers-section .offers-content .btn-wrapper:focus-visible button {
    border-color: var(--stl-primary) !important;
    background-color: var(--stl-primary) !important;
    color: var(--stl-white) !important;
    transition: background-color 200ms ease-in;
}

/*? CAROUSEL SLICK */

.carousel-slick-section .slick-slides {
    width: 100% !important;
    position: relative;
}

.carousel-slick-section + .carousel-slick-section > div {
    background-color: var(--stl-white) !important;
}

.carousel-slick-section + .carousel-slick-section .slick-slides {
    padding-top: 5rem;
}

.carousel-slick-section .slick-slides .slick-carousel {
    margin-bottom: 0;
    z-index: 2;
}

.carousel-slick-section .slick-slides .slick-slides-title {
    line-height: 3.75rem;
    margin: 1rem 0 1rem 0;
}

.carousel-slick-section .slick-slide {
    position: relative;
    padding-right: 2rem;
}

.carousel-slick-section .slick-slide > img {
    height: 500px;
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.carousel-slick-section .slick-slide:focus-visible {
    outline-offset: -2px;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

.carousel-slick-section .slick-slide .slide-caption {
    position: absolute;
    right: 2rem;
    bottom: 2.75rem;
    left: 2rem;
}

.carousel-slick-section .slick-slide .slide-caption .slides-control {
    margin-bottom: 0;
}

.carousel-slick-section .slick-slide .slide-caption .title {
    /* font-size: 2.5rem;
  line-height: 3.75rem; */
    margin-bottom: 0;
}

.carousel-slick-section .slick-slide .slide-caption .desc {
    width: 75%;
    /* font-size: 1.25rem;
  line-height: 1.45rem; */
}

.carousel-slick-section .slick-slide .slide-caption a {
    display: inline-flex;
    position: relative;
    align-items: center;
    margin: 1.5rem 0 0;
    color: var(--stl-secondary) !important;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: 0.2em;
}

.carousel-slick-section .slick-carousel .slick-list {
    padding: 0 0 0 0 !important;
    max-width: 100vw;
}

.carousel-slick-section .slick-slides .slick-footer {
    position: relative;
    z-index: 3;
    margin-top: 2rem;
    margin-bottom: 2rem;
    row-gap: 0.5rem;
    padding: 0 2rem;
    margin-right: calc(3% + 1.5rem);
}

.carousel-slick-section .slick-footer .slides-control .slides-arrow {
    width: 62px;
    height: 62px;
    background-color: transparent;
    background-image: url('../assets/Arrow_grey_sn.svg');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    border: none;
    font-size: 0;
    opacity: 0.5;
    transition: opacity 200ms ease-in;
}

.carousel-slick-section .slick-footer .slides-control .slides-arrow:hover,
.carousel-slick-section .slick-footer .slides-control .slides-arrow:focus-visible {
    opacity: 1;
    transition: opacity 200ms ease-in;
}

.carousel-slick-section .slick-footer .slides-control .slides-next {
    left: 5rem;
    transform: rotate(180deg);
}

.carousel-slick-section .slick-footer .slides-control .slides-arrow + .slides-arrow {
    margin-left: 1rem;
}

.carousel-slick-section .slick-slides .slick-footer .slick-slide-desc {
    color: var(--stl-grey-blue);
}

.carousel-slick-section .slick-slides .slick-footer .slick-slide-desc p {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.carousel-slick-section .slick-slides .slick-footer .slick-slide-desc p.active {
    opacity: 1;
    transition: opacity 200ms ease-in;
}

.carousel-slick-section .slick-carousel-dots {
    position: relative;
    margin-left: 1.5rem;
}

.carousel-slick-section .slick-dots {
    display: flex;
    justify-content: end;
    bottom: unset;
}

.carousel-slick-section .dots-multiline {
    align-items: center !important;
}

.carousel-slick-section .dots-multiline .slick-dots {
    flex-wrap: wrap;
    justify-content: flex-start !important;
}

.carousel-slick-section .dots-multiline .slick-dots .slick-active {
    max-width: 55px;
}

.carousel-slick-section .dots-multiline .slick-dots li:first-of-type {
    margin-left: 0.5rem;
}

.carousel-slick-section .slick-dots li {
    width: 75%;
    max-width: 55px;
    transition: all 250ms ease-in;
    margin: 0;
}

.carousel-slick-section .slick-dots li + li {
    margin-left: 0.5rem;
}

.carousel-slick-section .slick-dots li button:focus-visible {
    outline: -webkit-focus-ring-color auto 1px;
}

.carousel-slick-section .slick-dots li button::before {
    content: '';
    width: 100%;
    flex: 1;
    height: 2px;
    top: 50%;
    transform: translateY(-50%);
    background-color: var(--stl-secondary);
    transition: all 250ms ease-in;
    opacity: 0.5;
}

.carousel-slick-section .slick-dots li button {
    width: 10px;
    padding: 0px 28px;
}

.carousel-slick-section .slick-dots li button span {
    position: absolute;
    font-size: 0.65rem;
    line-height: 0.8rem;
    color: var(--stl-secondary);
    bottom: -6px;
    left: 0;
    opacity: 0;
    transition: opacity 200ms ease-in;
}

.carousel-slick-section .slick-dots .slick-active {
    width: 100%;
    max-width: 70px;
    transition: all 250ms ease-in;
}

.carousel-slick-section .slick-dots .slick-active button {
    padding: 0px 36px 28px;
}

.carousel-slick-section .slick-dots .slick-active button::before {
    width: 100%;
    opacity: 1;
    transition: all 250ms ease-in;
}

.carousel-slick-section .slick-dots .slick-active button span {
    opacity: 1;
    transition: opacity 200ms ease-in;
}

/*? EVENTS, CONTACTS, MAP */

.events-section .events-container .title,
.red-section .red-container .title,
.map-section .map-container .title {
    font-size: 2.5rem;
    line-height: 2rem;
}

.events-section .events-container .bg-events,
.red-section .red-container .bg-red,
.map-section .map-container .bg-grey {
    width: 100%;
    background-image: url('../assets/Events.jpg');
    background-position: top left;
    background-size: cover;
    background-repeat: no-repeat;
}

.events-section .events-container .events-content,
.red-section .red-container .red-content,
.map-section .map-container .map-content {
    padding: 4rem 1.5rem;
    align-items: flex-end;
}

.events-section .events-container .events-content a {
    width: auto;
}

.events-section .events-container .events-content .desc,
.red-section .red-container .red-content .desc,
.map-section .map-container .map-content .desc {
    margin-bottom: 0;
}

.events-section .events-container .events-content .btn-wrapper:focus-visible .btn-events,
.events-section .events-container .events-content .btn-events:hover,
.events-section .events-container .events-content .btn-events:active,
.red-section .red-container .red-content .btn-wrapper:focus-visible .btn-red,
.red-section .red-container .red-content .btn-red:hover,
.red-section .red-container .red-content .btn-red:active,
.map-section .map-container .map-content .btn-wrapper:focus-visible .btn-grey,
.map-section .map-container .map-content .btn-grey:hover,
.map-section .map-container .map-content .btn-grey:active {
    background-color: var(--stl-white) !important;
    color: var(--stl-primary) !important;
    transition: all 200ms ease-in;
}

.events-section .events-container .events-content .logo-container,
.red-section .red-container .red-content .logo-container,
.map-section .map-container .map-content .logo-container {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
}

.events-section .events-container .events-content .logo,
.red-section .red-container .red-content .logo,
.map-section .map-container .map-content .logo {
    margin-bottom: -6.5rem;
    max-width: 280px;
}

.red-section .red-container .red-content .btn-red,
.map-section .map-container .map-content .btn-grey {
    border: 1px solid;
    border-color: var(--stl-secondary) !important;
    border-radius: 0;
    background-color: var(--stl-primary) !important;
    color: var(--stl-grey-blue);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2rem;
    letter-spacing: 0.05em;
    padding: 1rem 2rem;
    transition: background-color 200ms ease-in, color 200ms ease-in;
}

/*? EVENTS */

.events-section .events-container .events-content > div.row > * {
    margin-bottom: 3.5rem;
}

.events-section .events-container .events-content .btn-events {
    border-color: var(--stl-white) !important;
    background-color: var(--stl-primary) !important;
    transition: background-color 200ms ease-in, color 200ms ease-in;
}

/* .card-container .card-description {
    padding-right: 0rem;
    padding-left: 0rem;
} */

.card-section .card-container .card-description .title {
    font-size: 3.25rem;
    line-height: 3rem;
}

/*? CONTACTS */

.red-section .red-container {
    color: var(--stl-white);
}

.red-section .red-container .bg-red {
    background-image: none;
    background-color: var(--stl-primary);
}

.red-section .red-container .red-content {
    padding: 3rem 1.5rem 5rem;
}

.red-section .red-container .desc {
    line-height: 1.4rem;
}

.red-section .red-container .red-content .d-flex {
    flex-direction: column;
}

.red-section .red-container .red-content .btn-red-container + .btn-red-container {
    margin-top: 2.2rem;
}

.red-section .red-container .red-content > div.row > * {
    padding-bottom: 1.2rem;
}

/*? MAP  */
.map-section .map-container .bg-grey {
    background-image: none;
    background-color: var(--stl-primary);
    display: flex;
    flex-direction: row-reverse;
}

.map-section .map-container .map-content {
    padding: 3rem 1.5rem 3rem;
    display: flex;
    align-items: center;
}

.map-section .map-container .map-content .btn-grey:hover {
    color: var(--stl-grey);
}

.map-section .map-container .map-content .col-12 > h2 {
    color: var(--stl-secondary);
}

.map-section .map-container .map-content .btn-grey {
    position: relative;
}

.map-section .map-container .map-content .btn-grey .maps-icon {
    height: 30px;
    width: auto;
    padding: 0 !important;
}

.map-section .map-container .img-map {
    width: 100%;
    height: 100%;
}

.btn-map-container {
    outline-offset: 2px !important;
}

.btn-map-container span {
    padding-left: 0.5rem;
}

.map-section .map-container .map-content > div.row > * {
    padding-bottom: 1.2rem;
}

.map-section .map-container .map-content .row > div.d-flex {
    padding-bottom: 0rem !important;
}

/*? CLICKABLE-CARD */

.clickable-card .card {
    background-color: transparent;
    border: none;
    justify-content: center;
    align-items: center;
    cursor: default;
    transition: background-color 250ms;
}

.clickable-card .card:link {
    cursor: pointer;
}

.clickable-card .card:link:hover {
    background-color: var(--stl-white);
    transition: background-color 250ms;
}

.clickable-card .card .card-img {
    width: 82px;
    height: 82px;
}

.clickable-card .card .card-title {
    font-size: 2rem;
    line-height: 1.5rem;
    min-height: 3rem;
}

.clickable-card .card .card-text {
    font-size: 1rem;
    line-height: 1.25rem;
    color: var(--stl-grey-text);
}

/*? PRE-FOOTER */

.pre-footer-container {
    margin-top: 0rem;
}

.pre-footer-container .pre-footer-content {
    position: relative;
}

.pre-footer-container .pre-footer-content .pre-footer-img {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
}

.pre-footer-container .pre-footer-content .pre-footer-caption {
    position: absolute;
    z-index: 2;
    bottom: 0;
    width: 100%;
    height: 100%;
    align-content: end;
    padding-bottom: 2rem;
}

.pre-footer-container .pre-footer-content .pre-footer-caption .title {
    font-size: 3.2rem;
    line-height: 3.75rem;
}

.pre-footer-container .pre-footer-content .pre-footer-caption .arrow-link {
    margin-bottom: 0;
    letter-spacing: 1.83px;
}

.pre-footer-container .pre-footer-content .pre-footer-caption .arrow {
    width: 7.25rem;
}

/*? FOOTER */

.footer .footer-container {
    max-width: 1400px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    padding: 4.5rem 2rem 0;
    margin: 0 auto;
    margin-bottom: 4.5rem;
}

.footer .footer-container .btn-collapse,
.footer .footer-container a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-direction: row-reverse;
    gap: 8px;
    color: var(--stl-grey-blue);
    text-decoration: none;
    margin-bottom: 1rem;
    transition: opacity 200ms ease-in;
}

.footer .footer-container .btn-collapse + .btn-collapse,
.footer .footer-container .btn-collapse + .btn-wrapper {
    margin-top: 1.5rem;
}

.footer .footer-container .btn-collapse:hover span,
.footer .footer-container .collapse a:hover {
    text-decoration: underline !important;
}

footer .footer-container .btn-collapse[aria-expanded='true'] i {
    transform: translateX(-100%) rotate(0deg);
}

.footer .footer-container .pages-list-container > span,
.footer .footer-container .pages-list-container .pages-list.link a {
    color: var(--stl-white) !important;
}

.footer .footer-container .pages-list-container .pages-list li > a {
    font-size: 0.75rem;
}

.footer .footer-container .btn-collapse i {
    position: absolute;
    left: -4px;
    padding-right: 0 !important;
    transform: translateX(-100%) rotate(-90deg);
    transition: transform 200ms ease-in-out;
}

.footer .footer-container img {
    width: 250px;
    padding-bottom: 4rem;
}

.footer .footer-container .social-container a {
    font-size: 1.2rem;
}

.footer .copyright-container {
    background-color: var(--stl-black);
    padding: 1.2rem 0;
    font-size: 0.7rem;
    letter-spacing: 1.03px;
}

.footer .copyright-container .copyright-sm {
    display: none !important;
}

.footer .copyright-container .copyright-md {
    display: flex !important;
}

.footer .copyright-container .d-md-flex {
    display: flex !important;
}

.footer .footer-container .collapse,
.footer .footer-container .collapsing {
    padding-left: 0.75rem;
    align-self: flex-start;
}

.footer .footer-container .collapse .pages-section,
.footer .footer-container .collapsing .pages-section {
    align-items: start !important;
}

.footer .copyright-container .copyright-md span + span,
.footer .copyright-container a + a {
    margin-left: 1.2rem;
}

.footer .copyright-container a {
    color: var(--stl-white);
    font-weight: 700;
    text-decoration: none;
    opacity: 1;
    transition: opacity 200ms ease-in;
}

/*? MODAL-GALLERY */

.modal-gallery .modal-dialog {
    max-width: 100%;
    margin: 0;
}

.modal-gallery .modal-dialog .modal-content {
    height: 100vh;
    border: 0;
    border-radius: 0;
}

.modal-gallery .modal-dialog .modal-content .modal-header {
    position: absolute;
    width: 100%;
    border: 0;
    z-index: 2;
}

.modal-gallery .modal-header .btn-close,
.modal-gallery .modal-header .slider-indicators-container {
    height: 70px;
    width: 70px;
    background: var(--stl-grey) !important;
    padding: 0;
    margin: 0;
    font-size: 25px;
    color: var(--stl-white);
    border-radius: 0;
    opacity: 1;
    line-height: 1.5rem;
    border: 1px solid var(--stl-white);
}

.modal-gallery .modal-header .btn-close:focus-visible {
    box-shadow: none;
    outline: 1px auto var(--stl-primary) !important;
}

.modal-gallery .modal-header .slider-indicators-container {
    width: 72px;
    height: 72px;
    font-size: 1rem;
    box-sizing: border-box;
    background-color: var(--stl-white) !important;
    color: var(--stl-grey);
}

.modal-gallery .carousel-control-next,
.modal-gallery .carousel-control-prev {
    width: auto;
    padding: 0 2rem;
}

.modal-gallery .carousel-control-next-icon,
.modal-gallery .carousel-control-prev-icon {
    width: 4rem;
    height: 4rem;
    background-image: url('../assets/Arrow_sn.svg');
    background-color: rgba(0, 0, 0, 0.24);
    border-radius: 100%;
}

.modal-gallery .carousel-control-next-icon {
    transform: rotate(180deg);
}

.modal-gallery .hero-img {
    object-fit: contain;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*! A11Y */
.carousel-control:focus-visible {
    outline-offset: 3px;
}

.card-description .btn-wrapper:focus-visible {
    outline-color: var(--stl-grey) !important;
}

/* NEW CSS */
.hero-caption > * {
    padding-right: 2rem;
}

.offers-section .data-container .data-content {
    border-color: var(--stl-white);
}

.offers-container .offers-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.data-container .data .value.f-weight-900 {
    font-weight: 400;
}

.data-container .data .value span,
.data-container .sub-title {
    text-transform: initial !important;
}

.card-container > .row {
    padding: 4rem 2rem 0;
}

.card-container > .row + .row {
    padding-top: 0;
}

.card-container > .row + .row:last-of-type {
    padding-bottom: 0 !important;
}

.card-container .card-description .text-grey:not(.btn-card:hover) {
    color: var(--stl-primary);
}

.card-container .card-description .title {
    font-size: 2.25rem;
}

.red-section .title {
    color: var(--stl-secondary) !important;
}

.offers-container {
    padding: 0 2rem;
}

/*! PORTRAIT QUERY */
/*? IPAD */
@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
    .apple .hero-container .hero-img {
        height: -webkit-fill-available !important;
    }

    .offers-section .offers-content {
        margin: 0 !important;
        padding-left: 2rem !important;
        padding-right: 1rem !important;
    }
}

/*! SM QUERY */
@media screen and (min-width: 576px) {
    .object-fit-sm-cover {
        object-fit: cover;
    }

    .object-fit-sm-contain {
        object-fit: contain;
    }

    .object-fit-sm-auto {
        object-fit: auto;
    }

    .object-position-sm-left-top {
        object-position: left top;
    }

    .object-position-sm-center-top {
        object-position: center top;
    }

    .object-position-sm-right-top {
        object-position: right top;
    }

    .object-position-sm-center-center {
        object-position: center top;
    }

    .object-position-sm-left-bottom {
        object-position: left bottom;
    }

    .object-position-sm-center-bottom {
        object-position: center bottom;
    }

    .object-position-sm-right-bottom {
        object-position: right bottom;
    }

    /*? EVENTS, CONTACTS, MAP */

    .events-section .events-container .events-content .logo,
    .red-section .red-container .red-content .logo,
    .map-section .map-container .map-content .logo {
        margin-bottom: -7rem;
        width: 324px;
    }
}

/*! MD QUERY */
@media screen and (min-width: 768px) {
    .object-fit-md-cover {
        object-fit: cover;
    }

    .object-fit-md-contain {
        object-fit: contain;
    }

    .object-fit-md-auto {
        object-fit: auto;
    }

    .object-position-md-left-top {
        object-position: left top;
    }

    .object-position-md-center-top {
        object-position: center top;
    }

    .object-position-md-right-top {
        object-position: right top;
    }

    .object-position-md-center-center {
        object-position: center top;
    }

    .object-position-md-left-bottom {
        object-position: left bottom;
    }

    .object-position-md-center-bottom {
        object-position: center bottom;
    }

    .object-position-md-right-bottom {
        object-position: right bottom;
    }

    .spacing {
        padding: 4rem 2rem;
    }

    .spacing-md-x,
    .spacing-x {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .spacing-l-md-x,
    .spacing-l {
        padding-left: 2rem;
    }

    .spacing-r-md-x,
    .spacing-r {
        padding-right: 2rem;
    }

    .title {
        font-size: 4rem;
    }

    .btn-custom {
        width: auto;
    }

    /*? HEADER */
    .header::after {
        content: '';
        height: 1px;
        width: 100%;
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 99;
        background-color: #486284;
    }

    /*? HERO IMAGE */

    .hero-container .hero-caption {
        top: 50%;
        transform: translateY(-50%);
        padding-top: 2rem;
        padding-bottom: 2rem;
        bottom: auto;
        padding-left: 2rem;
    }

    .hero-container .hero-caption > img {
        width: 320px;
    }

    .hero-container .hero-caption .title {
        margin-bottom: 1rem;
    }

    /*? CARD */

    .card-container .card-description .row-btn > * {
        width: unset;
    }

    .card-container .card-description {
        padding-top: 2rem;
        padding-bottom: 1rem;
        min-height: 592px;
    }

    .card-container .card-description .btn-card {
        width: auto;
    }

    .card-container .reverse-row .card-img-container .card-img {
        object-position: right;
    }

    .card-container .card-img-container .card-img {
        height: 100%;
        position: absolute;
        top: 0;
    }

    /*? DATA */

    .data-container {
        padding: 3rem;
        row-gap: 2rem;
    }

    .data-container .data-content + .data-content {
        margin-top: 0;
    }

    .data-container .sub-title {
        letter-spacing: 0.4px;
    }

    .data-container .data.data-small.title {
        line-height: 1px;
    }

    .data-container .data.data-small .up-title {
        line-height: 1;
    }

    .data-container .data.data-small .value {
        white-space: normal;
        line-height: 1px;
        font-size: 1.5rem;
    }

    /*? CAROUSEL */

    .carousel .carousel-indicators {
        flex-direction: column;
        bottom: unset;
        left: unset;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        margin: 0 3rem 2.4rem;
    }

    .carousel .carousel-indicators button {
        width: 1px;
        height: 116px;
        border: 0;
    }

    .carousel .carousel-indicators button + button {
        margin-left: 0;
    }

    .carousel .carousel-indicators button.active {
        width: 1px;
        height: 116px;
    }

    .carousel .carousel-indicators button .slides-number {
        top: 0rem;
        left: 0.5rem;
    }

    /*? OFFERS */

    .offers-section .offers-container {
        padding: 0 2rem;
    }

    .offers-section .bg-b-big {
        position: relative;
        width: 50%;
        /* margin-top: 3rem; */
    }

    .offers-section .offers-content {
        padding: 0 1rem;
    }

    /*? CAROUSEL OFFERS */

    .carousel-slick-section .slick-slides {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .carousel-slick-section .slick-slide > img {
        padding-right: 2.5rem;
    }

    .slick-carousel .slick-slide .layer-play {
        padding-right: 2.5rem;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .carousel-slick-section .slick-slide .slide-caption {
        bottom: 5.5rem;
    }

    .carousel-slick-section .slick-carousel .slick-list {
        padding: 0 !important;
        padding-right: 20% !important;
    }

    .carousel-slick-section .slick-slides > .title {
        margin: 2rem 0;
    }

    .carousel-slick-section .slick-slide .slide-caption .title {
        /* font-size: 3.2rem; */
        margin: 2rem 0 1rem;
    }

    .carousel-slick-section .slick-slides .slick-footer {
        margin-right: calc(9% + 2.5rem);
    }

    /*? EVENTS, CONTACTS, MAP */

    .events-section .events-container .events-content,
    .red-section .red-container .red-content,
    .map-section .map-container .map-content {
        padding: 4rem;
    }

    .events-section .events-container .title,
    .red-section .red-container .title,
    .map-section .map-container .title {
        font-size: 3.2rem;
        line-height: 2.65rem;
    }

    .events-section .events-container .events-content .logo,
    .red-section .red-container .red-content .logo,
    .map-section .map-container .map-content .logo {
        max-width: 472px;
        margin-bottom: -7.75rem;
    }

    /*? INFO */
    .card-container .card-description {
        padding-right: 2rem;
        padding-left: 0rem;
    }

    .card-container .reverse-row .card-description,
    .card-container .row-reverse .card-description {
        padding-right: 0rem;
        padding-left: 2rem;
    }

    /*? CONTACTS, MAP */

    /*? CONTACTS */

    .red-section .red-container .red-content .d-flex {
        flex-direction: row;
    }

    .red-section .red-container .red-content .btn-red-container + .btn-red-container {
        margin-left: 2.2rem;
        margin-top: 0;
    }

    /*? FOOTER */

    .footer .footer-container {
        padding-top: 4rem;
        margin-bottom: 4rem;
        align-items: start;
    }

    .footer .footer-container .pages-list-container + .pages-list-container {
        margin-left: 1.5rem;
    }

    .footer .footer-container .pages-list-container > span {
        cursor: default;
    }

    .footer .footer-container .pages-list-container .pages-list {
        list-style: none;
        padding: 0;
    }

    .footer .footer-container .pages-list-container .pages-list.link a,
    .footer .footer-container .pages-list-container .pages-list.link a:hover {
        opacity: 1;
    }

    .footer .footer-container .pages-list-container .pages-list a {
        font-weight: 400;
        opacity: 1;
        transition: opacity 200ms ease-in;
    }

    .footer .footer-container .pages-list-container .pages-list a:hover {
        font-weight: 400;
        opacity: 0.8;
        transition: opacity 200ms ease-in;
    }

    .footer .footer-container .social-container {
        flex-direction: column;
        position: absolute;
        right: 0.875rem;
        bottom: -2.5rem;
    }

    .footer .footer-container .social-container a {
        margin-bottom: 0;
    }

    .footer .footer-container .social-container a + a {
        margin-left: 0;
    }

    .footer .copyright-container {
        padding: 2rem 5.75rem;
    }

    .footer .copyright-container a {
        color: var(--stl-white);
        font-weight: 700;
        text-decoration: none;
        opacity: 0.7;
        transition: opacity 200ms ease-in;
    }

    .footer .copyright-container a {
        opacity: 1;
        transition: opacity 200ms ease-in;
    }

    .footer .copyright-container .copyright-md span + span,
    .footer .copyright-container a + a {
        margin-left: 1.2rem;
    }

    .modal-gallery .hero-img {
        object-fit: cover;
    }

    .offers-container {
        padding: unset;
    }
}

/*! LG QUERY */
@media screen and (min-width: 992px) {
    .object-fit-lg-cover {
        object-fit: cover;
    }

    .object-fit-lg-contain {
        object-fit: contain;
    }

    .object-fit-lg-auto {
        object-fit: auto;
    }

    .object-position-lg-left-top {
        object-position: left top;
    }

    .object-position-lg-center-top {
        object-position: center top;
    }

    .object-position-lg-right-top {
        object-position: right top;
    }

    .object-position-lg-center-center {
        object-position: center top;
    }

    .object-position-lg-left-bottom {
        object-position: left bottom;
    }

    .object-position-lg-center-bottom {
        object-position: center bottom;
    }

    /* .big-title {
		font-size: 5.25rem;
		line-height: 1;
	} */

    .spacing {
        padding: 4rem 3.5rem;
    }

    .spacing-lg-x,
    .spacing-x {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .spacing-l-lg-x,
    .spacing-l {
        padding-left: 3.5rem;
    }

    .spacing-r-lg-x,
    .spacing-r {
        padding-right: 3.5rem;
    }

    .arrow-link {
        margin: 1rem 0;
    }

    /*? HEADER */

    .header-container {
        padding: 0 3.5rem;
    }

    /*? HERO IMAGE */

    .hero-container .hero-caption {
        padding-top: 12rem;
        padding-left: 3.5rem;
    }

    /*? CARD */
    .card-container > .row {
        padding-left: 3.5rem;
        padding-right: 3.5rem;
    }

    .card-container .reverse-row .card-img-container .card-img {
        object-position: right top;
    }

    /*? DATA */

    .data-container {
        padding: 4rem 4rem;
    }
    /* 
	.data-container .data .value {
		font-size: 3.5rem;
	} */

    .data-container .data-content + .data-content {
        margin-left: 1rem;
    }

    /*? PRIMO CAROUSEL */

    .carousel .custom-element .social-container {
        padding-bottom: 0.75rem;
    }

    /*? OFFERS */

    /* .bg-b-big ~ .offers-content .big-title {
		font-size: 4.2rem;
		line-height: 3.5rem;
	} */

    /* .offers-section .offers-content {
		margin: 0 auto;
		padding: 0;
	} */
    .offers-section .offers-content {
        min-width: 50%;
    }

    /*? CAROUSEL OFFERS */

    .carousel-slick-section .slick-slides {
        padding: 0 3.5rem;
    }

    .carousel-slick-section .slick-carousel .slick-list {
        padding: 0 !important;
        padding-right: calc(25% - 2px) !important;
    }

    .carousel-slick-section .slick-slide .slide-caption {
        right: 5.5rem;
        bottom: 5.5rem;
        left: 5.5rem;
    }

    .carousel-slick-section .slick-slides .slick-footer {
        flex-direction: row;
        padding: 0;
        margin-right: calc(13% - 2px + 2.5rem) !important;
    }

    .carousel-slick-section .slick-slides .slick-footer .slick-slide-desc {
        margin-bottom: 0;
        padding-left: 1.5rem;
    }

    .carousel-slick-section .slick-dots {
        justify-content: center;
        width: auto;
        width: unset;
    }

    /*? EVENTS, CONTACTS */

    .events-section .events-container .events-content,
    .red-section .red-container .red-content,
    .map-section .map-container .map-content {
        padding: 4rem;
        padding-right: 1rem;
    }

    .events-section .events-container .events-content .logo,
    .red-section .red-container .red-content .logo,
    .map-section .map-container .map-content .logo {
        width: 100%;
        margin-bottom: -7.25rem;
    }

    /*? CONTACTS */

    .red-section .red-container .red-content .d-flex {
        flex-direction: column;
    }

    .red-section .red-container .red-content .btn-red-container + .btn-red-container {
        margin-top: 2.2rem;
        margin-left: 0;
    }

    /*? MAP */

    .map-section .map-container .map-content {
        padding-bottom: 5rem;
    }

    /*? FOOTER */

    .footer .footer-container {
        padding-top: 4rem;
        margin-bottom: 4rem;
        align-items: start;
        position: relative;
    }

    .footer .footer-container .pages-list-container + .pages-list-container {
        margin-left: 4rem;
    }

    .footer .footer-container .social-container {
        right: 1.75rem;
    }

    .footer .copyright-container {
        padding: 2rem;
    }

    .carousel-slick-section {
        padding-top: 4rem;
    }

    .offers-section .offers-container {
        padding: 0 3.5rem;
    }
}

/*! XL QUERY */
@media screen and (min-width: 1200px) {
    .object-fit-xl-cover {
        object-fit: cover;
    }

    .object-fit-xl-contain {
        object-fit: contain;
    }

    .object-fit-xl-auto {
        object-fit: auto;
    }

    .object-position-xl-left-top {
        object-position: left top;
    }

    .object-position-xl-center-top {
        object-position: center top;
    }

    .object-position-xl-right-top {
        object-position: right top;
    }

    .object-position-xl-center-center {
        object-position: center top;
    }

    .object-position-xl-left-bottom {
        object-position: left bottom;
    }

    .object-position-xl-center-bottom {
        object-position: center bottom;
    }

    .object-position-xl-right-bottom {
        object-position: right bottom;
    }

    .card-container .card-description {
        padding-right: 5rem;
    }

    /*? HEADER */
    .header-container {
        padding: 0 3.25rem;
    }

    /*? OFFERS CAROUSEL*/
    .carousel-slick-section .slick-slides .slick-footer {
        flex-direction: row;
        padding: 0 1.75rem;
        padding-right: 0;
        margin-right: calc(13% - 2px + 2.5rem) !important;
    }

    /* ? CARDS */
    .card-container > .row {
        padding-left: 3.5rem;
        padding-right: 3.5rem;
    }

    /*? EVENTS, CONTACTS */

    .events-section .events-container .events-content,
    .red-section .red-container .red-content,
    .map-section .map-container .map-content {
        padding: 4rem;
        padding-right: 1rem;
    }

    /*? CONTACTS */

    .red-section .red-container .red-content .d-flex {
        flex-direction: row;
    }

    .red-section .red-container .red-content .btn-red-container + .btn-red-container {
        margin-left: 2.2rem;
        margin-top: 0;
    }
}

/*! XXL QUERY */
@media screen and (min-width: 1400px) {
    .object-fit-xl-cover {
        object-fit: cover;
    }

    .object-fit-xl-contain {
        object-fit: contain;
    }

    .object-fit-xl-auto {
        object-fit: auto;
    }

    .object-position-xl-left-top {
        object-position: left top;
    }

    .object-position-xl-center-top {
        object-position: center top;
    }

    .object-position-xl-right-top {
        object-position: right top;
    }

    .object-position-xl-center-center {
        object-position: center top;
    }

    .object-position-xl-left-bottom {
        object-position: left bottom;
    }

    .object-position-xl-center-bottom {
        object-position: center bottom;
    }

    .object-position-xl-right-bottom {
        object-position: right bottom;
    }

    /* .bg-b-big ~ .offers-content .big-title {
		font-size: 5.25rem;
		line-height: 4rem;
	} */

    /*? OFFERS CAROUSEL */
    /* .offers-section .offers-content {
		margin-left: auto;
	} */

    .carousel-slick-section .slick-slides .slick-footer {
        padding-right: 1.75rem;
    }
}

/*! VARIABLE QUERY */
@media screen and (min-width: 1100px) {
    /*? MENU MD */
    .offcanvas-menu-md .offcanvas-menu-md-item + .offcanvas-menu-md-item {
        margin-left: 3rem;
    }
}

@media screen and (max-width: 938px) {
    .flag-layer {
        background-position: left top;
        background-size: cover;
    }
}

@media screen and (max-width: 767px) {
    .carousel .carousel-indicators button {
        transition: width 250ms ease-in;
    }

    .carousel .carousel-indicators button.active {
        transition: width 250ms ease-in;
    }

    .social-container {
        margin: 0 !important;
    }
}

@media screen and (max-width: 576px) {
    .card-container .card-description {
        padding-right: 2rem;
        padding-left: 2rem;
    }
}

@media screen and (max-width: 545px) {
    .carousel-slick-section .slick-slides .slick-footer {
        padding: 0;
    }
}

@media screen and (max-width: 475px) {
    .carousel-slick-section .slick-slide .slide-caption {
        right: 1rem;
        bottom: 1.75rem;
        left: 1rem;
    }

    .carousel-slick-section .slick-slides .slick-footer .slick-footer-nav {
        flex-direction: column-reverse;
        align-items: center;
    }

    .carousel-slick-section .slick-carousel-dots {
        width: 100%;
        margin: 0;
        padding: 0 0 1rem;
    }

    .carousel-slick-section .slick-dots {
        justify-content: center;
        position: static;
    }
}

@media screen and (max-width: 400px) {
    .apple .hero-container .hero-img {
        height: -webkit-fill-available !important;
    }

    html {
        font-size: 12px;
    }
}

.not-supported {
    text-align: center;
    font-family: var(--stl-base-font);
}

.not-supported .wrapper {
    position: relative;
}

.not-supported h1 {
    font-weight: 700;
    font-family: var(--stl-base-font);
}

.not-supported h2 {
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 400;
    font-family: var(--stl-base-font);
    color: rgba(0, 0, 0, 0.54);
}

.not-supported .not-supported__wrapper {
    position: fixed;
    top: 50%;
    left: 50%;
    height: 500px;
    width: 960px;
    margin-top: -250px;
    margin-left: -480px;
    padding: 48px;
    border-radius: 2px;
    background-color: #fff;
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
}

.not-supported .not-supported__links {
    margin-top: 48px;
    font-family: var(--stl-base-font);
}

.not-supported .not-supported__links:after {
    clear: both;
    content: '';
    display: table;
}

.not-supported .not-supported__links a {
    font-family: var(--stl-base-font);
    float: left;
    width: 25%;
    text-decoration: none;
}

.not-supported .not-supported__links a img {
    width: 80px;
    margin: 0 auto;
}

.not-supported .not-supported__links a span {
    display: block;
    margin-top: 16px;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.54);
    text-transform: uppercase;
    text-align: center;
}

.not-supported .not-supported__infos {
    margin-top: 32px;
    padding: 16px;
    background-color: #f5f5f5;
}

.not-supported .not-supported__infos p {
    color: rgba(0, 0, 0, 0.54);
}

@media (max-width: 1023px) {
    .not-supported .wrapper {
        margin: 0 24px;
    }
}

@media (min-width: 1024px) {
    .not-supported .wrapper {
        margin: 0 auto;
        width: 960px;
    }
}

@media only screen and (max-width: 991px) and (orientation: landscape) {
    body.mobile-device .offcanvas-menu-md {
        display: none !important;
    }

    body.mobile-device .offcanvas-menu-mobile {
        display: block !important;
    }

    body.mobile-device .carousel-indicators {
        display: none;
    }

    body.mobile-device .hero-container .hero-caption {
        padding-top: 6rem;
    }

    body.mobile-device .arrow-link {
        margin: 1rem 0 4.25rem;
    }

    body.mobile-device .carousel-custom-indicators button .btn-content {
        padding: 0.75rem 0;
    }

    body.mobile-device .carousel .custom-element .row-btn {
        padding-bottom: 0.5rem;
    }
}

/* ------------- target 200% a 400% ---------------*/
@media only screen and (min-width: 150px) and (max-width: 640px) and (-webkit-min-device-pixel-ratio: 1) and (orientation: landscape) {
    html {
        font-size: 14px;
    }

    .header {
        height: 56px;
        position: absolute;
    }

    .offcanvas-menu-mobile-content {
        height: calc(100% - 56px);
    }

    .hero-container .hero-caption {
        bottom: 50%;
        transform: translateY(50%);
        padding-bottom: 0;
    }

    .arrow-link {
        margin: 1.75rem 0 2.25rem;
    }

    .carousel .carousel-indicators {
        margin-bottom: 3rem;
    }

    .carousel-slick-section .slick-slide > img {
        height: 200px;
    }

    .events-section .events-container .events-content,
    .red-section .red-container .red-content,
    .map-section .map-container .map-content {
        padding: 2rem 1.5rem;
    }

    .events-section .events-container .events-content > div.row > * {
        margin-bottom: 2rem;
    }

    .pre-footer-container .pre-footer-content .pre-footer-img {
        max-height: 288px;
    }

    .arrow-below {
        height: 4rem;
    }

    .interactive-svg-container.location-interactive-svg .carousel .carousel-inner .carousel-item .detail {
        height: 170px;
    }

    .carousel-slick-section {
        align-items: flex-start !important;
    }

    .carousel-slick-section .slick-dots {
        flex-wrap: wrap;
        justify-content: flex-start !important;
    }

    .carousel-slick-section .slick-dots li:first-of-type {
        margin-left: 0.5rem;
    }

    .modal-gallery .carousel-inner {
        background-color: var(--stl-grey);
    }

    .tracks-container .carousel-control-next .carousel-control-next-icon,
    .tracks-container .carousel-control-prev .carousel-control-prev-icon,
    .interactive-svg-container .carousel-control-prev .carousel-control-prev-icon,
    .interactive-svg-container .carousel-control-next .carousel-control-next-icon,
    .carousel-slick-section .slick-footer .slides-control .slides-arrow,
    .modal-gallery .carousel-control-next-icon,
    .modal-gallery .carousel-control-prev-icon {
        height: 44px;
        width: 44px;
    }

    .mouse-icon-container {
        display: none;
    }

    .modal-gallery .modal-header .btn-close,
    .modal-gallery .modal-header .slider-indicators-container {
        height: 38px;
        width: 38px;
    }

    .modal-gallery .modal-header .slider-indicators-container {
        height: 40px;
        width: 40px;
    }
}

/* ------------- target 250% a 400% ---------------*/
@media only screen and (min-width: 150px) and (max-width: 512px) and (-webkit-min-device-pixel-ratio: 1) and (orientation: landscape) {
    html {
        font-size: 12px;
    }

    .slick-slide .slide-caption h3.title {
        white-space: normal;
    }

    .modal-gallery .modal-header .btn-close,
    .modal-gallery .modal-header .slider-indicators-container {
        height: 34px;
        width: 34px;
    }

    .modal-gallery .modal-header .slider-indicators-container {
        height: 36px;
        width: 36px;
    }

    .carousel-slick-section .slick-slide .slide-caption .title {
        white-space: normal;
    }
}

/* ------------- 400% ---------------*/
@media only screen and (min-width: 150px) and (max-width: 320px) and (-webkit-min-device-pixel-ratio: 1) and (orientation: landscape) {
    html {
        font-size: 9px;
    }

    .title {
        font-size: 2.25rem;
    }

    .header {
        height: 36px;
    }

    .offcanvas-menu-mobile-content {
        height: calc(100% - 36px);
    }

    .carousel .carousel-indicators {
        margin-bottom: 0rem;
    }

    .arrow-link {
        margin: 1rem 0 2.25rem;
    }

    .hero-container .hero-caption > img {
        width: 200px;
    }

    .modal-gallery .modal-header .btn-close,
    .modal-gallery .modal-header .slider-indicators-container {
        height: 18px;
        width: 18px;
        font-size: 15px;
    }

    .modal-gallery .modal-header .slider-indicators-container {
        height: 20px;
        width: 20px;
        font-size: 0.75rem;
    }

    .tracks-container .carousel-control-next .carousel-control-next-icon,
    .tracks-container .carousel-control-prev .carousel-control-prev-icon,
    .interactive-svg-container .carousel-control-prev .carousel-control-prev-icon,
    .interactive-svg-container .carousel-control-next .carousel-control-next-icon,
    .carousel-slick-section .slick-footer .slides-control .slides-arrow {
        height: 36px !important;
        width: 36px !important;
    }

    .modal-gallery .carousel-control-next,
    .modal-gallery .carousel-control-prev {
        padding: 0 0.5rem;
    }

    .modal-gallery .carousel-control-next-icon,
    .modal-gallery .carousel-control-prev-icon {
        height: 24px !important;
        width: 24px !important;
    }
}

/* ------------- WIND TUNNELS ---------------*/

.header .fa-chevron-down {
    color: var(--stl-secondary);
}

.offers-section .offers-content .desc {
    font-weight: 400;
}

/* HIDE ELEMENTS */

.offers-section .offers-content .btn-info-custom {
    display: none !important;
}

.carousel-slick-section > .bg-grey {
    background-color: var(--stl-white) !important;
}

.carousel-slick-section .slick-slides-title {
    color: var(--stl-secondary) !important;
    font-weight: 400;
}

.card-container .reverse-row .btn-card {
    border-color: var(--stl-secondary);
}

.card-container .reverse-row .btn-card.text-grey:not(.btn-card:hover) {
    color: var(--stl-primary) !important;
}

.text-primary {
    color: var(--stl-primary) !important;
}

#about-us .card-description {
    padding-left: 2.5rem;
}

.offers-section .offers-container,
.offers-section .data-container,
.carousel-slick-section > .bg-grey,
.carousel-slick-section > .bg-lighten-grey > .slick-slides,
.clickable-card-section .clickable-card-container,
.contact-section {
    max-width: 1440px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.carousel-slick-section > .bg-lighten-grey {
    background-color: var(--stl-primary) !important;
    padding-bottom: 4rem;
}

.offers-section .data-container,
.clickable-card-section .clickable-card-container {
    max-width: 1327px;
}

.fake-carousel .slick-slide {
    display: flex !important;
}

.map-section .maps-icon {
    display: none !important;
}

.map-section .maps-icon ~ span {
    padding: 0 !important;
    width: 100% !important;
}

.map-section .map-content .desc {
    margin-bottom: 0 !important;
    margin-top: 1rem !important;
}

.clickable-card-container {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.clickable-card-section .bg-lighten-grey {
    background-color: var(--stl-primary) !important;
    color: var(--stl-white) !important;
}

.clickable-card-section .bg-lighten-grey .title {
    color: var(--stl-white) !important;
    font-weight: 700 !important;
}

.clickable-card-section .clickable-card-container {
    align-items: flex-start !important;
}

.contact-container .title {
    color: var(--stl-primary) !important;
    font-weight: 700;
}

.carousel-slick-section.fake-carousel .slick-slide > img {
    padding-right: 0 !important;
}

.footer-container .d-none {
    padding-left: 2rem !important;
}

.offcanvas-menu-mobile-content button.btn-offcanvas-section {
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 0 8px;
    line-height: 2;
}

.offcanvas-menu-mobile-content .collapse,
.offcanvas-menu-mobile-content .collapsing {
    padding-left: 2rem;
    align-self: flex-start !important;
}
.offcanvas-menu-mobile-content .collapse > .pages-section,
.offcanvas-menu-mobile-content .collapsing > .pages-section {
    align-items: flex-start !important;
}

.offcanvas-menu-mobile-content .collapse a {
    color: var(--stl-white) !important;
}

.offcanvas-menu-mobile-content div[role='navigation'] {
    padding-top: 1.5rem;
}

.offcanvas-menu-mobile-content .btn-offcanvas-section i {
    position: absolute;
    left: 0;
    padding-right: 0 !important;
    transform: translateX(-100%) rotate(-90deg);
    transition: transform 200ms ease-in-out;
}

.offcanvas-menu-mobile-content .btn-collapse[aria-expanded='true'] i {
    transform: translateX(-100%) rotate(0deg);
}

.offcanvas-menu-mobile-content .btn-offcanvas-section .btn-collapse:hover span,
.offcanvas-menu-mobile-content .btn-offcanvas-section .collapse a:hover {
    text-decoration: underline !important;
}

.red-section {
    margin-bottom: 4rem !important;
}

.data.title {
    font-size: 3.75rem;
}

.card-description ul {
    color: var(--stl-primary);
}
