:root{
    --col-main: #0030b3;
    --col-secondary: #b6d6ff;
    --col-text: #212529;
    --col-sec-text: #0f2052;
    --col-third: #d1e2f8;
    --col-prestazione: #86b9f9;
    --col-titoli: #0f2052;
    --col-bgwhite: #fbf4ef;
    --col-bgdarkwhite: #f0ebe3;
    --col-footer: #0f2052;
    --col-button-top:#8979ff;
    --col-gray: #c1c1c1;
    --col-darkwhite: #f1f1f1;
}

*::-webkit-scrollbar {-webkit-appearance: none; width: 6px; height: 6px;}
*::-webkit-scrollbar-track-piece {background-color: var(--col-darkwhite)}
*::-webkit-scrollbar-thumb {background-color: var(--col-gray); border-radius: 10px;}
*::-webkit-scrollbar-thumb:vertical {height: 6px}
*::-webkit-scrollbar-thumb:horizontal {width: 6px}

@font-face {
    font-family: "Apercu";
    src: url("/assets/fonts/Apercu.ttf");
}
@font-face {
    font-family: "Apercu";
    src: url("/assets/fonts/Apercu-Bold.ttf");
    font-weight: bold;
}
@font-face {
    font-family: "Apercu";
    src: url("/assets/fonts/Apercu-Italic.ttf");
    font-style: italic;
}

*{
    font-family: 'Apercu', sans-serif;
}

html, body{
    min-height: 100vh !important;
    height: fit-content;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    overflow: hidden;
}

nav {
    height: 100px;
}
.navbar-nav {
    width: 100%;
}
nav a {
    color: #fff !important;
    font-weight: bold;
}
.navbar-brand {
    margin-right: 3em;
}
ul{
    list-style-type: none;
}

.fa, .fas {
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 900;
}

.btn {
    padding: 8px 22px !important;
    font-size: 1.2rem;
}

.bg-main, .bg-main:before{
    background-color: var(--col-main);
    position: relative;
}

.bg-sec, .bg-sec:before{
    background-color: var(--col-secondary);
    color: var(--col-sec-text);
    position: relative;
}

.bg-wh, .bg-wh:before{
    background-color: var(--col-bgwhite);
    color: var(--col-sec-text);
    position: relative;
}

.bg-wh-darker, .bg-wh-darker:before{
    background-color: var(--col-bgdarkwhite);
    color: var(--col-sec-text);
    position: relative;
}

.bg-azure, .bg-azure:before, .bg-azure2, .bg-azure2:before{
    background-color: var(--col-prestazione);
    position: relative;
}

.bg-main:before, .bg-sec:before, .bg-wh:before, .bg-wh-darker:before, .bg-azure:before, .bg-azure2:before {
    content:"";
    position: absolute;
    height: calc(100% + 523px); /* PER sezione prestazioni */
    width: 150vw;
    left: -50vw;
    z-index: -1;
}

.bg-azure2:before{
    top: -223px;
    left: 0;
}

h1,h2,h3,h4,h5,h6{
    color: var(--col-titoli);
}



/*******************/
#backgroundImage0 {
    position: absolute;
    right: 10vh;
    top: 10vh;
    height: 26vh;
    z-index: 9;
}

@media screen and (max-width: 768px) {
    #backgroundImage0 {
        right: 20vw;
        top: 10vh;
        height: 18vh;
        display: none;
    }
}
#backgroundImage1{
    position: absolute;
    right: 0;
    top: 30vh;
    height: 30vh;
    z-index: 9;
}
@media screen and (max-width: 768px) {
    #backgroundImage1 {
        top: 6vh;
        height: 24vh;
        display: none;
    }
}

#backgroundImage2 {
    position: absolute;
    left: 0;
    top: 76vh;
    height: 45vh;
    z-index: 9;
}
@media screen and (max-width: 768px) {
    #backgroundImage2 {
        display: none;
    }
}

#backgroundImage3 {
    position: absolute;
    right: 0;
    top: 10vh;
    height: 20vh;
    z-index: 9;
    width: auto;
}
@media screen and (max-width: 768px) {
    #backgroundImage3 {
        top: 4vh;
        height: 15vh;
    }
}

#backgroundImage4 {
    position: absolute;
    left: 0;
    top: -8vh;
    height: 28vh;
    opacity: .7;
    z-index: 9;
    width: auto;
}
@media screen and (max-width: 768px) {
    #backgroundImage4 {
        top: -9vh;
        height: 20vh;
    }
}

