/* Overlay style */
.menu-overlay { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: rgba(59,85,164,.97); color: rgba(255,255,255,1); overflow-y: auto; z-index: 3; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
/* APERTURA*/
.menu-overlay-btn-open { position: relative; margin: 5px 15px 10px; border-color: transparent; border-bottom: 2px solid #fff; cursor: pointer; background-color: transparent; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.menu-overlay-btn-open span.text { font-size: 18px; color: rgba(255,255,255,1); }
.menu-overlay-btn-open a { display: none !important; }
.menu-overlay-btn-open:hover > a span, .menu-overlay-btn-open:hover > a span:before, .menu-overlay-btn-open:hover > a span:after { background: #464A4C !important; }
.menu-overlay-btn-open:hover > a span:before { transform: translateY(0.15em) translateX(0.4em) rotate(45deg) scaleX(0.6); -webkit-transform: translateY(0.15em) translateX(0.4em) rotate(45deg) scaleX(0.6); }
.menu-overlay-btn-open:hover > a span:after { transform: translateY(-0.15em) translateX(0.4em) rotate(-45deg) scaleX(0.6); -webkit-transform: translateY(-0.15em) translateX(0.4em) rotate(-45deg) scaleX(0.6); }
.menu-overlay-btn-open.active > a span { background-color: transparent; }
.menu-overlay-btn-open.active > a span:before, .menu-overlay-btn-open.active > a span:after { top: 0; }
.menu-overlay-btn-open.active > a span:before { transform: rotate(45deg); }
.menu-overlay-btn-open.active > a span:after { transform: rotate(-45deg); }
.menu-overlay-btn-open:focus { outline: none; }
.menu-overlay-btn-open > a span, .menu-overlay-btn-open > a span:before, .menu-overlay-btn-open > a span:after { position: absolute; left: 0; cursor: pointer; /*border-radius: 0px;*/ height: 1px; width: 25px; background: #464A4C; display: block; content: ''; transition: all 500ms ease-in-out; }
.menu-overlay-btn-open > a span:before { top: -8px; }
.menu-overlay-btn-open > a span:after { bottom: -8px; }
/* CHIUSURA */
.menu-overlay-btn-close { position: absolute; z-index: 4; right: 20px; top: 20px; width: 30px; height: 30px; cursor: pointer; border-color: transparent; background-color: transparent; transform: rotate(180deg); -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.menu-overlay-btn-close:focus { outline: none; }
.menu-overlay-btn-close:hover { }
.menu-overlay-btn-close:hover > a span, .menu-overlay-btn-close:hover > a span:before, .menu-overlay-btn-close:hover > a span:after { background: #fff !important; }
.menu-overlay-btn-close:hover span:after { -webkit-transform: translateY(-0.36em) translateX(0.65em) rotate(45deg) scaleX(0.6); transform: translateY(-0.82em) translateX(0.58em) rotate(45deg) scaleX(0.6); }
.menu-overlay-btn-close:hover span:before { -webkit-transform: translateY(0.36em) translateX(0.65em) rotate(-45deg) scaleX(0.6); transform: translateY(0.82em) translateX(0.58em) rotate(-45deg) scaleX(0.6); }
.menu-overlay-btn-close span, .menu-overlay-btn-close span:before, .menu-overlay-btn-close span:after { position: absolute; left: 0; cursor: pointer; /*border-radius: 0px;*/ height: 1px; width: 25px; background: none; display: block; content: ''; transition: all 500ms ease-in-out; }
.menu-overlay-btn-close span:before, .menu-overlay-btn-close span:after { background: #fff; }
.menu-overlay-btn-close span:before { top: -8px; left: 0px; transform: translateY(0.5em) translateX(-0) rotate(45deg) scaleX(1); }
.menu-overlay-btn-close span:after { bottom: -8px; transform: translateY(-0.5em) translateX(0) rotate(-45deg) scaleX(1) }
/* Effectti */
/*scale*/
.overlay-scale { visibility: hidden; opacity: 0; -webkit-transform: scale(1); transform: scale(1); -webkit-transition: -webkit-transform 0.2s, opacity 0.2s, visibility 0s 0.2s; transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s; }
.overlay-scale.open { visibility: visible; opacity: 1; -webkit-transform: scale(1); transform: scale(1); -webkit-transition: -webkit-transform 0.4s, opacity 0.4s; transition: transform 0.4s, opacity 0.4s; }
/*contentpush*/
.overlay-slidelateral { visibility: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform: translateX(-100%); transform: translateX(-100%); -webkit-transition: -webkit-transform 0.5s, visibility 0s 0.5s; transition: transform 0.5s, visibility 0s 0.5s; }
.overlay-slidelateral.open { visibility: visible; -webkit-transform: translateX(0%); transform: translateX(0%); -webkit-transition: -webkit-transform 0.5s; transition: transform 0.5s; }
/*slidedown*/
.overlay-slidedown { visibility: hidden; -webkit-transform: translateY(-100%); transform: translateY(-100%); -webkit-transition: -webkit-transform 0.4s ease-in-out, visibility 0s 0.4s; transition: transform 0.4s ease-in-out, visibility 0s 0.4s; }
.overlay-slidedown.open { visibility: visible; -webkit-transform: translateY(0%); transform: translateY(0%); -webkit-transition: -webkit-transform 0.4s ease-in-out; transition: transform 0.4s ease-in-out; }
/*slideup*/
.overlay-slideup { visibility: hidden; -webkit-transform: translateY(100%); transform: translateY(100%); -webkit-transition: -webkit-transform 0.4s ease-in-out, visibility 0s 0.4s; transition: transform 0.4s ease-in-out, visibility 0s 0.4s; }
.overlay-slideup.open { visibility: visible; -webkit-transform: translateY(0%); transform: translateY(0%); -webkit-transition: -webkit-transform 0.4s ease-in-out; transition: transform 0.4s ease-in-out; }
/*hugeinc*/
.overlay-hugeinc { opacity: 0; visibility: hidden; -webkit-transition: opacity 0.5s, visibility 0s 0.5s; transition: opacity 0.5s, visibility 0s 0.5s; }
.overlay-hugeinc.open { opacity: 1; visibility: visible; -webkit-transition: opacity 0.5s; transition: opacity 0.5s; }
.overlay-hugeinc .mainmenu { -webkit-perspective: 1200px; perspective: 1200px; }
.overlay-hugeinc .mainmenu ul { opacity: 0.4; -webkit-transform: translateY(-25%) rotateX(35deg); transform: translateY(-25%) rotateX(35deg); -webkit-transition: -webkit-transform 0.5s, opacity 0.5s; transition: transform 0.5s, opacity 0.5s; }
.overlay-hugeinc.open .mainmenu ul { opacity: 1; -webkit-transform: rotateX(0deg); transform: rotateX(0deg); }
.overlay-hugeinc.close .mainmenu ul { -webkit-transform: translateY(25%) rotateX(-35deg); transform: translateY(25%) rotateX(-35deg); }
/* MINI Menu */

.mainmenu-bar .menu-mini { opacity: 0; position: absolute; top: 0; right: 0px; text-align:center; margin-right: 40px; display: inline-block; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.mainmenu-bar .menu-mini:hover { background: rgba(59,85,164,.97); color: rgba(255,255,255,1); }
.mainmenu-bar .menu-mini > .logoicona { margin-top: 0; height: 0; transform: scale(0, 0); -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.mainmenu-bar .menu-mini > .logoicona img { width: 100%; height: auto; }
.mainmenu-bar .logo img { opacity: 1; width: 360px; max-width: 100%; height: auto; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.mainmenu-bar.onscroll .menu-mini { background: rgba(59,85,164,.97); color: rgba(255,255,255,1); }
.mainmenu-bar.onscroll .menu-mini:hover { background: rgba(245,215,54,.97); color: rgba(255,255,255,1); }
.mainmenu-bar.onscroll .menu-mini > .logoicona { height: auto; transform: scale(1, 1); padding: 10px 15px 10px 14px; }
.mainmenu-bar.onscroll .logo img { opacity: 0; width: 160px; max-width: 100%; height: auto; }
.menu-lingua-bandiere-top { padding: 15px 16px; }
.menu-lingua-bandiere-top a { float: left; padding: 5px 5px; font-size: 14px; color: rgba(255,255,255,1); opacity: .7 }
.menu-lingua-bandiere-top a:hover, .menu-lingua-bandiere-top a.active { color: rgba(255,255,255,1); opacity: 1 }

@media screen and (max-width: 736px) {
.mainmenu-bar .menu-mini { opacity: 1; top: -24px; margin-right: 10px; background: rgba(59,85,164,.97); color: rgba(255,255,255,1); }
.mainmenu-bar .logo img { opacity: 1; width: 160px; max-width: 100%; height: auto; }
.mainmenu-bar.onscroll .menu-mini > .logoicona { display: none; }
.menu-lingua-bandiere-top { display: none; }
.menu-overlay-btn-open { padding: 3px 0px; margin-bottom: 13px; }
.menu-overlay-btn-open span.text { font-size: 16px; }
}

@media screen and (max-width: 480px) {
.mainmenu-bar .logo img { margin-right: -70px }
}
/* MAIN MENU*/

.menu-overlay .mainmenu { text-align: center; position: relative; top: 50%; margin: 0 auto; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.menu-overlay .mainmenu .menu-left { text-align: right; border-right: 1px solid rgba(255,255,255,.5); font-size: 14px; padding-right: 60px; padding-top: 40px; padding-bottom: 40px; }
.menu-overlay .mainmenu .menu-left a { color: rgba(255,255,255,1); }
.menu-overlay .mainmenu .menu-left a:hover { color: rgba(255,255,255,.6); }
.menu-overlay .mainmenu .menu-left h2 { font-size: 24px; }
.menu-overlay .mainmenu .menu-right { text-align: left; padding-left: 50px; padding-top: 20px; }
.menu-overlay .mainmenu .logo { display: inline-block; width: 202px; height: 50px; margin-left: 0px; background-position: center left; background-size: contain; background-repeat: no-repeat; cursor: pointer; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.menu-overlay .mainmenu .logo:hover { opacity: 0.65; filter: alpha(opacity=65); }
.menu-overlay .mainmenu .navbar { margin-bottom: 50px !important; padding: 0 }
.menu-overlay .mainmenu .sm-superclean-overlay { box-shadow: none; }
.menu-overlay .mainmenu .sm-superclean-overlay a { color: rgba(255,255,255,1); font-weight: 400; font-size: 21px; }
.menu-overlay .mainmenu .sm-superclean-overlay a > i.fa { display: none !important; }
.menu-overlay .mainmenu .sm-superclean-overlay a.active { color: rgba(255,255,255,.7); }
.menu-overlay .mainmenu .sm-superclean-overlay a:hover { color: rgba(255,255,255,.7); }
.menu-overlay .mainmenu .sm-superclean-overlay > li.menu-transform { opacity: 0; -webkit-transition: all .5s ease; -moz-transition: all .5s ease; -o-transition: all .5s ease; -ms-transition: all .5s ease; transition: all .5s ease; }
.menu-overlay .mainmenu .sm-superclean-overlay > li.menu-transform-active { opacity: 1; border-color: transparent; }
.menu-overlay .mainmenu .sm-superclean-overlay > li > a > i.fa { display: inline-block !important; }
.menu-overlay .mainmenu .sm-superclean-overlay > li > a span.sub-arrow { font-family: 'Source Sans Pro' !important; }
.menu-overlay .mainmenu .sm-superclean-overlay > li > a.highlighted span.sub-arrow:before { margin-top: -3px; font-size: 33px; }
.menu-overlay .main-menu-bottom { margin: 20px 0 }
.menu-overlay .main-menu-bottom li { text-align: right; }
.menu-overlay .main-menu-bottom li a { color: rgba(255,255,255,1); text-align: right; font-size: 14px; padding: 5px 0; }
.menu-overlay .main-menu-bottom li a:hover { color: rgba(255,255,255,.6); }
.menu-lingua-bandiere { display: inline-block; margin-bottom: 40px; position: relative; }
.menu-lingua-bandiere a { float: left; padding: 5px 5px; font-size: 14px; color: rgba(255,255,255,1); opacity: .7 }
.menu-lingua-bandiere a:last-child { padding-right: 0 !important; }
.menu-lingua-bandiere a:hover, .menu-lingua-bandiere a.active { color: rgba(255,255,255,1); opacity: 1 }

@media screen and (max-width: 736px) {
.menu-overlay .mainmenu { top: 0; transform: none; }
.menu-overlay .mainmenu .navbar { margin-bottom: 0 !important; }
.menu-overlay .mainmenu .sm-superclean-overlay > li { text-align: center; }
.menu-overlay .mainmenu .sm-superclean-overlay > li a { padding: 8px 20px !important }
.menu-overlay .mainmenu .menu-left { text-align: center; border-right: none; font-size: 14px; padding-right: 15px; padding-top: 40px; padding-bottom: 40px; }
.menu-overlay .mainmenu .menu-left a { text-align: center }
.menu-overlay .mainmenu .menu-left h2 { font-size: 16px; }
.menu-overlay .mainmenu .menu-right { text-align: center; padding-left: 15px; padding-top: 50px; }
.menu-overlay .mainmenu .btn-prenota-overlay { margin: 0 !important; margin-top: 10px !important; }
}

@media screen and (max-width: 480px) {
.menu-overlay .mainmenu .menu-right { padding-top: 30px; padding-left: 45px; padding-right: 45px; }
.menu-overlay .mainmenu .menu-left { padding-top: 0px; }
.menu-lingua-bandiere { margin-bottom: 20px; }
.menu-overlay .mainmenu .menu-left h2 { font-size: 20px; }
.menu-overlay .mainmenu .btn-prenota-overlay { margin: 0 !important; margin-top: 5px !important; }
}

@media screen and (max-width: 736px) {
.menu-lingua-bandiere { margin-bottom: 10px; }
.menu-lingua-bandiere a { padding: 10px 5px; font-size: 18px; }
}

@media (max-width: 736px) {
.menu-overlay .mainmenu { width: 90%; }
}

@media screen and (max-height: 30.5em) {
.menu-overlay .mainmenu { height: 70%; font-size: 34px; }
.menu-overlay ul li { min-height: 34px; }
}
.menu-overlay.top .mainmenu .logo, .menu-overlay.bottom .mainmenu .logo, .menu-overlay.left .mainmenu .logo, .menu-overlay.right .mainmenu .logo { display: none; }
.menu-overlay a:hover { }
/*posizione top*/
.menu-overlay.top { top: 0 !important; bottom: inherit; height: 300px; }
.menu-overlay.top .mainmenu { top: 30px; width: 80%; transform: none; }
.menu-overlay.top .menu-overlay-btn-close { transform: rotate(-90deg); }
/*posizione bottom*/
.menu-overlay.bottom { top: inherit; bottom: 0 !important; height: 300px; }
.menu-overlay.bottom .mainmenu { top: 30px; width: 80%; transform: none; }
.menu-overlay.bottom .menu-overlay-btn-close { transform: rotate(90deg); }
/*posizione sinistra*/
.menu-overlay.left { width: 300px; }
.menu-overlay.left .mainmenu { top: 50px; width: 80%; transform: none; }
/*posizione destra*/
.menu-overlay.right { width: 300px; left: inherit; right: 0; }
.menu-overlay.right .mainmenu { top: 50px; width: 80%; transform: none; }
.menu-overlay.right.overlay-slidelateral { visibility: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-transition: -webkit-transform 0.5s, visibility 0s 0.5s; transition: transform 0.5s, visibility 0s 0.5s; }
.menu-overlay.right.overlay-slidelateral.open { visibility: visible; -webkit-transform: translateX(0%); transform: translateX(0%); -webkit-transition: -webkit-transform 0.5s; transition: transform 0.5s; }

@media (max-width: 667px) {
.menu-overlay.left { width: 100%; }
.menu-overlay.right { width: 100%; }
}
