@charset "UTF-8";
@font-face {
    font-family: "general";
    src: url("/fonts/general/general.eot?68231988");
    src: url("/fonts/general/general.eot?68231988#iefix")
            format("embedded-opentype"),
        url("/fonts/general/general.woff2?68231988") format("woff2"),
        url("/fonts/general/general.woff?68231988") format("woff"),
        url("/fonts/general/general.ttf?68231988") format("truetype"),
        url("/fonts/general/general.svg?68231988#general") format("svg");
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "social";
    src: url("/fonts/social/social.eot");
    src: url("/fonts/social/social.eot#iefix") format("embedded-opentype"),
        url("/fonts/social/social.woff2") format("woff2"),
        url("/fonts/social/social.woff") format("woff"),
        url("/fonts/social/social.ttf") format("truetype"),
        url("/fonts/social/social.svg#social") format("svg");
    font-weight: normal;
    font-style: normal;
}

/** ICONE GENERALI **/
[class^="general-"]:before,
[class*=" general-"]:before {
    font-family: "general";
    font-style: normal;
    font-weight: normal;
    speak: never;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: 0.2em;
    text-align: center;
    letter-spacing: 2px;
    line-height: 10px;
    /* opacity: .8; */
    /* For safety - reset parent styles, that can break glyph codes*/
    font-variant: normal;
    text-transform: none;
    /* fix buttons height, for twitter bootstrap */
    line-height: 1em;
    /* Animation center compensation - margins should be symmetric */
    /* remove if not needed */
    margin-left: 0.2em;
    /* you can be more comfortable with increased icons size */
    /* font-size: 120%; */
    /* Font smoothing. That was taken from TWBS */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* Uncomment for 3D effect */
    /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.general-ok:before {
    content: "\e800";
}

/* '' */
.general-ok-1:before {
    content: "\e801";
}

/* '' */
.general-location:before {
    content: "\e802";
}

/* '' */
.general-star:before {
    content: "\e803";
}

/* '' */
.general-star-empty:before {
    content: "\e804";
}

/* '' */
.general-star-half:before {
    content: "\e805";
}

/* '' */
.general-star-half-alt:before {
    content: "\e806";
}

/* '' */
.general-down-dir:before {
    content: "\e807";
}

/* '' */
.general-up-dir:before {
    content: "\e808";
}

/* '' */
.general-left-dir:before {
    content: "\e809";
}

/* '' */
.general-right-dir:before {
    content: "\e810";
}

/* '' */
.general-angle-left:before {
    content: "\e811";
}

/* '' */
.general-angle-right:before {
    content: "\e812";
}

/* '' */
.general-angle-up:before {
    content: "\e813";
}

/* '' */
.general-angle-down:before {
    content: "\e814";
}

/* '' */
.general-angle-double-left:before {
    content: "\e815";
}

/* '' */
.general-angle-double-right:before {
    content: "\e816";
}

/* '' */
.general-angle-double-up:before {
    content: "\e817";
}

/* '' */
.general-angle-double-down:before {
    content: "\e818";
}

/* '' */
.general-quote-left:before {
    content: "\e819";
}

/* '' */
.general-quote-right:before {
    content: "\e820";
}

/* '' */
.general-cancel:before {
    content: "\e821";
}

/* '' */
.general-menu:before {
    content: "\e822";
}

/* '' */
.general-cancel-1:before {
    content: "\e823";
}

/* '' */
.general-home:before {
    content: "\e824";
}

/* '' */
.general-help:before {
    content: "\e825";
}

/* '' */
.general-user:before {
    content: "\e826";
}

/* '' */
.general-user-circle:before {
    content: "\e827";
}

/* '' */
.general-user-circle-o:before {
    content: "\e828";
}

/* '' */
.general-user-1:before {
    content: "\e829";
}

/* '' */
.general-users:before {
    content: "\e830";
}

/* '' */
.general-user-o:before {
    content: "\e831";
}

/* '' */
.general-user-2:before {
    content: "\e832";
}

/* '' */
.general-users-1:before {
    content: "\e833";
}

/* '' */
.general-user-plus:before {
    content: "\e834";
}

/* '' */
.general-user-times:before {
    content: "\e835";
}

/* '' */
.general-share:before {
    content: "\e836";
}

/* '' */
.general-share-1:before {
    content: "\e837";
}

/* '' */
.general-info:before {
    content: "\e838";
}

/* '' */
.general-info-1:before {
    content: "\e839";
}

/* '' */
.general-download:before {
    content: "\e840";
}

/* '' */
.general-file-pdf:before {
    content: "\e841";
}

/* '' */
.general-help-circled:before {
    content: "\e842";
}

/* '' */
.general-spinner:before {
    content: "\e843";
}

/* '' */
.general-spin6:before {
    content: "\e844";
}

/* '' */
.general-spin3:before {
    content: "\e845";
}

/* '' */
.general-spin1:before {
    content: "\e846";
}

/* '' */
.general-spin4:before {
    content: "\e847";
}

/* '' */
.general-link-ext:before {
    content: "\e848";
}

/* '' */
.animate-spin {
    -webkit-animation: spin 2s infinite linear;
    animation: spin 2s infinite linear;
    display: inline-block;
}
@-webkit-keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(359deg);
    }
}
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(359deg);
    }
}
/** ICONE SOCIAL **/
[class^="social-"]:before,
[class*=" social-"]:before {
    font-family: "social";
    font-style: normal;
    font-weight: normal;
    speak: never;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: 0.2em;
    text-align: center;
    /* opacity: .8; */
    /* For safety - reset parent styles, that can break glyph codes*/
    font-variant: normal;
    text-transform: none;
    /* fix buttons height, for twitter bootstrap */
    line-height: 1em;
    /* Animation center compensation - margins should be symmetric */
    /* remove if not needed */
    margin-left: 0.2em;
    /* you can be more comfortable with increased icons size */
    /* font-size: 120%; */
    /* Font smoothing. That was taken from TWBS */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* Uncomment for 3D effect */
    /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.social-whatsapp:before {
    content: "\f001";
}

/* '' */
.social-facebook:before {
    content: "\f002";
}

/* '' */
.social-facebook-squared:before {
    content: "\f003";
}

/* '' */
.social-facebook-official:before {
    content: "\f004";
}

/* '' */
.social-mail:before {
    content: "\f005";
}

/* '' */
.social-mail-alt:before {
    content: "\f006";
}

/* '' */
.social-linkedin-squared:before {
    content: "\f007";
}

/* '' */
.social-linkedin:before {
    content: "\f008";
}

/* '' */
.social-instagram:before {
    content: "\f009";
}

/* '' */
.social-twitter-squared:before {
    content: "\f010";
}

/* '' */
.social-twitter:before {
    content: "\f011";
}

/* '' */
.social-twitter-1:before {
    content: "\f012";
}

/* '' */
.social-youtube-play:before {
    content: "\f013";
}

/* '' */
.social-youtube:before {
    content: "\f014";
}

/* '' */
.social-tripadvisor:before {
    content: "\f015";
}

/* '' */
.social-phone:before {
    content: "\f016";
}

/* '' */
@font-face {
    font-family: "general";
    src: url("/fonts/general/general.eot?68231988");
    src: url("/fonts/general/general.eot?68231988#iefix")
            format("embedded-opentype"),
        url("/fonts/general/general.woff2?68231988") format("woff2"),
        url("/fonts/general/general.woff?68231988") format("woff"),
        url("/fonts/general/general.ttf?68231988") format("truetype"),
        url("/fonts/general/general.svg?68231988#general") format("svg");
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "social";
    src: url("/fonts/social/social.eot");
    src: url("/fonts/social/social.eot#iefix") format("embedded-opentype"),
        url("/fonts/social/social.woff2") format("woff2"),
        url("/fonts/social/social.woff") format("woff"),
        url("/fonts/social/social.ttf") format("truetype"),
        url("/fonts/social/social.svg#social") format("svg");
    font-weight: normal;
    font-style: normal;
}

/** ICONE GENERALI **/
[class^="general-"]:before,
[class*=" general-"]:before {
    font-family: "general";
    font-style: normal;
    font-weight: normal;
    speak: never;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: 0.2em;
    text-align: center;
    /* opacity: .8; */
    /* For safety - reset parent styles, that can break glyph codes*/
    font-variant: normal;
    text-transform: none;
    /* fix buttons height, for twitter bootstrap */
    line-height: 1em;
    /* Animation center compensation - margins should be symmetric */
    /* remove if not needed */
    margin-left: 0.2em;
    /* you can be more comfortable with increased icons size */
    /* font-size: 120%; */
    /* Font smoothing. That was taken from TWBS */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* Uncomment for 3D effect */
    /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.general-ok:before {
    content: "\e800";
}

/* '' */
.general-ok-1:before {
    content: "\e801";
}

/* '' */
.general-location:before {
    content: "\e802";
}

/* '' */
.general-star:before {
    content: "\e803";
}

/* '' */
.general-star-empty:before {
    content: "\e804";
}

/* '' */
.general-star-half:before {
    content: "\e805";
}

/* '' */
.general-star-half-alt:before {
    content: "\e806";
}

/* '' */
.general-down-dir:before {
    content: "\e807";
}

/* '' */
.general-up-dir:before {
    content: "\e808";
}

/* '' */
.general-left-dir:before {
    content: "\e809";
}

/* '' */
.general-right-dir:before {
    content: "\e810";
}

/* '' */
.general-angle-left:before {
    content: "\e811";
}

/* '' */
.general-angle-right:before {
    content: "\e812";
}

/* '' */
.general-angle-up:before {
    content: "\e813";
}

/* '' */
.general-angle-down:before {
    content: "\e814";
}

/* '' */
.general-angle-double-left:before {
    content: "\e815";
}

/* '' */
.general-angle-double-right:before {
    content: "\e816";
}

/* '' */
.general-angle-double-up:before {
    content: "\e817";
}

/* '' */
.general-angle-double-down:before {
    content: "\e818";
}

/* '' */
.general-quote-left:before {
    content: "\e819";
}

/* '' */
.general-quote-right:before {
    content: "\e820";
}

/* '' */
.general-cancel:before {
    content: "\e821";
}

/* '' */
.general-menu:before {
    content: "\e822";
}

/* '' */
.general-cancel-1:before {
    content: "\e823";
}

/* '' */
.general-home:before {
    content: "\e824";
}

/* '' */
.general-help:before {
    content: "\e825";
}

/* '' */
.general-user:before {
    content: "\e826";
}

/* '' */
.general-user-circle:before {
    content: "\e827";
}

/* '' */
.general-user-circle-o:before {
    content: "\e828";
}

/* '' */
.general-user-1:before {
    content: "\e829";
}

/* '' */
.general-users:before {
    content: "\e830";
}

/* '' */
.general-user-o:before {
    content: "\e831";
}

/* '' */
.general-user-2:before {
    content: "\e832";
}

/* '' */
.general-users-1:before {
    content: "\e833";
}

/* '' */
.general-user-plus:before {
    content: "\e834";
}

/* '' */
.general-user-times:before {
    content: "\e835";
}

/* '' */
.general-share:before {
    content: "\e836";
}

/* '' */
.general-share-1:before {
    content: "\e837";
}

/* '' */
.general-info:before {
    content: "\e838";
}

/* '' */
.general-info-1:before {
    content: "\e839";
}

/* '' */
.general-download:before {
    content: "\e840";
}

/* '' */
.general-file-pdf:before {
    content: "\e841";
}

/* '' */
.general-help-circled:before {
    content: "\e842";
}

/* '' */
.general-spinner:before {
    content: "\e843";
}

/* '' */
.general-spin6:before {
    content: "\e844";
}

/* '' */
.general-spin3:before {
    content: "\e845";
}

/* '' */
.general-spin1:before {
    content: "\e846";
}

/* '' */
.general-spin4:before {
    content: "\e847";
}

/* '' */
.general-link-ext:before {
    content: "\e848";
}

/* '' */
.animate-spin {
    -webkit-animation: spin 2s infinite linear;
    animation: spin 2s infinite linear;
    display: inline-block;
}
@-webkit-keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(359deg);
    }
}
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(359deg);
    }
}
/** ICONE SOCIAL **/
[class^="social-"]:before,
[class*=" social-"]:before {
    font-family: "social";
    font-style: normal;
    font-weight: normal;
    speak: never;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: 0.2em;
    text-align: center;
    /* opacity: .8; */
    /* For safety - reset parent styles, that can break glyph codes*/
    font-variant: normal;
    text-transform: none;
    /* fix buttons height, for twitter bootstrap */
    line-height: 1em;
    /* Animation center compensation - margins should be symmetric */
    /* remove if not needed */
    margin-left: 0.2em;
    /* you can be more comfortable with increased icons size */
    /* font-size: 120%; */
    /* Font smoothing. That was taken from TWBS */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* Uncomment for 3D effect */
    /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.social-whatsapp:before {
    content: "\f001";
}

/* '' */
.social-facebook:before {
    content: "\f002";
}

/* '' */
.social-facebook-squared:before {
    content: "\f003";
}

/* '' */
.social-facebook-official:before {
    content: "\f004";
}

/* '' */
.social-mail:before {
    content: "\f005";
}

/* '' */
.social-mail-alt:before {
    content: "\f006";
}

/* '' */
.social-linkedin-squared:before {
    content: "\f007";
}

/* '' */
.social-linkedin:before {
    content: "\f008";
}

/* '' */
.social-instagram:before {
    content: "\f009";
}

/* '' */
.social-twitter-squared:before {
    content: "\f010";
}

/* '' */
.social-twitter:before {
    content: "\f011";
}

/* '' */
.social-twitter-1:before {
    content: "\f012";
}

/* '' */
.social-youtube-play:before {
    content: "\f013";
}

/* '' */
.social-youtube:before {
    content: "\f014";
}

/* '' */
.social-tripadvisor:before {
    content: "\f015";
}

/* '' */
.social-phone:before {
    content: "\f016";
}

/* '' */
/****** Generali ******/
body {
    font-family: "Nunito Sans", sans-serif;
    color: #000000;
    line-height: 1.5;
    font-size: clamp(1rem, 1vw, 1.25rem);
}

h1 {
    font-size: clamp(3rem, 5vw, 6rem);
}

h2 {
    font-size: clamp(2rem, 3vw, 4.5rem);
}

h3 {
    font-size: clamp(1.5rem, 3vw, 2rem);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 900;
}

.margin-top-15 {
    margin-top: 15px !important;
}

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

.margin-top-50 {
    margin-top: 50px !important;
}

.margin-bottom-15 {
    margin-bottom: 15px !important;
}

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

.margin-bottom-50 {
    margin-bottom: 50px !important;
}

.padding-top-30 {
    padding-top: 30px;
}

.padding-bottom-30 {
    padding-bottom: 30px;
}

.padding-top-50 {
    padding-top: 50px;
}

.padding-bottom-50 {
    padding-bottom: 50px;
}

.padding-top-90 {
    padding-top: 90px;
}

a {
    color: #000000;
    text-decoration: none;
}

a:hover,
a:focus,
a:active {
    color: #000000;
    text-decoration: underline;
}

a.stretched-link {
    color: #000000;
}

abbr[title] {
    text-decoration: none;
}

.text-primary {
    color: #000000 !important;
    letter-spacing: 2px;
    line-height: 25px;
}

.bg-dark {
    background-color: #000000 !important;
}

.bg-cover {
    background-size: cover;
}

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

section {
    margin-top: clamp(20px, 10vw, 100px);
    margin-bottom: clamp(20px, 10vw, 200px);
}

/****** Breadcrumbs ******/
.breadcrumb {
    background-color: transparent;
    padding-left: 0;
    font-size: 14px;
    margin-top: 20px;
}
.breadcrumb .breadcrumb-item.active {
    color: #999999;
}

cite {
    display: block;
    text-align: right;
    font-size: 60%;
}

.carousel-control-next,
.carousel-control-prev {
    z-index: 2;
}

/****** Fieldset ******/
fieldset {
    padding: 15px;
    border: 2px threedface groove;
}

legend {
    width: auto;
    padding: 0 10px;
}

/****** Social share ******/
.social-share {
    font-size: 0.8rem;
    padding-bottom: 10px;
}
.social-share .facebook,
.social-share .twitter,
.social-share .linkedin,
.social-share .whatsapp,
.social-share .email {
    font-size: 1.5rem;
    display: inline-block;
    margin: 0 10px;
}
.social-share .facebook > a,
.social-share .twitter > a,
.social-share .linkedin > a,
.social-share .whatsapp > a,
.social-share .email > a {
    color: #585857;
    text-decoration: none;
}
.social-share .facebook > a:hover {
    color: #3b5998;
}
.social-share .twitter > a:hover {
    color: #00acee;
}
.social-share .linkedin > a:hover {
    color: #0e76a8;
}
.social-share .email > a:hover {
    color: #000000;
}
.social-share .whatsapp > a:hover {
    color: #25d366;
}

/****** Spinner ******/
#spinner {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    background-color: rgba(0, 0, 0, 0.5);
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
    z-index: 10000;
}
#spinner .spinner-grow {
    color: #585857;
    width: 5rem;
    height: 5rem;
}