.dottore-mobile {
    display: none;
    width: 100vw;
    height: auto;
/*    margin-left: -.75rem;*/
    -webkit-mask-image: url(../img/mask.png);
    mask-image: url(../img/mask.png);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    mask-position: center top;
    -webkit-mask-size: contain;
    mask-size: contain; /*1025 × 1148*/
    overflow: hidden;
}
.dottore-mobile img {
    width: 100%;
    height: auto;
}
.dottore-desktop {
    display: block;
    background-image: url(../img/dottore/dottore_intero.jpg);
    background-size:cover;
    min-height: 360px;
}

@media screen and (max-width: 600px) {
    .dottore-mobile {
        display: block;
    }
    .dottore-desktop {
        display: none;
    }
}

nav{
    background: var(--col-main);
    height: 90px;
    color: white !important;
}
nav img{
    max-height: 50px;
}
nav a{
    font-size: 1.1em;
}
.navbar-collapse{
    background: var(--col-main);
    /* border-bottom: 1px solid gray; */
}

#whatsapp {
    position: fixed;
    bottom: 30px;
    left: 30px;
    z-index: 999;
}
#whatsapp img {
    width: 60px;
}

#titleContainer{
    position: relative;
    padding-left: 20px;
    padding-right: 20px;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100); /*Per calcolare con JS e fixare la VH su mobile con address bar*/
    /* margin-top: -90px; */

    /* padding: 30vh 0; */
}


#discoverLink{
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
}

#discoverLink img{
    width: 300px;
}


.myCard{
    width: 100%;
    border-radius: 20px;
    padding: 35px;
    background-color: var(--col-third);
}
.myCard h4 {
    font-weight: bold !important;
    color: var(--col-sec-text);
    font-size: 22pt;
}

.myCard img{
    max-width: 60%;
    margin-top: 20px;
}

/*CARD CON IMG -> TESTO*/
.cardWithText {
    position:relative;
    height: 280px;
}
.cardWithText img{
    height: 180px;
    max-width: initial;
}
.cardWithText, .cardWithText img, .cardWithText .text {
    transition: all 0.3s;
}
.cardWithText .text {
    position: absolute; 
    top: 110px; 
    left: 35px; 
    right: 35px;
    opacity: 0;
}
.cardWithText:hover {
    transform: scale(1.1);
}
.cardWithText:hover img {
    opacity:0;
}
.cardWithText:hover .text {
    opacity:1;
}

#linksDonwload {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em;
}
#linksDonwload img {
    transition: all .3s;
    margin: 0 3px;
}
#linksDonwload img:hover {
    transform: scale(1.1);
}

.comeRow{
    border-bottom: 1px solid white;
    margin: 0;
    padding: 10px 0;
    font-size: 1.4em;
}

.comeRow img{
    width: 60px;
}

@media screen and (max-width: 700px) {
    .comeRow{
        font-size: 1.2em;
    }

    .comeRow img{
        width: 45px;
    }
}


