/**
 * @file
 * Subtheme specific CSS.
 */

/* ---------- Font face ----------- */

@font-face {
    font-family: "WorkSans";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(/sites/default/files/fonts/WorkSans-VariableFont_wght.ttf);
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "WorkSans";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url(/sites/default/files/fonts/WorkSans-Italic-VariableFont_wght.ttf);
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(/sites/default/files/fonts/Inter-VariableFont_opsz,wght.ttf);
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url(/sites/default/files/fonts/Inter-Italic-VariableFont_opsz,wght.ttf);
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

h1,
.h1 {
    font-family: "WorkSans", sans-serif;
    font-weight: 800;
    font-size: 4rem;
}

h2,
.h2 {
    font-family: "WorkSans", sans-serif;
    font-weight: 800;
    font-size: 3rem;
}

h3,
.h3 {
    font-family: "WorkSans", sans-serif;
    font-weight: 800;
    font-size: 2.5rem;
}


h4,
.h4 {
    font-family: "WorkSans", sans-serif;
    font-weight: 800;
    font-size: 2rem;
}


h5,
.h5 {
    font-family: "WorkSans", sans-serif;
    font-weight: 800;
    font-size: 1.5rem;
}

.subtitle {
    font-family: "Inter", sans-serif;
    font-size: 2.3rem;
    font-weight: 400;
}

body p,
body a,
body li {
    font-family: "Inter", sans-serif;
    font-size: 17px;
}

.inter {
    font-family: "Inter", sans-serif;
}

.uppercase {
    text-transform: uppercase;
}

@media (min-width: 1200px) {

    h1 {
        font-size: 3.5rem;
    }

    h2 {
        font-size: 3rem;
    }

    h3 {
        font-size: 2rem;
    }

    h4 {
        font-size: 1.5rem;
    }

    h5 {
        font-size: 1.2rem;
    }
}

.alt-font {
    font-family: 'WorkSans', sans-serif !important;
}

@media (max-width: 576px) {

    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 2rem;
    }


    .h1 {
        font-size: 2.5rem;
    }

    .h2 {
        font-size: 2rem;
    }

    p.esaurimento {
        color: #F1A208 !important;
        background-color: transparent !important;
        padding: 1rem 0 !important;
    }

    p.disponibile {
        color: #399E5A !important;
        background-color: transparent !important;
        padding: 1rem 0 !important;
    }

    p.esaurito {
        color: #EA2B1F !important;
        background-color: transparent !important;
        padding: 1rem 0 !important;
    }

    .no-smartphone {
        display: none !important;
    }

    .bold-smartphone {
        font-weight: 600 !important;
    }
}

#toolbar-administration,
#toolbar-administration p,
#toolbar-administration,
#toolbar-administration a {
    font-size: 12px;
}

/* ---------- Utility ----------- */

.img-circle {
    border-radius: 100%;
}

.logo-footer {
    width: 320px !important;
    height: auto;
}

.m-top-10-slider {
    margin-top: -10px;
}

.div-scelta {
    padding-left: 40px;
    padding-right: 40px;
    border-right: 2px solid #e87019;
}

.div-scelta-ultimo {
    padding-left: 40px;
    padding-right: 40px;
}

.img-title {
    min-height: 50vh;
}

.box-medici {
    background-color: #f1f1f1;
}

.h-menu {
    height: 136px;
}

.flex-start {
    align-items: start;
}

.flex-end {
    align-items: end;
}

.vh-80 {
    height: 80vh;
}

@media (max-width: 1200px) {
    .h-menu {
        height: 174px;
    }
}

@media (max-width: 990px) {
    .h-menu {
        height: 0;
    }
}

.z-index-top1 {
    z-index: 1;
}

.z-index-top2 {
    z-index: 2;
}

.z-index-top99 {
    z-index: 99;
}

.caps {
    text-transform: uppercase;
}