/****** GoToTop ******/
#goToTop {
    display: none;
    background-color: #ffffff;
    color: #000000;
    cursor: pointer;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10;
    font-size: 1.8rem;
    border: 1px solid #000000;
}

/****** ReCaptcha ******/
#rc-imageselect,
.g-recaptcha {
    transform: scale(0.8);
    -webkit-transform: scale(0.8);
    transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
}

/* MENU */
/*
.img-fluid {
  max-width: 170px;
  padding-left: 30px;
  padding-bottom: 40px;
  padding-top: 20px;
}*/

/*
#primary-menu {
  width: 250px;
  border-right: 1px #000000 solid;
  padding: 10px;
  position: fixed;
  height: 100%;
  text-transform: uppercase;
  letter-spacing: 2px;
}
*/

.navbar-brand {
    margin: 0;
}

/* 

.btn-link {
  color: #000000;
}
.btn-link:hover, .btn-link:focus, .btn-link:active {
  color: #000000;
}
 */

.dropdown-toggle:after {
    display: none;
    border: none;
}

.dropdown-menu {
    left: auto;
    right: 0;
}
.dropdown-menu .dropdown-menu {
    width: 100%;
}

.dropdown-item.active,
.dropdown-item:active,
.dropdown-item:focus,
.dropdown-item:hover {
    background-color: #000000;
    color: #000000;
}

