:root {
    --rosso:#772528;
    --lato:'Lato', sans-serif;
}
body{
    font-family: var(--lato);
    color:#000;
    font-size: 16px;
    overflow-x: hidden;
}
a:hover {
    text-decoration: none;
    color:inherit;
}
*{
    outline: none !important;
}
.container-large {
    max-width:1400px;
}
footer {
    border-top:1px solid grey;
}
footer p {
    font-size:12px;
}
.bg-dark {
    background-color:#313131;
}
.bg-grey {
    background-color:#F3F3F3;
}
.bg-grey2 {
    background-color:#F6F6F6;
}
.bg-red {
    background-color:var(--rosso);
}
.bg-white {
    background-color:#fff;
}
.bg-black {
    background-color:#000;
}
.txt-red {
    color:var(--rosso);
}
.txt-white {
    color:#fff;
}
.txt-black {
    color:#000;
}
.bottone {
    padding:12px 20px;
    color:#fff;
    background-color:var(--rosso);
    text-transform: uppercase;
    font-size:14px;
    display: inline-block;
    border:1px solid var(--rosso);
    transition:all 0.2s;
}
.bottone-white {
    background-color:#fff;
    color:var(--rosso);
}
.bottone-white:hover {
    background-color:var(--rosso) !important;
    border:1px solid #fff !important;
    color:#fff !important;
}
.bottone:hover {
    color:var(--rosso);
    border:1px solid var(--rosso);
    background-color:#fff;
}
.wrap {
    flex-wrap: wrap;
}
.bold{
    font-weight: bold;
}
.flex {
    display: flex;
}
.flex-1{
    flex:1;
}
.fs-12 {
    font-size:12px;
}
.fs-18 {
    font-size:18px;
}
.fs-40 {
    font-size:40px;
}
.fs-45 {
    font-size:45px;
}
.h-100{
    height: 100%;
}
.m-0{
    margin:0;
}
.p-0{
    padding:0;
}
.pl-0 {
    padding-left:0 !important;
}
.pr-0 {
    padding-right:0 !important;
}
.p-30{
    padding: 30px !important;
}
.pr-60{
    padding-right: 60px !important;
}
.pl-30{
    padding-left: 30px !important;
}
.pt-10{
    padding-top: 10px !important;
}
.pt-20{
    padding-top: 20px !important;
}

.pt-25{
    padding-top: 25px !important;
}
.pt-30{
    padding-top: 30px !important;
}


.pt-35{
    padding-top: 35px !important;
}
.pt-40{
    padding-top: 40px !important;
}
.pt-50{
    padding-top: 50px !important;
}
.pt-60{
    padding-top: 60px !important;
}
.pt-70{
    padding-top: 70px !important;
}
.pt-90{
    padding-top: 90px !important;
}
.pt-120{
    padding-top: 120px !important;
}
.pt-100{
    padding-top: 100px !important;
}




.pb-10{
    padding-bottom: 10px !important;
}
.pb-20{
    padding-bottom: 20px !important;
}
.pb-25{
    padding-bottom: 25px !important;
}
.pb-30{
    padding-bottom: 30px !important;
}
.pb-35{
    padding-bottom: 35px !important;
}
.pb-40{
    padding-bottom: 40px !important;
}
.pb-45{
    padding-bottom: 45px !important;
}
.pb-60{
    padding-bottom: 60px !important;
}
.pb-70{
    padding-bottom: 70px !important;
}
.pb-80{
    padding-bottom: 80px !important;
}
.pb-90 {
    padding-bottom: 90px !important;
}
.pb-120 {
    padding-bottom: 120px !important;
}
.pb-100 {
    padding-bottom: 100px !important;
}

.mb-20{
    margin-bottom: 20px !important;
}

.mt-20{
    margin-top: 20px !important;
}
.mt-30{
    margin-top: 30px !important;
}

.mb-30{
    margin-bottom: 30px !important;
}

.mb-35{
    margin-bottom: 35px !important;
}

.mt-5{
    margin-top: 5px !important;
}
.mt-35{
    margin-top: 35px !important;
}
.mb-40{
    margin-bottom: 40px !important;
}
.mb-35{
    margin-bottom: 35px !important;
}
.mt-40{
    margin-top: 40px !important;
}
.mb-60{
    margin-bottom: 60px !important;
}
.mb-70{
    margin-bottom: 70px !important;
}

.mb-100{
    margin-bottom: 100px !important;
}
.mt-100{
    margin-top: 100px !important;
}
.m-auto{
    margin:0 auto;
}
.mt-60{
    margin-top: 60px !important;
}
.mt-70{
    margin-top: 70px !important;
}
.mb-100{
    margin-bottom: 100px !important;
}
.mb-120{
    margin-bottom: 120px !important;
}
.mt-120{
    margin-top: 120px !important;
}
.ml-15 {
    margin-left:15px;
}
.mr-15 {
    margin-right:15px;
}
img {
    max-width: 100%;
}

/* -------------*/
header p {
    font-size:14px;
    margin-bottom: 0;
}
.logo {
    width:125px;
}
.banner {
    background-image: url("../img/home.png");
    padding: 15% 0;
    background-repeat: no-repeat;
    background-size:cover;
}
.carta {
    background-image: url("../img/homeslide_003@2x.png");
    background-repeat: no-repeat;
    background-size:cover;
    padding-left: 12%;
    padding-right: 12%;
}