.text-justify {
    text-align: justify;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.respoimg {
    width: 100%;
    height: auto;
}

.line::before {
    position: absolute;
    left: -12px;
    width: 2px;
    height: 30px;
    content: "";
    background-color: rgba(var(--bs-primary-rgb));
}

.container-full {
    width: 100vw;
}

a.standard {
    text-decoration: none;
}

a.standard:hover,
a.standard:focus {
    color: var(--bs-primary) !important;
    transition: all 0.5s;
    filter: brightness(1.5);
}

a.link-assistenza {
    color: var(--bs-secondary) !important;
}

a.link-assistenza:hover,
a.link-assistenza:focus {
    color: var(--bs-secondary) !important;
    transition: all 0.5s;

}

.submit-primary {
    background: var(--bs-primary);
    display: block;
    padding: 0.7rem;
    text-decoration: none;
    color: white;
    transition: all 0.5s;
    border-radius: 0px;
    width: fit-content;
    border: none;
}

.submit-primary:hover,
.submit-primary:focus {
    background: var(--bb-primary-dark);
}

a.button-primary,
.button-primary {
    background: var(--bs-primary);
    display: block;
    padding: 1rem 2rem;
    text-decoration: none;
    color: white;
    transition: all 0.5s;
    width: fit-content;
    border-radius: 0px;
    font-weight: 600;
    letter-spacing: 0.1rem;
    border: 2px solid var(--bs-primary);
}

a.button-primary:hover,
.button-primary:hover,
a.button-primary:focus,
.button-primary:focus {
    background-color: #ffffff;
    color: var(--bs-primary);
}


a.button-menu,
.button-menu {
    background: transparent;
    display: block;
    padding: 0.5rem 1rem;
    text-decoration: none;
    color: black;
    transition: all 0.5s;
    width: fit-content;
    border-radius: 0px;
    font-weight: 600;
    border: 2px solid black;
}

a.button-menu:hover,
.button-menu:hover,
a.button-menu:focus,
.button-menu:focus,
.navbar-light .button-menu:focus {
    background-color: black;
    color: white !important;
    filter: brightness(1) !important;
}

a.button-corsi,
.button-corsi {
    background: var(--bs-primary);
    display: block;
    padding: 1rem 2rem;
    text-decoration: none;
    color: white;
    transition: all 0.5s;
    width: fit-content;
    border-radius: 0px;
    font-weight: 600;
    letter-spacing: 0.1rem;
    border: 2px solid var(--bs-primary);
}

a.button-corsi:hover,
.button-corsi:hover,
a.button-corsi:focus,
.button-corsi:focus {
    border: 2px solid var(--bs-primary);
    background-color: white;
    color: var(--bs-primary);
}


p.disponibile {
    background-color: #399E5A;
    color: #ffffff;
    width: fit-content;
    padding: 0.5rem;
}

p.esaurimento {
    background-color: #F1A208;
    color: #ffffff;
    width: fit-content;
    padding: 0.5rem;
}

p.esaurito {
    background-color: #EA2B1F;
    color: #ffffff;
    width: fit-content;
    padding: 0.5rem;
}

.riga-tabella-corso {
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-top: 1px solid #bdbdbd;
    align-items: center;
}

a.button-iscriviti,
.button-iscriviti {
    background: var(--bs-primary);
    display: block;
    padding: 0.5rem 1rem;
    text-decoration: none;
    color: white;
    transition: all 0.5s;
    width: fit-content;
    border-radius: 0px;
    font-weight: 600;
    letter-spacing: 0.1rem;
    border: 2px solid var(--bs-primary);
    border-radius: 50px;
}

a.button-iscriviti:hover,
.button-iscriviti:hover,
a.button-iscriviti:focus,
.button-iscriviti:focus {
    border: 2px solid var(--bs-primary);
    background-color: white;
    color: var(--bs-primary);
}


a.button-documentazione,
.button-documentazione {
    background: #BAC105;
    display: block;
    padding: 1rem 2rem;
    text-decoration: none;
    color: white;
    transition: all 0.5s;
    width: fit-content;
    border-radius: 0px;
    font-weight: 600;
    letter-spacing: 0.1rem;
    border: 2px solid #BAC105;
}

a.button-documentazione:hover,
.button-documentazione:hover,
a.button-documentazione:focus,
.button-documentazione:focus {
    border: 2px solid #BAC105;
    background-color: white;
    color: #BAC105;
}


a.button-assistenza,
.button-assistenza {
    background: #11B4C3;
    display: block;
    padding: 1rem 2rem;
    text-decoration: none;
    color: white;
    transition: all 0.5s;
    width: fit-content;
    border-radius: 0px;
    font-weight: 600;
    letter-spacing: 0.1rem;
    border: 2px solid #11B4C3;
}

a.button-assistenza:hover,
.button-assistenza:hover,
a.button-assistenza:focus,
.button-assistenza:focus {
    border: 2px solid #11B4C3;
    background-color: white;
    color: #11B4C3;
}

.center-button {
    margin-right: auto;
    margin-left: auto;
}

a.button-secondary,
.button-secondary {
    background: #ffffff;
    display: block;
    padding: 1rem 2rem;
    text-decoration: none;
    color: var(--bs-primary);
    transition: all 0.5s;
    width: fit-content;
    border-radius: 0px;
    font-weight: 600;
    letter-spacing: 0.1rem;
    border: 2px solid var(--bs-primary);
}

a.button-secondary:hover,
.button-secondary:hover,
a.button-secondary:focus,
.button-secondary:focus {
    background-color: var(--bs-primary);
    transition: all 0.5s;
    color: #ffffff;
}

a.button-tertiary {
    background: #ffffff;
    display: block;
    padding: 1rem 2rem;
    text-decoration: none;
    color: var(--bs-primary);
    transition: all 0.5s;
    width: fit-content;
    border-radius: 0px;
    font-weight: 600;
    letter-spacing: 0.1rem;
    border: 2px solid #ffffff;
}

a.button-tertiary:hover,
a.button-tertiary:focus {
    background-color: var(--bs-primary);
    transition: all 0.5s;
    color: #ffffff;
}

.button-center {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

a.button-transparent {
    background: transparent;
    display: block;
    padding: .3rem 1rem;
    width: fit-content;
}

a.button-special-primary {
    background: var(--bs-primary);
    display: block;
    padding: 0.7rem 1.5rem;
    border-radius: 50px;
    font-size: 1.3rem;
    text-decoration: none;
    color: white;
    width: fit-content;
    transition: all 0.5s;
}

a.button-special-secondary {
    background: var(--bs-secondary);
    display: block;
    padding: 0.7rem 1.5rem;
    border-radius: 50px;
    font-size: 1.3rem;
    text-decoration: none;
    color: white;
    width: fit-content;
    transition: all 0.5s;
}

a.button-special-primary i,
a.button-special-secondary i {
    margin-left: 5px;
    transition: all 0.5s;
}

a.button-special-primary:hover i,
a.button-special-primary:focus i,
a.button-special-secondary:hover i,
a.button-special-secondary:focus i {
    margin-left: 10px;
    transition: all 0.5s;
}

a.button-primary:hover,
a.button-primary:focus,
a.button-secondary:hover,
a.button-secondary:focus,
a.button-special-secondary:hover,
a.button-special-secondary:focus {
    transition: all 0.5s;
}


.fit-content {
    width: fit-content;
}

.position-relative-r {
    position: absolute;
}

#player {
    border: #e42727 3px solid !important;
}

.sticky-offset {
    top: 128px;
    z-index: 1;
}

@media (max-width: 1024px) {}

@media (max-width: 991px) {
    .r-hidden {
        display: none;
    }

    .position-absolute-r {
        position: absolute;
        padding-top: 1.5rem;
    }

    header.position-fixed {
        position: relative !important;
    }

    .sticky-top,
    .sidebar-link.sticky-top {
        position: relative;
        top: 0 !important;
    }

    .sticky-offset {
        top: 0;
        z-index: 1;
    }

}

@media (max-width: 767px) {
    .position-relative-r {
        position: relative;
    }

    .resp-font h4 {
        font-size: 1.2rem;
    }

}

.cover-bg-img {
    filter: brightness(0.5);
}

.custom-form label,
.custom-form .description {
    color: #ffffff !important;
}

.custom-form .description a {
    color: #ffffff !important;
    font-weight: 600;
}

.custom-form .submit-primary {
    border: solid 1px white;
}

/* ---------- Navbar ----------- */

.navbar-style {
    border-top: #eeeeee solid 1px;
    border-bottom: #eeeeee solid 2px;
    padding: 20px 0;
}

.navbar-light .nav-link:hover:not(.button-menu),
.navbar-light .nav-link:focus:not(.button-menu) {
    color: #000000 !important;
}

.navbar-start #CollapsingNavbar {
    justify-content: end !important;
}

