:root {
    --primary: #0000;
    --secondary: #0000;
    --black: #000000;
    --white: white;
    --azzurro: #75aec2;
    --verde: #80bf77;
    --giallo: #bcc177;
    --arancione: #d38b6b;
    --rosa: #bc7798;

    --fs-sm: clamp(0.8rem, 0.17vi + 0.76rem, 0.89rem);
    --fs-base: clamp(1rem, 0.34vi + 0.91rem, 1.19rem);
    --fs-md: clamp(1.25rem, 0.61vi + 1.1rem, 1.58rem);
    --fs-lg: clamp(1.56rem, 1vi + 1.31rem, 2.11rem);
    --fs-xl: clamp(1.95rem, 1.56vi + 1.56rem, 2.81rem);
    --fs-xxl: clamp(2.44rem, 2.38vi + 1.85rem, 3.75rem);
    --fs-xxxl: clamp(3.05rem, 3.54vi + 2.17rem, 5rem);
}

@keyframes slideIn {
    0% {
        transform: scale(0.5) translate(-100%, -100%);

    }

    100% {
        transform: scale(1) translate(-100%, -100%);
    }
}

.navbar-nav li:nth-child(1)>.nav-link:hover {
    background-color: var(--azzurro);
    color: var(--white);
}
.text-catalogo{
    font-size: var(--fs-base);
    font-weight: 600;
    text-decoration: none;
    color: var(--black);
    text-align: center;
    padding-top: 1em;
}
.text-catalogo:hover{
    color: var(--azzurro);
    
}
.navbar-nav li:nth-child(2)>.nav-link:hover {
    background-color: var(--verde);
    color: var(--white);
}

.navbar-nav li:nth-child(3)>.nav-link:hover {
    background-color: var(--giallo);
    color: var(--white);
}

.navbar-nav li:nth-child(4)>.nav-link:hover {
    background-color: var(--arancione);
    color: var(--white);
}
.col-custom{
    display: flex;
    
    width: 20%;
}