.carta h4 {
    font-size:27px;
}
h1 {
    font-size:45px;
}
h2 {
    font-size:20px;
}
h3 {
    font-size:27px;
    color:var(--rosso);
    font-weight: bold;
}
.ombra {
    bottom:0;
    box-shadow: 1px -170px 218px 57px rgba(0,0,0,0.75) inset;
    -webkit-box-shadow: 1px -170px 218px 57px rgba(0,0,0,0.75) inset;
    -moz-box-shadow: 1px -170px 218px 57px rgba(0,0,0,0.75) inset;
}
.numero {
    color: var(--rosso);
    font-weight: bold;
    font-size: 33px;
    border-radius: 50%;
    /*display: inline-block;*/
    background-color: #EBDEDF;
    /*padding: 2px 18px;*/
    margin-right:30px;

    height: 62px;
    width: 62px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 62px;
}
.lettera {
    background-color:rgba(119, 37, 40,0.5);
    font-size:24px;
    font-weight: normal;

}
.tab-container ul{
    border:none;
}
.tab-container li.nav-item a {
    color:#000;
}
.tab-container li.nav-item a:hover {
    border:none;
}
.tab-container li.nav-item a.active {
    color:var(--rosso);
    background-color: transparent;
    border: none;
}
.tab-container li.nav-item a.active:before {
    content: "– ";
    color:var(--rosso);
    background-color: transparent;
    border: none;
}
.img-divs img {
    object-fit: cover;
}
.text-cont {
    padding: 66px 11% 66px;
}
.nav-tabs .nav-link {
    border:none;
}
.slick-dots {
    bottom:-45px;
}
.slick-dots li {
    width:10px;
    height:10px;
}
.slick-dots li button {
    font-size: 0;
}
.slick-dots li button:before {
    border:1px solid var(--rosso);
    background-color:#fff;
    opacity:1;
    font-size: 0;
    border-radius: 50%;
    height:10px;
    width:10px;
}

.slick-dots li.slick-active button:before {
    border:1px solid var(--rosso);
    background-color:var(--rosso);
    opacity:1;
}

.masonry .d-flex div {
    border-radius:0;
    border:1px solid grey;
    margin:15px;
    padding:30px;
    height: min-content;
    width: 30%;
}
form input[type="checkbox"] {
    width:20px;
    height:20px;
}
form input[type="text"],
form input[type="email"]{

    border:1px solid #fff;
    background:transparent;
    margin-bottom:25px;
    border-radius:0;
}
form button {
    border:none;
    width:125px;
}
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #fff;
    opacity: 1; /* Firefox */
}
.form-control {
    color:#fff;
}
.invalid-feedback {
    margin-top:-17px;
    margin-bottom:20px;
}
.checkbox-container .invalid-feedback {
    margin-top: 0;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color:  #fff;
    opacity: 1;
}

::-ms-input-placeholder { /* Microsoft Edge */
    color:  #fff;
    opacity: 1;
}
@media (min-width:577px) and (max-width:999px){

    .numero {
        margin-right: 12px !important;
    }
}
@media (max-width:576px){
    .banner {
        background-position-x: center;
    }
    .panel-heading a[aria-expanded="true"]:after {
        transform: rotate(0deg);
    }
    .panel-heading a:after {
        transition:all 0.3s;
        transform: rotate(180deg);
        content: "";
        width: 16px;
        height: 16px;
        position: absolute;
        display: block;
        background-image: url(../img/arrow.png);
        background-size: cover;
        right: 10px;
        top: 50%;
        margin-top: -8px;
    }
    .panel-group .panel {
        border: 0;
        border-bottom: 2px solid var(--rosso);
    }
    .panel-default > .panel-heading {
        color: inherit;
        border: 0;
        box-shadow: none;
        padding: 0;
        border-bottom: 0;
    }
    .panel-heading a {
        color: var(--rosso);
        font-size: 17px;
        display: block;
        padding: 10px 5px;
        border: 0;
        border-bottom: 0;
        position: relative;
    }

    body {
        font-size: 17px;
    }
    .numero {
        font-size:25px;
    }
    .xs-pt-30 {
        padding-top:30px;
    }
    .xs-pb-30 {
        padding-bottom:30px;
    }
    .recensioni {
        font-size:15px;
    }
    .logo {
        margin-bottom: 25px;
    }

    .pb-100 {
        padding-bottom:40px !important;
    }
    .pb-40 {
        padding-bottom:20px !important;
    }
    .pb-60 {
        padding-bottom:30px !important;
    }
    .pb-80 {
        padding-bottom: 40px !important;
    }
    .pt-40 {
        padding-top:20px !important;
    }
    .pt-100 {
        padding-top:50px !important;
    }
    .pt-60 {
        padding-top:30px !important;
    }
    .pt-120 {
        padding-top: 50px !important;
    }
    .fs-40 {
        font-size:30px;
    }

    .masonry .d-flex div {
        margin:7px 0;
        padding:20px;
    }
    .text-cont {
        padding: 10% 3% 0;
    }
}

footer a {
    text-decoration: underline;
}