.dropdown-icon {
    vertical-align: text-top;
    margin-left: 2px;
}

/****** Navbar ******/

/*
.navbar-light .navbar-nav {
    flex-direction: column;
} */

.navbar {
    border-bottom: 1px solid #000000;
}

.navbar-light .navbar-nav .nav-link {
    color: #000000;
    text-decoration: none;
    padding: 0 0.5rem;
}

.navbar-light .navbar-nav > .nav-item > .nav-link.active,
.navbar-light .navbar-nav > .nav-item > .nav-link:hover,
.navbar-light .navbar-nav > .nav-item > .nav-link:focus {
    color: #000000;
}

.nav-item.dropdown.active > .nav-link::after {
    margin: 0 auto;
    width: 50%;
    border-bottom-color: #585857;
}

.navbar-light .navbar-nav .dropdown-menu .nav-link.active,
.navbar-light .navbar-nav .dropdown-menu .nav-link:hover,
.navbar-light .navbar-nav .dropdown-menu .nav-link:focus {
    background-color: #585857;
}
.navbar-light .navbar-nav .dropdown-menu .nav-link.active > span,
.navbar-light .navbar-nav .dropdown-menu .nav-link:hover > span,
.navbar-light .navbar-nav .dropdown-menu .nav-link:focus > span {
    color: #ffffff;
}