.navbar-nav li:nth-child(5)>.nav-link:hover,
.navbar-nav li:nth-child(6)>.nav-link:hover {
    background-color: var(--rosa);
    color: var(--white);
}
.img-progetto{
    border-radius: 20px;
}
.rotate{
    transform: rotate(180deg);
   
}
.form-check-label,
.form-check-label a {
    font-size: var(--fs-base);
    padding: 6px;
    color: var(--white);
}
.dropdown-toggle::after{
    content:unset
}
.dropdown-menu[data-bs-popper]{
    top:117%;
}
.dropdown-menu{
    filter: drop-shadow(3px 4px 4px #0000001c);
    border:none;
    background-color: transparent;
    border-radius: 20px;
    margin-top:2rem;
    width: 200%;
    padding-top:0;
    padding-bottom:0;
}
.dropdown-menu li a{
    transition: 0.3s ease;
    
    padding-top:0.5em;
    padding-bottom:0.5em;
}
.dropdown-menu li{
    border-radius: 20px;
    background-color: var(--white);
    margin-top:0.5rem;
    margin-bottom:0.5rem;
}
.dropdown-menu li a:hover{
    border-radius: 20px;
    background-color: var(--giallo);
    margin-top:0.5rem;
    margin-bottom:0.5rem;
}
.form-control:focus {
    box-shadow: rgba(100, 100, 111, 0.331) 0px 7px 29px 0px;
}
.box-pages{
    filter: drop-shadow(10px 10px 4px #00000019);
    background-color: var(--azzurro);
    border-radius: 20px;
}
.box-pages img{
    filter: drop-shadow(10px 10px 4px rgba(0, 0, 0, 0.331));
}
.txt-area:focus {
    border: 3px solid var(--white);
    background-color: unset;
}

.h-form input::placeholder,
.txt-area::placeholder {
    font-size: var(--fs-md);
    color: var(--white);
}

.h-form input[type="text"],
.h-form input[type="email"],
.h-form input[type="tel"],
.txt-area {
    padding: 1.5em;
    border: 3px solid var(--white);
    background-color: transparent;
}

.rotated {
    transform: rotate(180deg);

}

body {
    background-color: #f3f3f3;
    font-family: "DM Sans", serif;
}

.relative {
    position: relative;
}

.grigio {
    color: #75aec2;
}

.list-button {
    list-style: none;
    padding-left: 0;
    display: inline-flex;
    flex-direction: row;
}

.video {
    object-fit: cover;
    filter: drop-shadow(1px 4px 10px #0000002b);
    border-radius: 20px;

}

.title-footer {
    font-size: var(--fs-xl);
    font-weight: 600;
}

.link-privacy {
    text-decoration: none;
    color: var(--black);
}

.link-privacy:hover {
    color: var(--azzurro);
}

.title-h1 {
    font-weight: 600;
    line-height: 4.8rem;
    font-size: var(--fs-xxxl);
}

.spacing-top {
    padding-top: 29vh;
}


.img-preview {
    border-radius: 20px;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.list-button {
    margin-top: 2rem;
    gap: 2rem;
    list-style: none;
}

.logo-nav {
    max-width: 200px;
    min-width: 200px;
}

.button:hover {
    color: var(--black);
}

.box-title {
    padding-left: 12vh;

}

.navbar-nav {
    gap: 2rem
}

.box-card {
    height: 50vh;
    overflow-y: auto;
}

.txt {
    text-align: justify;
    font-size: var(--fs-md);
}

.row-img-fixed {
    position: absolute;
    top: 0;
}

.col-box-1 {
    transform: perspective(6.5cm);
    box-shadow: rgba(100, 100, 111, 0.331) 0px 7px 29px 0px;
    top: 0;
    position: sticky;
    margin: 3rem;
    border: 2px solid black;
    padding: 22vh;
}

.navbar-expand-lg .navbar-nav .nav-link {
    filter: drop-shadow(3px 4px 4px #0000001c);
    padding-right: 1em;
    padding-top: 0.6em;
    padding-left: 1em;
    padding-bottom: 0.6em;
}
.box-slider{
    filter: drop-shadow(10px 10px 4px #00000017);
}

.dropdown-item{
    
    text-transform: uppercase;
    font-weight: 700;
    white-space: unset;
}
.nav-link {
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    font-size: var(--fs-base);
    text-transform: uppercase;
    font-weight: 700;
    display: inline-flex;
    border-radius: 20px;
    background-color: var(--white);
    text-decoration: none;
    color: var(--black);
}

.img-rounded {
    box-shadow: rgba(100, 100, 111, 0.331) 0px 7px 29px 0px;
    border-radius: 20px;
}

.navlink:hover {
    text-decoration: none;
}

.link-footer {
    font-size: var(--fs-base);
    text-decoration: none;
    color: var(--black);
    transition: 1s ease;
    border-bottom: 1px solid transparent;
}

.link-footer:hover {
    text-decoration: none;
    color: var(--azzurro);
    border-bottom: 1px solid var(--azzurro);

}

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

.black {
    color: var(--black);
}

.rounded-video {
    border-radius: 20px;
}

.box-content {
    position: absolute;
    z-index: 8;
}

.title-box {
    color: white;
    font-weight: 800;
    max-width: 55%;
    font-size: 2.5rem;

}

.btn-azzurro, .btn-verde, .btn-giallo, .btn-orange, .btn-rosa {
    background-color: var(--azzurro);
    padding: 0.5em 2.3em 0.5em 2.3em;
    font-size: 1.1rem;
    border-radius: 5px;
    color: var(--white);
    transition: 0.5s;
    text-decoration: none;
    filter: drop-shadow(3px 4px 4px #0000004a);
    left: 2rem;
}

.btn-azzurro:hover, .btn-verde:hover, .btn-giallo:hover, .btn-orange:hover, .btn-rosa:hover {
    background-color: var(--azzurro);
    color: var(--white);
    filter: unset;
    padding: 0.5em 3.3em 0.5em 1.3em;
}

.btn-azzurro:hover .angle-down, .btn-verde:hover .angle-down, .btn-giallo:hover .angle-down, .btn-orange:hover .angle-down, .btn-rosa:hover .angle-down{
    opacity: 1;
}

.btn-giallo{
    background-color: var(--giallo);
}
.btn-giallo:hover{
    background-color: var(--giallo);
}
.btn-verde{
    background-color: var(--verde);
}
.btn-verde:hover{
    background-color: var(--verde);
}
.btn-orange{
    background-color: var(--arancione);
}
.btn-orange:hover{
    background-color: var(--arancione);
}
.btn-rosa{
    background-color: var(--rosa);
}
.btn-rosa:hover{
    background-color: var(--rosa);
}
#sendBtn {
    background-color: var(--white);
    padding: 0.5em 2.3em 0.5em 2.3em;

    font-size: 1.1rem;
    border-radius: 5px;
    color: var(--black);
    transition: 0.5s;
    text-decoration: none;
    filter: drop-shadow(3px 4px 4px #0000004a);
    left: 2rem;
}

footer {
    background-color: var(--white);
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
    margin: 0rem 1.3rem 0rem 1.3rem;
    box-shadow: 4px -1px 13px rgba(0, 0, 0, 0.097);
    overflow: hidden;
}

.txt-box {
    padding-top: 1em;
    font-size: 1.2rem;
    text-align: justify;
    max-width: 75%;

    color: white;
}

.h-form {
    margin-top: 0.8rem;
}
.navbar-toggler{
    
    
    border:0;
}
.navbar-toggler:focus{
    box-shadow: unset;
}
.navbar-toggler span{

    display: block!important;
}
.bar1 {
    transition: 0.3s ease;
    position: relative;

    width: 45px;
    height: 4px;
    border-radius: 20px;
    background-color: var(--black);
}

.bar2 {
    transition: 1s ease;
    position: relative;

    
    margin-top: 0.3rem;
    width: 45px;
    height: 4px;
    border-radius: 20px;
    background-color: var(--black);
}


.bar3 {
    transition: 0.3s ease;
    position: relative;
    margin-top: 0.3rem;
   
    width: 45px;
    height: 4px;
    background-color: var(--black);
}
.change.bar1{
    transform: rotate(-45deg) translate(3px, 12px);
     width:33px;
 }
 .change.bar3{
     transform: rotate(45deg) translate(-1px, -14px);
     width:33px;
 }
 .change.bar2 {
     transition: 0.1s;
     opacity: 0;
 }
.box-catalogo {
    filter: drop-shadow(3px 4px 4px #0000004a);
    padding: 3em;

    border-radius: 20px;
    background-color: var(--azzurro);
}

.h-form input {
    padding: 1em;
}

.materiali {
    max-width: 200px;
}

.box-form {
    filter: drop-shadow(3px 4px 4px #0000004a);
}

.box-content {
    height: 100%;
    width: 100%;
    transform: translate(50px, 50px);
}

.back-form {
    border-radius: 20px;
    padding: 3em;
    background-color: var(--azzurro);
}

.link-box-catalogo {

    white-space: nowrap;
    background-color: var(--white);
    padding: 0.5em 2.3em 0.5em 2.3em;
    transform: translate(8px, 60px);
    font-size: 1.1rem;
    border-radius: 5px;
    color: var(--black);
    transition: 0.5s;
    text-decoration: none;
    filter: drop-shadow(3px 4px 4px #0000004a);
    left: 2rem;
}

.link-box-catalogo:hover,
#sendBtn:hover {
    color: var(--black);
    filter: unset;
    padding: 0.5em 3.3em 0.5em 1.3em;
}


.link-box-catalogo:hover .icon-arrow,
#sendBtn:hover .plane {
    opacity: 1;
}

.link-box {
    display: inline-block;
    background-color: var(--white);
    padding: 0.5em 2.3em 0.5em 2.3em;
    transform: translate(8px, 60px);
    font-size: 1.1rem;
    border-radius: 5px;
    color: var(--black);
    transition: 0.5s;
    text-decoration: none;
    filter: drop-shadow(3px 4px 4px #0000004a);
    left: 2rem;
}

.form-check-input:checked[type=checkbox] {
    background-color: var(--azzurro);
    min-height: unset;
    border: 2px solid var(--white);
}

.link-box:hover {
    color: var(--black);
    filter: unset;
    padding: 0.5em 3.3em 0.5em 1.3em;
}

.icon-arrow,
.plane {
    padding-left: 0.3em;
    transition: 0.5s;
    opacity: 0;
}

.link-box:hover .icon-arrow {
    opacity: 1;
}

.box-img {
    filter: drop-shadow(3px 3px 4px #00000041);
}

.spacing-footer {
    padding: 6vh 0vh 6vh 6vh
}

.container-map {

    overflow: hidden;
}

#map {
    
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.box {
    padding-right: 22vh;
    padding-left: 22vh;
    padding-top: 3vh;
    padding-bottom: 12vh;
}

.box-footer {
    padding-right: 12vh;
    padding-left: 12vh;
    padding-top: 6vh;
    padding-bottom: 6vh;
}

.payof {
    font-size: 2rem;
}

.subtitle {
    font-weight: 600;
    font-size: 4rem;
}

.subtitle-box-catalogo {
    font-size: 3rem;
    color: var(--white);
}

.link-catalogo {
    color: var(--white);
    text-decoration: none;
    font-size: 1.5rem;
}
.bg-green{
    background-color: var(--verde);
}
.green{
    color:var(--verde);
}
.bg-yellow{
    background-color: var(--giallo);
}
.yellow{
    color:var(--giallo);
}
.orange{
    color:var(--arancione);
}
.bg-orange{
    background-color: var(--arancione);
}
.bg-rosa{
    background-color: var(--rosa);
}
.rosa{
    color:var(--rosa);
}
@media only screen and (max-width:1800px) {
    .subtitle-box-catalogo {
        font-size: 2rem;
        color: var(--white);
    }
    .txt-box-catalogo{
        font-size: var(--fs-base);
    }
    .payof {
        font-size: var(--fs-md);
    }

    .title-h1 {
        font-weight: 600;
        line-height: 3.2rem;
        font-size: var(--fs-xl);
    }
    .btn-azzurro, .btn-verde, .btn-giallo, .btn-orange, .btn-rosa {
        font-size: 1rem;
        white-space: nowrap;
    }
    .button {
        white-space: nowrap;
    }

    .box-title {
        padding-left: 1em
    }

    .box {
        padding-right: 6vh;
        padding-left: 6vh;
        padding-top: 3vh;
        padding-bottom: 12vh;
    }

    .link-box {
        transform: translate(8px, 29px);
    }

    .title-box {
        font-size: var(--fs-md);

    }

    .txt-box {
        padding-top: 0;
    }

    .box-content {
        transform: translate(29px, 26px);
    }

}

@media only screen and (max-width:1024px) {
    .navbar{
        margin:0.5rem;
        border-radius: 20px;
        background-color: var(--white);
        filter: drop-shadow(3px 4px 4px #0000001c);
        
    }
    .dropdown-menu{
        box-shadow: unset;
        filter: unset;
        width: auto;
    }
    .nav-link {
        box-shadow: unset;
        font-size: var(--fs-base);
        text-transform: uppercase;
        font-weight: 700;
        display: inline-flex;
        border-radius: 20px;
        background-color: transparent;
        text-decoration: none;
        color: var(--black);
    }
    .box-content {
        transform: translate(20px, 80px);

    }
    
    .logo-nav{
        max-width: 150px;
        min-width: 150px;
        
        border-radius:10px;
        background-color: var(--white);
    }
    .navbar-nav{
        gap:1rem;
    }
    .box-img {
        margin-top: 1rem;
        object-fit: cover;
        border-radius:10px;
        object-position: bottom right;
        aspect-ratio: 16/9;

    }

    .box {
        padding-right: 2vh;
        padding-left: 2vh;
        padding-top: 3vh;
        padding-bottom: 1vh;
    }

    .txt {
        font-size: var(--fs-base);
    }

    .subtitle-box-catalogo {
        font-size: var(--fs-lg);
    }

    .box-footer {
        padding-right: 2vh;
        padding-left: 2vh;
        padding-top: 6vh;
        padding-bottom: 3vh;
    }

    #map {
        border-radius: 20px;
        position: relative;
        height: 45vh;

    }

    @media only screen and (max-width:630px) {
        .subtitle {
            font-size: var(--fs-xl);
        }

        .video {
            aspect-ratio: 1/1;

        }

        .list-button {
            flex-direction: column;
        }

        .box-img {
            margin-top: 1rem;
            aspect-ratio: unset;
            object-position: right;
            object-fit: cover;

        }

        .box-content {
            width: auto;
            height: auto;
            transform: unset;
            padding: 5em 2em 2em 2em
        }

        .box {
            padding-left: 2vh;
            padding-right: 2vh;
        }

        .back-form {
            padding: 1.5em;
        }
    }

    @media only screen and (max-width:390px) {
        .box-content {

            padding: 3em 2em 2em 2em
        }

        footer {
            margin: 0rem 0.4rem 0rem 0.4rem;
        }
    }
}