header .nav-item .nav-link {
    padding: 5px 15px !important;
    font-size: 1rem;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    color: rgb(69 76 80);
}

header .dropdown-item a {
    padding: 5px 15px !important;
    font-size: 1rem;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    color: rgb(69 76 80);
}

header li.nav-item .nav-link.is-active,
header .nav-item .nav-link.active {
    color: #212529;
}

header .dropdown-item a {
    text-decoration: none !important;
}

header .dropdown-item .is-active::after {
    content: none !important;
}

.nav-link {
    position: relative;
}

.border-navbar-elements {
    border-color: #cccccc !important;
    border-width: 1px;
}

.border-navbar-elements[side="left"] {
    border-left: 0.5px solid #cccccc !important;
}

.border-navbar-elements[side="right"] {
    border-right: 0.5px solid #cccccc !important;
}

.border-navbar-elements[side="both"] {
    border-left: 0.5px solid #cccccc !important;
    border-right: 0.5px solid #cccccc !important;
}

/* ---------- Image text same height ----------- */

.img-h-text {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.img-h-text-img {
    overflow: hidden;
    min-height: 300px;
}

.img-h-text-img img {
    width: 0;
    min-width: 100%;
    height: 300px;
    min-height: 100%;
    object-fit: cover;
}

.img-h-text-text {
    padding: 50px 30px;
    min-height: 300px;
    height: 100%;
}

.img-h-text-button {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.img-h-text-button p {
    padding: 18px 15px;
}

.img-h-text-button i {
    padding-right: 10px;
}

@media (max-width: 425px) {
    .img-h-text-text {
        padding: 30px 10px;
    }
}


/* ---------- Spacing ----------- */

hr.space {
    border: none !important;
    clear: both;
    height: 5rem;
    margin: 0;
}

hr.space.l {
    height: 4rem;
}

hr.space.xs {
    height: 1rem;
}

hr.space.s {
    height: 2rem;
}

hr.space.m {
    height: 1rem;
}

.p-10x {
    padding: 10%;
}

/* ---------- FORM CONTATTI ----------- */

.form-control, .form-select {
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #afafaf;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0px;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* ---------- Decoration ----------- */

.underline::after {
    content: "";
    display: block;
    background: black;
    width: 100px;
    height: 3px;
    margin: 1rem 0;
}

.center.underline::after {
    margin-right: auto;
    margin-left: auto;
}

.primary.underline::after {
    background: var(--bs-primary) !important;
}

.secondary.underline::after {
    background: var(--bs-secondary) !important;
}

.solid-underline {
    width: 100px;
    height: 3px;
    margin: 1rem 0;
}

.underline.white::after {
    background: white !important;
}

.underline.text-center::after {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.primary.solid-underline {
    background-color: var(--bs-primary) !important;
}

.secondary.solid-underline {
    background-color: var(--bs-secondary) !important;
}

.third.solid-underline {
    background-color: #BAC105 !important;
}

.td-border-sx {
    border-left: 3px solid;
    padding-left: 10px;
}

.border-primary {
    border-color: var(--bs-primary);
}

.border-secondary {
    border-color: var(--bs-secondary);
}


.social-icon {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: white;
    color: var(--bs-primary) !important;
}

.social-icon i {
    position: absolute;
    font-size: 16px;
}

li::marker {
    color: var(--bs-primary);
}

.assistenza li::marker {
    color: var(--bs-secondary);

}

.documentazione li::marker {
    color: #BAC105;

}


/* ---------- Classi immagini ----------- */

.img-logo {
    height: 40px;
    width: auto;
}

.img-bg {
    position: absolute;
    height: 100%;
    width: 100%;
    object-fit: cover;
    bottom: 0;
}

@media (max-width: 991px) {
    .img-resp {
        position: relative !important;
        width: 120%;
    }
}

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

.icon-tecnologie {
    padding: 2rem 10%;

    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 10px;
}

.hover {
    background-color: transparent;
    position: relative;
    padding: 0;
    transition: all 0.25s;
}

.hover:hover .hover-img-dark {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99;
    background: rgb(0 0 0 / .7);
    transition: all 0.25s ease-in-out;

    display: flex;
    justify-content: center;
}

.hover-img-dark i {
    display: none;
    color: #ffffff;
    margin: auto;
    font-size: 25px;
    transition: all 0.25s;
}

.hover:hover .hover-img-dark i {
    display: block;
    transition: all 0.25s;
}





.text-third {
    color: #BAC105;
}



/* ---------- Carousel ----------- */

#carousel-home-a {
    position: relative;
    display: block;
    box-sizing: border-box;
    overflow: hidden;
}

#carousel-home-a .carousel-child {
    position: relative;
}

#carousel-home-a .carousel-slick,
#carousel-home-a .carousel-child,
#carousel-home-a img,
#carousel-home-a .text-box,
#carousel-home-a {
    height: 95vh;
}

#carousel-home-a img {
    position: absolute;
    z-index: -1;

    object-fit: cover;
    width: 100%;
    height: 100%;
    object-position: right bottom;
}