/*
.navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0;
}*/

.navbar-light .navbar-toggler {
    color: #000000;
    border-color: transparent;
    font-size: 2rem;
}

.navbar-light .navbar-toggler:focus {
    box-shadow: 0 0 0 0.1rem;
}

.navbar-light .navbar-toggler.collapsed > .my-navbar-toggler-icon:before {
    font-family: "general";
    content: "\e822";
}
.navbar-light .navbar-toggler > .my-navbar-toggler-icon:before {
    font-family: "general";
    content: "\e823";
}

.nav-link {
    position: relative;
    display: inline-block;
}

.nav-link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #000000;
    opacity: 0;
    transition: opacity 300ms, transform 300ms;
}

.nav-link:hover::after,
.nav-link:focus::after {
    opacity: 1;
    transform: translate3d(0, 0.2em, 0);
}

/*
Sottolineatura link 

.nav-link:after {
  position: absolute;
  content: "";
  top: 85%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  transform: ScaleX(0);
  transform-origin: right;
  transition: transform 0.5s;
  padding-right: 0 !important;
  padding-left: 0 !important;
  margin-top: -3px;
}


.nav-link:hover:after {
  transform: ScaleX(1);
  transform-origin: left;
}
*/

.btn .btn-primary .social {
    display: inline-flex;
    justify-content: center;
    background-color: #ffffff;
    border: 1px solid #000;
    border-radius: 100%;
}