#comeFunzionaContainer {
    position: relative;
    height: 500px;
    margin-bottom: 100px;
}
.comeFunzionaTexts {
    max-width: 800px;
    width: 100%;
    margin: auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
.comeFunzionaImg {
    position: absolute;
    border-radius: 100%;
    overflow: hidden;
    width: 400px;
    height: 400px;
    left: 50%;
    top: 50%;
    transform: translate(30%, -40%);
}
.comeFunzionaImg img {
    position: relative;
    width: 100%;
    height: 100%;
}

.divImmagineBackground{
    background-position: top;
    background-size: cover;
    background-repeat: no-repeat;
}

.numeri-clienti {
    background-position: top;
    background-size: contain;
    background-repeat: no-repeat;
    min-height: 570px;
}

@media screen and (max-width: 500px) {
    .numeri-clienti {
        min-height: 420px;
        max-width: 350px;
        margin: 40px auto 0;
    }
}

.cardPrestazione {
    text-decoration: none;
}

.cardPrestazione img {
    height: 280px;
    max-width: 85vw;
    margin: 65px auto;
}

.cardPrestazione p {
    color: var(--col-text);
}

@media screen and (max-width: 500px) {
    .cardPrestazione h3 {
        font-weight: bold;
    }
}

/*ACCORDION*/
.accordion-button:not(.collapsed) {
    color: initial;
    background-color: transparent;
    box-shadow: none;
}
.accordion-item{
    background-color: transparent;
    border: 0;
}
.accordion-button{
    background-color: transparent;
    box-shadow: inset 0 -1px 0 rgb(0 0 0 / 13%);
    font-weight: bold;
}
.accordion-body{
    box-shadow: inset 0 -1px 0 rgb(0 0 0 / 13%);
}

.myInput{
    background: transparent;
    border: 1px solid gray;
    border-radius: 100px;
    padding: 2px 10px;
}

/*SLIDER DA DEV*/
.tns-controls { text-align: center; margin-bottom: 10px; }
.tns-controls [aria-controls] {
    font-size: 15px;
    margin: 0 5px;
    padding: 0 1em;
    height: 2.5em;
    color: #000;
    background: #66CCFF;
    border-radius: 3px;
    border: 0;
}
[data-action] {
    display: block;
    margin: 10px auto;
    font-size: 17px;
    min-width: 3em;
    text-align: center;
    background: transparent;
    border: 0;
}
.tns-controls [disabled] { 
    color: #999999;
    background: #B3B3B3; 
    cursor: not-allowed !important;
}
.tns-nav {
    text-align: center;
    margin: 10px 0;
}
.tns-nav > [aria-controls] {
    width: 9px;
    height: 9px;
    padding: 0;
    margin: 0 5px;
    border-radius: 50%;
    background: #ddd;
    border: 0;
}
.tns-nav > .tns-nav-active { background: #999; }

/* SLIDER MIE OPZIONI */
#sliderRecensioni{
    text-align: center;
}
#sliderRecensioni img{
    width: 100%;
}
.recensioneContainer{
    position: relative;
}
.recensioneText{
    position: absolute;
    left: 50px;
    right: 66px;
    top: 25%;
    text-align: left;
    font-size: .9em;
}
.recensioneUser{
    position: absolute;
    right: 46%;
    bottom: 18%;
    text-align: left;
    font-size: .8em;
}


@media screen and (max-width: 400px) {
    .recensioneText{
        font-size: .8em;
    }
    .recensioneUser{
        font-size: .7em;
    }
}

button[data-action="stop"], button[data-action="start"]{
    display: none;
}
.tns-controls{
    display: none;
}

footer{
    background-color: var(--col-footer);
    min-height: 80px; 
    color: white; 
    padding: 10px 0;

    position: relative;
}

footer a{
    color: white;
    text-decoration: none;
}

.footerSocial {
    z-index: 99;
}
.footerSocial img {
    width: 50px;
    transition: all .3s;
}
.footerSocial img:hover {
    transform: scale(1.1);
}
.footerSocial a {
    margin: 0 2px;
}

.terms-link:hover {
    color: var(--col-secondary);
}


.modal-content{
    background-color: var(--col-bgwhite);
    border-radius: 15px;
    padding: 10px;
}

.myBtnBlue{
    background-color: var(--col-main);
    color: white;
    padding: 16px 30px;
    border-radius: 30px;
    border: 0;
    margin-top: 30px;
}

#linksDonwload{
    width: 100%;  
    /* background-color: #0533b4; */
    margin: 20px 0;
    margin-bottom: 90px;
}

#linksDonwload img{
    width: 140px;
}

@media screen and (min-width: 700px) {
    #linksDonwload img{
        width: 220px;
    }
    
    #sliderPrestazioni-ow {
/*        top: -100px;*/
        position: relative;
    }
}

@media screen and (max-width: 500px) {
    #rowPartner {
        max-width: 350px;
        margin: 40px auto 0;
    }
}

#rowPartner > div {
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#rowPartner img {
    max-width: 80%;
    max-height: 80%;
/*    padding-top: 10%;*/
    margin: 0 auto;
    display: block;
}

.taglia-semicerchio {
    position: relative;
    width: 100%;
    overflow: hidden;
    top: 0;
    background-color: var(--col-bgwhite);
}
.semicerchio{
    position: absolute;
    background-color: var(--col-main); 
    border-radius: 100%;
    width: 130vw;
    height: 130vw;
    left: -16vw;
    z-index: 0;
    top: 0;
}
.contenuto-semicerchio {
    position: relative;
}

#btnCap {
    transition: all 0.3s;
}
#btnCap:hover {
    transform: scale(1.1);
}

@media screen and (max-width: 700px) {
    #semicerchio{
        min-height: auto;
    }
}