#carousel-home-a .carousel-text {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#carousel-home-a .text-box {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

#carousel-home-a .prev-arrow-home-1 span,
#carousel-home-a .next-arrow-home-1 span {
    font-size: 50px;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;
    border: none;
    outline: none;
}

#carousel-home-a .prev-arrow-home-1 span {
    left: 3%;
}

#carousel-home-a .next-arrow-home-1 span {
    right: 3%;
}

@media (max-width: 1024px) {

    #carousel-home-a .carousel-slick,
    #carousel-home-a .carousel-child,
    #carousel-home-a img,
    #carousel-home-a .text-box,
    #carousel-home-a {
        height: 80vh;
    }
}

@media (max-width: 425px) {

    #carousel-home-a img {
        width: 100%;
    }

}

/* carousel chi siamo */

#carousel-chi-siamo-a {
    position: relative;
    display: block;
    box-sizing: border-box;
}

#carousel-chi-siamo-a .carousel-child img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

#carousel-chi-siamo-a .carousel-child {
    margin: 30px;
}


#carousel-chi-siamo-a .slick-dots li button::before {
    font-size: 30px;
}

/* Carousel recensioni */

#carousel-recensioni {
    position: relative;
    display: block;
    box-sizing: border-box;
}

#carousel-recensioni-a .slick-dots li button::before {
    font-size: 30px;
}