.btn .btn-primary:hover .social:hover {
    background-color: #ffffff;
    border: 1px solid #2f5ec5;
    color: #2f5ec5;
}

@media screen and (max-width: 767px) {
    #primary-menu {
        background-color: #ffffff;
        width: 100%;
        height: auto;
        border-right: 0;
        z-index: 100;
        box-shadow: 0 0 7px #585857;
    }

    /****** Navbar ******/
    .navbar-light .navbar-nav > .nav-item > .nav-link.active,
    .navbar-light .navbar-nav > .nav-item > .nav-link:hover,
    .navbar-light .navbar-nav > .nav-item > .nav-link:focus {
        font-weight: bold;
        padding-right: 0.1rem;
    }

    .navbar-light .navbar-nav > .nav-item > .nav-link.active:after,
    .navbar-light .navbar-nav > .nav-item > .nav-link:hover:after,
    .navbar-light .navbar-nav > .nav-item > .nav-link:focus:after {
        border-bottom-color: transparent;
    }

    .nav-item.dropdown.active > .nav-link::after {
        border-bottom-color: transparent;
    }

    /*
    .navbar-brand img {
        max-width: 50px;
    }*/

    .navbar-toggler {
        width: auto;
    }
}
/* hover dropdown menus */
@media only screen and (max-width: 991px) {
    .navbar-hover .show > .dropdown-toggle::after {
        transform: rotate(-90deg);
    }
}
@media only screen and (min-width: 992px) {
    .navbar-hover .collapse ul li {
        position: relative;
    }
    .navbar-hover .collapse ul li:hover > ul {
        display: inline-table;
    }
    .navbar-hover .collapse ul ul {
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 250px;
        display: none;
    }
    .navbar-hover .collapse ul ul ul {
        position: absolute;
        top: 0;
        left: 100%;
        min-width: 250px;
        display: none;
    }
}