@media screen and (min-width: 700px) {
    #linksDonwload{
        margin-top: 70px;
    }
}

.btnPrenota, .btnMore, .btnTel, .lavora-modal .btn{
    background-color:var(--col-button-top); 
    color: white; 
    border-radius:100px;
    margin: 2px; 
    padding: 6px 22px; 
    font-weight: bold;
    
    position: relative;
    transition: background-position 0.25s ease-in-out 0s;
    /* background-image: linear-gradient(to right, #B6D6FF, #A8C3FF, #84ABFF); */
    /* background-image: linear-gradient(to right, #B6D6FF, #84ABFF, #B6D6FF); */
    /* background-image: linear-gradient(to right, rgb(53, 186, 236), rgb(40, 231, 194), rgb(53, 186, 236)); */
    background-position: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    background-size: 200% 100% !important;

    width: 100%;
}
.btnMore {
    max-width: 260px;
}

.btnPrenota, .btnMore, .lavora-modal .btn {
    background-image: linear-gradient(to right, #BDB7EC, #8979FF, #BDB7EC);
} 
.btnTel {
    background-image: linear-gradient(to right, #FFFFFF, #C4C4C4, #FFFFFF);
    color: #8979FF !important;
}

.btnPrenota:hover, .btnMore:hover, .btnTel:hover, .lavora-modal .btn:hover {
    background-position: 100% 0px;
}

.btnPrenota:hover, .btnMore:hover, .lavora-modal .btn:hover {
    color: white;
}

.btnPrenota::before, .btnMore:before, .lavora-modal .btn::before {
    /* background: linear-gradient(90deg, #B6D6FF 0%, #84ABFF 100%); */
    background: linear-gradient(90deg, #BDB7EC 0%, #8979FF 100%);
    /* background: linear-gradient(90deg, rgb(40, 231, 194) 0%, rgb(53, 186, 236) 100%); */
}
.btnTel::before {
    background: linear-gradient(90deg, #FFFFFF 0%, #C4C4C4 100%);
}

/* #btnTel{
    background-color:white; 
    color:var(--col-button-top) !important;  
    font-weight: bold; 
    border-radius:100px;
    margin: 2px; 
    padding: 6px 22px;
} */

@media screen and (max-width: 991px){
    .navbar-nav{
        padding-top: 10vh;
        padding-bottom: 18vh;
        height: calc(100vh - 72px);
    }
    .nav-item{
        margin-bottom: 1vh;
    }
}

.navbar-brand{
    padding-left: 10px;
    padding-top: 10px;
}


#textGia10k{
    margin: auto;
}

.myInput {
    width: 250px;
    padding: 10px 20px;
    border-radius: 30px;
    margin-bottom: 50px;
}

#whatsapp {
    transition: all .3s;
}
#whatsapp:hover {
    transform: scale(1.1);
}

.nav-link:hover {
    text-decoration: underline !important;
}

@media screen and (max-width: 992px) {
    .nav-link{
        font-weight: bold;
    }
}

@media screen and (max-width: 600px) {
    #textGia10k{
        text-align: center;
    }
    .comeFunzionaImg {
        display: none;
    }
}



#serviziContainer{
    background-position: top;
    background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
    #serviziContainer {
/*        background-image: url("/assets/img/separatore4.png");
        padding-top: 223px;*/
        /*        display: none;*/
        width: 100vw;
        height: auto;
/*        padding-top: 50px;*/
/*        margin-left: -.75rem;*/
        -webkit-mask-image: url(../img/separatore1.png);
        mask-image: url(../img/separatore1.png);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center top;
        mask-position: center top;
        -webkit-mask-size: cover;
        mask-size: cover;
        overflow: hidden;
    }
}

@media screen and (min-width: 768px) {
    .areaPrestazioni {
        margin: 75px 0;
    }
}


/* ------------------------ CUSTOM BOOTSTRAP ------------------------ */
.dropdown-menu {
    background-image: linear-gradient(to right, #BDB7EC, #8979FF, #BDB7EC);
    background-position: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    background-size: 200% 100% !important;
    border: 0;
    border-radius: 20px;
    padding: 5px;
}
.dropdown-menu .dropdown-item {
    font-weight: bold;
}
.dropdown-menu .dropdown-item:hover {
    background-image: linear-gradient(to right, #FFFFFF, #C4C4C4, #FFFFFF);
    background-position: initial;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    background-size: 200% 100% !important;
    color: #8979FF !important;
    border-radius: 100px;
}