#carousel-recensioni-a .carousel-child {
    padding: 20px;
}


/* Carousel recensioni HOME */

.google-review-block {
    background-color: #f4f4f4;
    border-radius: 20px;
    padding: 30px;

    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.google-review-block img {
    height: 35px;
    width: auto;
}

.google-review-block .stars {
    display: flex;
    align-items: center;
}

.google-review-block .stars p {
    font-size: 30px;
    margin: 0;
    margin-right: 10px;
    font-weight: 600;
}

.google-review-block .stars i,
#carousel-recensioni-home .carousel-child .box .stars i {
    color: #ffb700;
}

.google-review-block .stars i {
    font-size: 25px;
}

#carousel-recensioni-home .carousel-child .box .stars i {
    font-size: 16px;
}

.google-review-block a {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 30px;
    background-color: var(--bs-primary);

    color: #f1f1f1;
    font-weight: 600;
    text-decoration: none;

    &:hover {
        color: #000000;
    }

}

#carousel-recensioni-home .carousel-child .box {
    background-color: #f4f4f4;
    margin: 10px;
    padding: 15px;
    border-radius: 20px;

    min-height: 300px;
}

#carousel-recensioni-home .carousel-child .box .head-review {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

#carousel-recensioni-home .carousel-child .box .head-review img {
    width: 20%;
    height: fit-content;
}

#carousel-recensioni-home .carousel-child .box .head-review p {
    font-size: 20px;
    font-weight: 600;
}

#carousel-recensioni-home .carousel-child .box .stars p {
    max-width: 300px;
    -webkit-line-clamp: 4;
    /* autoprefixer: off */
    -webkit-box-orient: vertical;
    /* autoprefixer: on */
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
}

/* Immagine metà schermo con testo */

.text-img-full {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-end;
}

.text-img-full-img {
    overflow: hidden;
    min-height: 300px;
    float: left;
    width: 50%;
}

.text-img-full-img img {
    width: 0;
    min-width: 100%;
    height: 300px;
    min-height: 100%;
    object-fit: cover;
}

.text-img-full-text {
    padding: 50px 30px;
    min-height: 300px;
    height: 100%;
    float: left;
    margin-left: auto;
}