/*** Search bar ***/

/*
#cerca {
  align-content: left;
  width: 100%;
  border-top: -10px;
}*/

#filtri {
    gap: 1rem;
}

#filtri input[type="submit"] {
    width: 50px;
    height: 40px;
    background: white;
    border: 1px solid #000000;
    border-radius: 5px;
}

#filtri input[name="search"] {
    width: 250px;
}

.navbar-light .navbar-brand:focus,
.navbar-light .navbar-brand:hover {
    color: transparent;
}

.form-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.form-control {
    width: fit-content;
    border: 1px solid #000000;
    border-radius: 5px;
}

.form-control:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
    border-color: #000000;
}

.form-control .mr-sm-2 {
    display: inline-flex;
}

.form-inline {
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-align: center;
    align-items: center;
}

#cerca .btn {
    padding: 15px;
    border-radius: 5px;
    margin-left: 10px !important;
    color: #000;
    border-color: #000;
}

#cerca .btn:hover {
    background-color: #ffffff;
}

#cerca .fa .fa-search {
    color: #000;
    background-color: #000000;
}

/*** slider ***/

#slider img {
    width: 100vw;
    height: calc(100vh - 100px);
    object-fit: cover;
}

.slider {
    /* height: 450px; */
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.slider.homepage {
    height: 650px;
}

.slider .carousel-box {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
}
.slider .title-box {
    z-index: 1;
    text-align: center;
}
.slider .title-box h1 {
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 3px;
    color: white;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    color: rgba(255, 253, 253, 0.732);
    border: 3px solid rgba(255, 253, 253, 0.732);
    border-radius: 100%;
    background-size: 60%;
    width: 60px;
    height: 60px;
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -ms-transition: -ms-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
}

.carousel-control-prev-icon:hover,
.carousel-control-next-icon:hover {
    border: 3px solid white;
    border-radius: 100%;
    color: white;
    transform: rotateY(360deg);
    -ms-transform: rotateY(360deg);
    -webkit-transform: rotateY(360deg);
}

@media screen and (max-width: 500px) {
    #slider .title-box h1 {
        font-size: 1.7rem;
    }
}
@media screen and (max-width: 767px) {
    #slider.homepage {
        height: 100vh !important;
    }
    #slider .title-box h1 {
        font-size: 2.6rem;
    }
}
::-webkit-calendar-picker-indicator {
    filter: invert(1);
}
/*
.form-control,
.form-select {
    border-radius: 0;
    border: 0;
    border-bottom: 1px #585857 solid;
    background-color: #ffffff;
    color: #585857;
    font-size: 0.9rem;
}
.form-control:focus,
.form-select:focus {
    color: #585857;
    background-color: #ffffff;
    border-color: #585857;
    box-shadow: 0 0 3px 1px #585857;
}

textarea.form-control {
    border: 1px #585857 solid;
}
.form-select {
    background-image: linear-gradient(45deg, transparent 50%, #585857 50%),
        linear-gradient(135deg, #585857 50%, transparent 50%),
        linear-gradient(to right, #585857, #585857);
    background-position: calc(100% - 20px) calc(1em + 2px),
        calc(100% - 15px) calc(1em + 2px), calc(100% - 2.5em) 0.5em;
    background-size: 5px 5px, 5px 5px, 1px 1.5em;
    background-repeat: no-repeat;
}

.form-control[readonly] {
    background-color: transparent;
}

.form-check-input[type="checkbox"] {
    border-radius: 0;
    border: 1px #585857 solid;
    background-color: #ffffff;
    color: #585857;
    height: 20px;
    width: 20px;
    min-width: 20px;
    margin-right: 10px;
}
.form-check-input[type="checkbox"]:checked {
    background-color: #585857;
}

.form-check-input:focus {
    box-shadow: 0 0 3px 1px #585857;
}

.input-group-prepend {
    margin: 0;
    border: 0;
}
.input-group-prepend .input-group-text {
    width: 80px;
    background-color: #555555;
    border: 0;
}
.input-group-prepend .input-group-text .fa {
    color: #ffffff;
    margin: 0 auto;
    font-size: 22px;
}


.btn {
    border-radius: 100;
}
*/
/*  
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: #3e3e3e !important;
  border-color: #3e3e3e !important;
}
.btn-primary:focus {
  box-shadow: 0 0 10px 0 #585857 !important;
  color: #FFFFFF;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  font-size: 0.8rem;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  font-size: 0.8rem;
}

input::placeholder,
textarea::placeholder {
  font-size: 0.8rem;
}

*/

/* Menu principale */

#primary-menu .container {
    display: flex;
    flex-grow: 1;
    justify-content: space-between;
    align-items: center;
}

/*
@media (min-width: 768px) {
    #primary-menu .container-fluid {
        flex-direction: column;
    }
    #cerca {
        order: 3;
    }
}*/

/* Slider */

.swiper {
    padding-bottom: 50px;
}

.swiper-slide {
    height: auto;
}

.swiper-pagination-bullets > .swiper-pagination-bullet-active {
    background: #000000;
}

.swiper-pagination > .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
}

/* Pagination */

.pagination > .page-item.active > .page-link {
    background-color: #000000;
    color: #ffffff;
    border-color: #000000;
}

.pagination .page-link,
.page-item.disabled .page-link {
    border-color: #000000;
}

.pagination .page-link:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
    border-color: #000000;
}

.pagination > .page-item > .page-link {
    color: #000000;
}

/* text area */

#text h2 {
    text-align: center;
    font-size: 4vmin;
    line-height: 1.8;
    margin: 3em;
    font-weight: 300;
}

hr {
    color: #000000;
}

/****** Card ******/

.row {
    max-height: auto;
    flex-wrap: wrap;
    display: flex;
    background-color: transparent;
}

.card {
    border-radius: 15px;
    background-color: transparent;
    color: #ffffff;
    border: 1px solid #000000;
    background-position: center !important;
    background-repeat: no-repeat;
    background: #ffffff;
    position: relative;
    display: flex;
}

.card a {
    text-decoration: none;
    margin-bottom: 0;
}
.card .card-header {
    background-color: transparent(255, 255, 255);
    background-position: center;
    background-size: contain;
    color: #ffffff;
    padding: 0;
    max-height: 225px;
    border-bottom: 0;
    display: flex;
    position: relative;
    object-fit: contain;
}

.card .card-img {
    align-items: center;
    background: transparent;
    vertical-align: middle;
    justify-content: center;
    position: absolute;
    width: auto;
    flex-wrap: wrap;
}

.card-img,
.card-img-top {
    width: 100%;
    height: 20vw;
    min-height: 20rem;
    object-fit: cover;
    border: 0;
    border-radius: 15px 15px 0 0;
}

.card .card-img-top:hover {
    transform: scale(1.1);
    transition: transform 0.5s ease;
    display: flex;
    border-radius: 3px;
    height: 100%;
}

.card .card-body {
    display: block;
    flex-direction: column;
    color: #000000;
    margin-top: 5px;
    font-size: 1rem;
    padding: 0;
}

.card .card-body .card-title {
    /*font-size: 1.125rem;*/
    margin-bottom: 0;
}

.card .card-text {
    text-transform: none;
    font-weight: lighter;
    margin: 0;
}

.card .link::after {
    display: inline;
    content: "";
    border-bottom: 5px #000000 double;
}

.card:hover .card-body .card-img-top {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    color: #000000;
    transition: -webkit-backdrop-filter 0.5s;
    transition: backdrop-filter 0.5s;
    transition: backdrop-filter 0.5s, -webkit-backdrop-filter 0.5s;
}