@media (min-width: 375px) {
    .text-img-full-text {
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .text-img-full-text {
        max-width: 720px;
    }

    .text-img-full .w-50 {
        width: 50% !important;
    }
}

@media (max-width: 768px) {
    .text-img-full .w-50 {
        width: 100% !important;
    }
}

@media (min-width: 1024px) {
    .text-img-full-text {
        max-width: calc(992px / 2);
    }
}

@media (min-width: 1440px) {
    .text-img-full-text {
        max-width: calc(1380px / 2);
    }
}


/*  */

.embed-container {
    position: relative;
    /*    padding-bottom: 56.25%; */
    padding-bottom: 54.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ---------- Animazione loop scritte ---------- */

.scroller {
    max-width: 100%;
}

.scroller__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.scroller[data-animated="true"] {
    overflow: hidden;
    -webkit-mask: linear-gradient(90deg,
            transparent,
            white 20%,
            white 80%,
            transparent);
    mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
}

.scroller[data-animated="true"] .scroller__inner {
    width: max-content;
    flex-wrap: nowrap;
    animation: scroll var(--_animation-duration, 40s) var(--_animation-direction, forwards) linear infinite;
}

.scroller[data-direction="right"] {
    --_animation-direction: reverse;
}

.scroller[data-direction="left"] {
    --_animation-direction: forwards;
}

.scroller[data-speed="fast"] {
    --_animation-duration: 20s;
}

.scroller[data-speed="slow"] {
    --_animation-duration: 100s;
}

@keyframes scroll {
    to {
        transform: translate(calc(-50% - 1rem));
    }
}

/* general styles */

.tag-list {
    list-style: none;
}

.tag-list li {
    padding: 1rem;
    font-size: 3vw;
    font-family: 'Lexend', sans-serif;
    filter: opacity(0.5)
}

.field--name-description {
    margin-bottom: 40px;
}

/* for testing purposed to ensure the animation lined up correctly */
.test {
    background: red !important;
}

/* ---------- Flex Full ---------- */

.d-flex-full {
    display: flex;
    flex-wrap: wrap;
}

.flex-child {
    width: var(--n-elements);
    padding: 2%;
}

.flex-child[element="6"] {
    --n-elements: calc(100%/6);
}

.flex-child[element="5"] {
    --n-elements: calc(100%/5);
}

.flex-child[element="4"] {
    --n-elements: calc(100%/4);
}

@media (max-width: 1024px) {
    .flex-child[element-lg="6"] {
        --n-elements: calc(100%/6);
    }

    .flex-child[element-lg="5"] {
        --n-elements: calc(100%/5);
    }

    .flex-child[element-lg="4"] {
        --n-elements: calc(100%/4);
    }
}

@media (max-width: 768px) {
    .flex-child[element-md="6"] {
        --n-elements: calc(100%/6);
    }

    .flex-child[element-md="5"] {
        --n-elements: calc(100%/5);
    }

    .flex-child[element-md="4"] {
        --n-elements: calc(100%/4);
    }

    .flex-child[element-md="3"] {
        --n-elements: calc(100%/3);
    }

    .flex-child[element-md="2"] {
        --n-elements: calc(100%/2);
    }
}

@media (max-width: 425px) {
    .flex-child[element-xs="6"] {
        --n-elements: calc(100%/6);
    }

    .flex-child[element-xs="5"] {
        --n-elements: calc(100%/5);
    }

    .flex-child[element-xs="4"] {
        --n-elements: calc(100%/4);
    }

    .flex-child[element-xs="3"] {
        --n-elements: calc(100%/3);
    }

    .flex-child[element-xs="2"] {
        --n-elements: calc(100%/2);
    }

    .flex-child[element-xs="1"] {
        --n-elements: 100%;
    }
}

/* ---------- Try & Buy ---------- */

.try-buy {
    display: flex;
    align-items: center;
}

.try-buy .translate {
    transform: translate(50%, 0);
}

.try-buy .padding {
    padding: 30px;
    padding-left: 200px;
}

@media (max-width: 1024px) {
    .try-buy .translate {
        transform: translate(0);
    }

    .try-buy .padding {
        padding-left: 30px;
    }
}

/* ---------- Landing page ---------- */

.title-block-landing {
    position: relative;
    height: 75vh;
}

.title-block-landing>img {
    position: absolute;
    height: 100%;
    width: 100%;
    object-fit: cover;
    z-index: -1;
    filter: brightness(0.3);
}

.title-block-landing .text-block {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    color: #ffffff;
}

.title-block-landing .text-block h1 {
    font-family: 'Comfortaa', sans-serif;
}

.title-block-landing .text-block .logo {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 30px 0;
    align-items: center;
    gap: 40px;
}

.title-block-landing .text-block img {
    width: 50%;
    height: auto;
    margin-left: 30px
}

.title-block-landing .text-block .logo p {
    font-size: 160px;
    font-family: 'Comfortaa', sans-serif;
}

.title-block-landing .text-block .cta {
    position: absolute;
    bottom: -80px;
    width: 100%;
}

.title-block-landing .text-block .cta p {
    background-color: var(--bs-primary);
    font-size: 40px;
    font-family: 'Comfortaa', sans-serif;
    padding: 20px 30px;
    text-transform: uppercase;
}

.corsi-landing {
    position: relative;
    min-height: 400px !important;
    height: 50vh !important;
    margin: 15px;
}

.corsi-landing img {
    position: absolute;
    object-fit: cover;
    height: 100%;
    width: 100%;
    z-index: -1;
}

.corsi-landing .content-block {
    padding: 30px;
    background-color: rgb(0 0 0 / .7);
    height: 100%;
    color: #ffffff !important;
    transition: all 0.5s;
}

.corsi-landing .content-body {
    opacity: 0;
    transition: all 0.5s;
}

.corsi-landing:hover .content-body {
    opacity: 1;
    transition: all 0.5s;
}

#carousel-corsi-landing button.slick-prev:before,
#carousel-corsi-landing button.slick-next:before {
    font-size: 30px !important;
    opacity: 1;
}


#carousel-corsi-landing .slick-dots li button:before {
    font-size: 30px;
    color: white;
}