.card-title {
    color: #000000;
    /*font-size: 16px;*/
    text-justify: auto;
    height: auto;
}

.card a:hover,
.card a:focus {
    text-decoration: underline;
}

/****** Animazioni ******/
@-webkit-keyframes animationMainPage {
    0% {
        opacity: 0;
        transform: translateX(50px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes animationMainPage {
    0% {
        opacity: 0;
        transform: translateX(50px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.main {
    -webkit-animation: animationMainPage ease 1s;
    animation: animationMainPage ease 1s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

/****** Tabelle ******/
.table td,
.table th {
    vertical-align: middle;
    width: auto !important;
}

/****** Tabs ******/
.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    background-color: #585857;
    color: #ffffff;
}

.background-semi-transparent {
    background-color: rgba(0, 0, 0, 0.4);
}

.card-shadow {
    box-shadow: 5px 5px 10px 1px #cccccc;
}

/****** Modal ******/
.modal-content {
    background-color: #ffffff;
}

.modal-header {
    background-color: #ffffff;
    padding: 0.6rem 0.6rem;
}
.modal-header .modal-title {
    color: #585857;
    text-transform: uppercase;
    font-weight: lighter;
}

.modal-footer {
    border-top-color: transparent;
}

.nav.nav-pills {
    background-color: rgba(0, 0, 0, 0.03);
    border: 1px solid rgba(0, 0, 0, 0.125);
}
.nav.nav-pills .nav-link {
    border-radius: 0;
}
.nav.nav-pills .nav-link.active {
    background-color: #585857;
}

/****** Accordion ******/
.accordion-item:not(:first-of-type) {
    border-top: 1px solid rgba(0, 0, 0, 0.125);
}

.accordion-button:not(.collapsed) {
    color: #585857;
    background-color: #eeeeee;
}
.accordion-button:focus {
    border-color: #585857;
    box-shadow: none;
}

/****** Contattaci ******/
/*
.contattaci .title {
    font-size: 32px;
    font-weight: lighter;
    padding-top: 70px;
}
.contattaci .form {
    background-color: #ffffff;
    padding: 30px;
}
.contattaci .form .form-row .col-md-6:first-child {
    padding-left: 0;
}
.contattaci .form .form-row .col-md-6:last-child {
    padding-right: 0;
}
.contattaci .form label {
    font-size: 24px;
    font-weight: lighter;
}
.contattaci .form .btn-default {
    width: 100%;
}

.policy label {
    font-size: 0.9rem !important;
}
*/

/**** Footer ****/
#footer {
    background-color: #000000;
    color: #ffffff;
}

#footer li {
    margin: 7px 0;
}
/*
#footer .social:first-child {
    margin-right: 15px;
}*/
#footer .indirizzo {
    border-top: 1px #ffffff solid;
    border-bottom: 1px #ffffff solid;
}
#footer a {
    color: inherit;
}

/*
#footer .social {
    text-decoration: none;
}

#footer .social::after {
    display: block;
    content: "";
    border-bottom: 5px #585857 double;
}*/

#footer-copyright {
    border-top: 1px solid #ffffff;
}
#footer-copyright p {
    margin-top: 1rem;
}

@media screen and (max-width: 767px) {
    h1.title-secondary {
        font-size: 1.8rem;
    }

    h2.title-secondary {
        font-size: 1.2rem;
    }

    h2.title-secondary > span {
        top: -10px;
    }

    h1.title-secondary > span {
        top: -18px;
    }

    .order-1.alternato {
        order: 0 !important;
    }

    .main,
    #footer,
    #footer-copyright {
        width: auto;
        margin-left: 0;
    }

    #footer-copyright p {
        text-align: left;
    }
}
@media screen and (min-width: 768px) {
    .col-md-9 .cardCarousel .carousel-control-prev {
        left: -12px;
    }

    .col-md-9 .cardCarousel .carousel-control-next {
        right: -12px;
    }

    /* Menu ristorante */
    #menu {
        -moz-column-count: 2;
        column-count: 2;
        -moz-column-gap: 50px;
        column-gap: 50px;
    }
}

.pagination {
    flex-wrap: wrap;
}

#contenutoArticolo > * {
    text-align: justify;
}

.box-title {
    position: absolute;
    z-index: 100;
}

.box-title h1 {
    color: #ffffff;
    text-shadow: #000 1px 0 40px;
}