@media (max-width: 768px) {
    .title-block-landing .text-block .logo p {
        font-size: 50px;
    }

    .title-block-landing .text-block .cta p {
        font-size: 30px;
    }

    .corsi-landing .content-body {
        opacity: 1;
        transition: all 0.5s;
    }
}

/* ---------- servizi hover ----------- */

.hover-block {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

.hover-block img {
    position: absolute;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.hover-block .img-cover {
    display: block;
    position: absolute;
    height: 100%;
    width: 100%;

    background-color: #000000;
    opacity: 75%;
}

.text-hover:hover h2 span {
    color: #ffffff !important;
}

.corsi-hover:hover .img-cover {
    background-color: #e86f19 !important;
    transition: all 0.3s ease;

}

.assistenza-hover:hover .img-cover {
    background-color: #11B4C3 !important;
    transition: all 0.3s ease;

}

.doc-hover:hover .img-cover {
    background-color: #BAC105 !important;
    transition: all 0.3s ease;

}

.doc-hover,
.assistenza-hover,
.corsi-hover {
    transition: all 0.3s ease;
}

.text-third {
    color: #BAC105 !important;
}

@media (max-width: 768px) {
    .hover-block {
        height: 50vh;
    }
}


/* ---------- carosello vantaggi ----------- */

.slide-1 {
    transition: color 0.3s ease;
    background-color: 0.3s ease;
}

.slide-1 p {
    display: none;

}

.slide-1:hover img {
    filter: grayscale();

}

.slide-1:hover h3 {
    display: none;

}

.slide-1:hover p {
    display: block;
}


/* ---------- certificazioni titolo responsive  ----------- */

.linea-doc-dx {
    border-right: 3px solid #BAC105;
}

@media (max-width: 576px) {

    .center-resp {
        text-align: center !important;
    }

    .linea-doc-dx {
        border-right: none;
    }
}



.bg-img-valori {
    background-image: url('/sites/default/files/images/forsic-brescia-i-valori.webp');
    width: 100%;
}


.bottom-line-primary {
    border-bottom: 10px solid var(--bs-primary);
}

/* ---------- logo bg corsi  ----------- */


.pittogramma-corsi {
    left: 44%;
    width: 700px;
    transform: rotate(180deg);
}

.opacity-10 {
    opacity: 10%;
}

.bg-third {
    background-color: #BAC105;
}


.sidebar-link.sticky-top {
    z-index: 1;
    top: 150px;
}

.sidebar-link a {
    text-decoration: none;
    text-transform: uppercase;
    font-family: "Inter", sans-serif;
    font-weight: 600;
    margin-bottom: 2rem;
}

.sidebar-link.third a:hover,
.sidebar-link.third a:focus {
    color: #BAC105;
}

.sidebar-link.primary a:hover,
.sidebar-link.primary a:focus {
    color: var(--bs-primary);
}

.sidebar-link.secondary a:hover,
.sidebar-link.secondary a:focus {
    color: var(--bs-secondary);
}