/* ******************************************************************* PARTI COMUNI */
::-webkit-scrollbar {width: 6px;background-color: #F2F2F2;-webkit-border-radius: 0;}
::-webkit-scrollbar-thumb:vertical {background: #032e4d;-webkit-border-radius: 0;}
::-webkit-scrollbar-thumb:vertical:active {background: #032e4d;-webkit-border-radius: 0;}
body, html {
    height: 100%;
}
body {
    padding: 0;
    margin: 0;
    font: 16px 'Fira Sans', sans-serif;
    color: #4f4f4f;
    text-align: center;
    background-color: #ffffff;
}
p {
    margin: 0;
}
.box {
    width: 980px;
    padding: 0;
    margin: 0 auto;
    text-align: left;
    position: relative;
}
a:link, a:visited, a:hover, a:active {
    color: #15527d;
    text-decoration: underline;
}
a:hover {
    text-decoration: none;
}
.clear {
    clear: both;
    height: 0;
    visibility: hidden;
}
.scroll-to-top {
    bottom: 8%;
    cursor: pointer;
    display: none;
    width: 32px;
    height: 32px;
    position: fixed;
    right: 15px;
    z-index: 999;
    background-color: #15527d;
    color: #fff;
    line-height: 32px;
}
.view_mobile, .view_ipad {
    display: none !important;
}
img {
    border: 0;
}
#ui-datepicker-div {
    font-size: 13px;
    z-index: 551 !important;
}
/* ******************************************************************* FINE PARTI COMUNI */

/* ******************************************************************* HEADER */
#header {
    position: fixed;
    display: block;
    top: 0;
    left: 5.7%;
    width: 94.3%;
    z-index: 401;
    background-color: #032e4d;
    height: 106px;
    box-shadow: 0 5px 14px 0 rgba(0,0,0,0.35);
}
#header #logo {
    float: left;
}
#header #logo img {
    display: block;
    transition: all 0.2s ease;
    background-color: #fff;
    padding: 9px;
    box-sizing: border-box;
}
#header #header-inner {
    float: left;
    width: calc(100% - 181px - 191px);
    box-sizing: border-box;
    position: relative;
}
#header #header-inner #service {
    font-size: 0;
    text-align: left;
    position: relative;
    padding-left: 6%;
    padding-right: 3%;
}
#header #header-inner #service > * {
    display: inline-block;
    font-size: 14px;
    max-height: 52px;
    vertical-align: top;
}
#header #header-inner #service a, #header #header-inner #service a:hover {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}
#header #header-inner #service a:hover {
    color: #bba45c;
}
#header #service #contact {
    line-height: 22px;
    padding: 15px 0;
}
#header #service #social {
    line-height: 23px;
    padding: 15px 0;
    font-size: 21px;
    margin-left: 3%;
}
#header #service #social a {
    padding: 0 8px;
}
#header #service #language {
    position: absolute;
    top: 0;
    right: 3%;
    font-size: 12px;
    z-index: 201;
}
#header #service #language ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#header #service #language li {
    display: inline-block;
}
#header #service #language li:after {
    content: '|';
    color: #fff;
}
#header #service #language li:last-child:after {
    content: none;
}
#header #service #language a, #header #service #language a:hover {
    color: #fff;
    line-height: 23px;
    padding: 15px 6px;
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.3s ease;
}
#header #service #language a:hover {
    color: #bba45c;
}
#header #extra {
    position: absolute;
    top: 0;
    right: 0;
    width: 191px;
}
#header #extra a, #header #extra a:hover {
    display: block;
    line-height: 23px;
    padding: 15px 6px;
    color: #fff;
    font-size: 15px;
    text-decoration: none;
    text-transform: uppercase;
    background-color: #b8a35e;
    transition: color 0.3s ease;
}
#header #extra a:hover {
    color: #154e76;
}
#header #extra a#btn-booking, #header #extra a#btn-booking:hover {
    background-color: #154e76;
}
#header #extra a#btn-booking:hover {
    color: #b8a35e;
}
#header #extra a .fal {
    margin-right: 13px;
    font-size: 18px;
}
/* ******************************************************************* FINE HEADER */

/* ******************************************************************* MENU */
#nav {
    display: block;
    margin: 0;
}
#nav #mobile_nav {
    display: none;
    background-color: #2a4e68;
    position: absolute;
    top: 0;
    right: 0;
    height: 106px;
    line-height: 106px;
    font-size: 43px;
    color: #fff;
    text-align: center;
    width: 100px;
}
#nav #mobile_nav .fal.fa-bars {
    font-size: 33px;
    transform: scale(1.3,1);
}
#nav #mobile_nav .text {
    display: none;
}
#menu, #menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#box-menu {
    background-color: #143b56;
    min-height: 53px;
}
#menu {
    font-size: 0;
    padding-left: 6%;
    padding-right: 3%;
    text-align: left;
}
#menu li {
    position: relative;
    display: inline-block;
    vertical-align: bottom;
    padding-right: 3.12vw;
}
#menu li:last-child {
    padding-right: 0;
}
#menu li a, #menu li a:hover {
    text-decoration: none;
    color: #fff;
    line-height: 23px;
    padding: 15px 0 11px 0;
    transition: all 0.2s ease;
    display: block;
    text-transform: uppercase;
    font-size: 16px;
    border-bottom: 4px solid #143b56;
}
#menu li a:hover {
    border-bottom-color: #d8b861;
    color: #d8b861;
}
#menu li.active > a {
    color: #d8b861;
}
#menu ul {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0s ease;
    position: absolute;
    top: 53px;
    left: 50%;
    margin-left: calc(-135px - (3.12vw / 2));
    width: 270px;
    background-color: #143b56;
    background-color: rgba(20, 59, 86, 0.89);
}
#menu li:last-child ul {
    margin-left: -130px;
}
#menu li:hover > ul {
    max-height: 900px;
    padding-top: 29px;
    padding-bottom: 26px;
    transition: max-height 0.7s ease;
}
#menu li li {
    background: none;
    padding-right: 0;
    display: block;
}
#menu li li a, #menu li li a:hover {
    display: block;
    padding: 7px 18px;
    line-height: 21px;
    font-size: 15px;
    text-transform: none;
    border-bottom: none;
    text-align: center;
}
#menu li li a:hover, #menu li li.active > a {
    color: #d8b861;
}
/* ******************************************************************* FINE MENU */

/* ******************************************************************* FOTO */
#foto {
    display: block;
    padding: 0;
    margin: 0;
    position: relative;
    font-size: 0;
    height: 90vh;
    overflow: hidden;
}
#foto .list {
    height: 100%;
}
#foto .list img:not(:first-child) {
    display: none;
}
#foto #slogan {
    position: absolute;
    top: 50%;
    left: 20%;
    transform: translateY(-50%);
    font: 2.8vw 'Lato', sans-serif;
    width: 60%;
    text-align: center;
    color: #fff;
    text-shadow: 2px 2px 3px #000;
}
#slide-nav a {
    font: 1.4vw 'Lato', sans-serif;
    position: absolute;
    top: 50%;
    margin-top: -45px;
    width: 90px;
    height: 90px;
    color: #d8b861;
    border-radius: 45px;
    text-align: center;
    line-height: 90px;
    border: 1px solid #d8b861;
    transition: all 0.2s ease;
}
#slide-nav a.back {
    left: 22px;
}
#slide-nav a.next {
    right: 22px;
}
#slide-nav a:hover {
    background-color: #d8b861;
    color: #fff;
}
/* ******************************************************************* FINE FOTO */

/* ******************************************************************* QUICK REQUEST */
#quick-request {
    background: #efefef url("/images/01-box-prenotazione-legno.jpg") no-repeat center center;
    background-size: cover;
    z-index: 501;
    box-sizing: border-box;
    display: block;
    float: right;
    width: 550px;
}
#quick-request form {
    padding: 65px;
    white-space: nowrap;
}
#quick-request p {
    font: 24px 'Lato', sans-serif;
    color: #15527d;
    margin-bottom: 42px;
}
#quick-request p.title {
    font-size: 24px;
    margin-top: 0;
    margin-bottom: 39px;
}
#quick-request .form_row {
    display: inline-block;
    vertical-align: top;
    font-size: 20px;
    padding: 0 31px;
}
#quick-request .form_row.border {
    border-left: 1px solid #c9c9c9;
}
#quick-request .form_row.border.end {
    border-right: 1px solid #c9c9c9;
}
#quick-request .form_row label {
    display: block;
    text-transform: uppercase;
    margin: 0;
    color: #747474;
}
#quick-request .form_row input {
    display: block;
    border: 0;
    background-color: transparent;
    color: #15527d;
    font: 20px 'Lato', sans-serif;
    width: 130px;
    text-align: center;
    cursor: pointer;
    height: 25px;
}
#quick-request .form_row.number {
    margin-top: 24px;
}
#quick-request .form_row.number input {
    background-color: #fff;
    height: 45px;
    line-height: 45px;
    font-size: 14px;
}
#quick-request .form_row .formDay {
    font-size: 68px;
    height: 80px;
    color: #b8a35e;
}
#quick-request .form_row.newline {
    display: block;
    text-align: center;
    margin-top: 32px;
}
#quick-request .row_invia {
    text-align: center;
    display: block;
    margin-top: 11px;
}
#quick-request .row_invia input {
    display: inline-block;
    text-transform: uppercase;
    width: 357px;
    padding: 11px 0;
    height: auto;
    background-color: #b8a35e;
    color: #fff;
    transition: all 0.4s ease;
    font-size: 15px;
    letter-spacing: 0.126em;
}
#quick-request #express_invia {
    margin-top:  30px;
}
#quick-request #express_prenota {
    background-color: #032e4d;
    color: #fff;
}
/* ******************************************************************* FINE QUICK REQUEST */

/* ******************************************************************* CONTENT */
#content {
    display: block;
}
#content.noPhoto {
    padding-top: 173px;
}
#article {
    line-height: 1.6em;
    display: block;
    padding: 47px 0 47px 0;
    font-size: 16px;
    border-top: 3px solid #b8a35e;
}
#content.noPhoto #article {
    border-top: none;
}
body.homepage #article {
    padding-top: 0;
    overflow-x: hidden;
}
body.homepage #article .box {
    width: auto;
    padding-left: 80px;
    padding-right: 80px;
    padding-top: 47px;
    margin-right: 550px;
}
body.room #article .box, body.offer #article .box {
    width: auto;
}
#content #article h1 {
    font-size: 39px;
    margin: 0;
    line-height: 1.2em;
    color: #b8a35e;
    font-family: 'Lato', sans-serif;
    padding: 13px 0;
    text-transform: uppercase;
    font-weight: 700;
}
#content #article h1 span {
    color: #15527d;
    font-size: 28px;
    text-transform: none;
    font-weight: 400;
}
#content #article h2 {
    font-size: 31px;
    margin: 38px 0 22px 0;
    line-height: 1em;
    font-weight: normal;
    font-family: 'Lato', sans-serif;
    color: #15527d;
}
#content #article h3 {
    font-size: 26px;
    margin: 38px 0 22px 0;
    line-height: 1em;
    font-weight: normal;
    font-family: 'Lato', sans-serif;
}
#article p {
    margin: 24px 0;
}
#article ul, #article ol {
    padding: 0;
    margin: 13px 0 0 4%;
    list-style-position: inside;
}
#article ul ul, #article ol ol {
    margin-top: 0;
}
#article a, #article a:hover {
    color: #15527d;
}
#article a:hover {
    text-decoration: none;
}
/* ******************************************************************* FINE CONTENT */

/* ******************************************************************* MODULE - OFFER */
#offerte {
    background-color: #f6f6f6;
    clear: both;
    padding: 58px 0;
    line-height: 1.8em;
}
#offerte h2 {
    color: #174e75;
    font-size: 31px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 28px 0 34px 0;
}
#offerte h2:after {
    content: " ";
    background-color: #b8a35e;
    height: 2px;
    width: 36px;
    margin: 23px auto 0 auto;
    display: block;
}
#offerte #box-offer {
    position: relative;
}
#offerte .mod-offerte {
    margin: 34px 19% 0 19%;
    padding: 0;
    list-style: none;
    font-size: 0;
}
#offerte .mod-offerte .flickity-viewport {
    padding: 50px;
}
#offerte .mod-offerte .offer {
    display: inline-block;
    font-size: 16px;
    width: 45%;
    margin: 0 2.5%;
}
#offerte .mod-offerte .offer .offer-inner {
    transition: all 0.4s ease;
    background-color: #fff;
    box-shadow: 0 5px 14px 0 rgba(0,0,0,0.35);
}
#offerte .mod-offerte .offer:hover .offer-inner {
    transform: scale(1.008, 1.008);
    box-shadow: 0 5px 14px 5px rgba(0,0,0,0.35);
}
#offerte .offer .offerImage a {
    display: block;
}
#offerte .offer .offerImage img {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: auto;
	aspect-ratio: 424 / 237;
	object-fit: cover;
}
#offerte .offer .offerTxt {
    padding: 23px 4%;
    height: 207px;
    overflow: hidden;
    box-sizing: border-box;
}
#offerte .offer .offerTxt .offerTitle a, #offerte .offer .offerTxt .offerTitle a:hover {
    color: #15527d;
    font: 28px 'Lato', sans-serif;
    text-decoration: none;
    margin-bottom: 9px;
    display: block;
}
#offerte .offer .offerTxt .offerDate {
    font-size: 24px;
    margin-bottom: 31px;
}
#offerte .offer .offerTxt .offerRate .evid {
    font-weight: 700;
}
#offerte .offer .offerBtn a, #offerte .offer .offerBtn a:hover {
    background-color: #b8a35e;
    color: #fff;
    display: block;
    text-decoration: none;
    text-transform: uppercase;
    line-height: 45px;
    letter-spacing: 0.126em;
}
#mod-offerte-nav a {
    font: 1.4vw 'Lato', sans-serif;
    position: absolute;
    top: 50%;
    margin-top: -45px;
    width: 90px;
    height: 90px;
    color: #d8b861;
    border-radius: 45px;
    text-align: center;
    line-height: 90px;
    border: 1px solid #d8b861;
    transition: all 0.2s ease;
}
#mod-offerte-nav a.back {
    left: 13%;
}
#mod-offerte-nav a.next {
    right: 13%;
}
#mod-offerte-nav a:hover {
    background-color: #d8b861;
    color: #fff;
}
#mod-offerte-nav a.disabled {
    cursor: default !important;
    color: #c9c9c9 !important;
    border-color: #c9c9c9  !important;
    background-color: transparent !important;
}
/* ******************************************************************* FINE MODULE - OFFER */

/* ******************************************************************* MODULE - BOXES */
.boxes {
    position: relative;
    margin-bottom: 28px;
    background-color: #f6f6f6;
    padding: 48px 0;
    line-height: 1.8em;
}
.boxes.textGallery {
    padding-bottom: 0;
    margin-bottom: 118px;
}
.boxes.textGallery.family {
    background-image: url("/images/boxes/family/01-background-legno-dettaglio.jpg");
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% auto;
}
.boxes .boxesText {
    margin: 0 10%;
}
.boxes .boxesText h2 {
    color: #174e75;
    font-size: 31px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 34px 0;
}
.boxes .boxesText h2:after {
    content: " ";
    background-color: #b8a35e;
    height: 2px;
    width: 36px;
    margin: 23px auto 0 auto;
    display: block;
}
.boxes .boxesText p {
    margin: 29px 0;
}
.boxes .boxesText .btn, .boxes .boxesText .btn:hover {
    display: inline-block;
    text-transform: uppercase;
    padding: 11px 35px;
    height: auto;
    border: 1px solid #b8a35e;
    color: #c6b16a;
    transition: all 0.4s ease;
    font-size: 15px;
    text-decoration: none;
    letter-spacing: 0.126em;
}
.boxes .boxesText .btn:hover {
    background-color: #b8a35e;
    color: #fff;
}
.boxes.textGallery .boxesImg {
    margin: 0 26vw;
    position: relative;
    top: 53px;
}
.boxes.textGallery .boxesImg .list {
    height: 25.92vw;
}
.boxes.textGallery .boxesImg .list img:not(:first-child) {
    display: none;
}
.boxesImg-nav a {
    font: 1.4vw 'Lato', sans-serif;
    position: absolute;
    top: 50%;
    margin-top: -45px;
    width: 90px;
    height: 90px;
    color: #d8b861;
    border-radius: 45px;
    text-align: center;
    line-height: 90px;
    border: 1px solid #d8b861;
    transition: all 0.2s ease;
}
.boxesImg-nav a.back {
    left: -142px;
}
.boxesImg-nav a.next {
    right: -142px;
}
.boxesImg-nav a:hover {
    background-color: #d8b861;
    color: #fff;
}
/* ******************************************************************* FINE MODULE - BOXES */

/* ******************************************************************* MODULE - ROOMS */
#rooms {
    background-color: #f6f6f6;
    clear: both;
    padding: 58px 0 0 0;
    line-height: 1.8em;
}
#rooms p {
    margin: 29px 0;
}
#rooms h2 {
    color: #174e75;
    font-size: 31px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 28px 0 34px 0;
}
#rooms h2:after {
    content: " ";
    background-color: #b8a35e;
    height: 2px;
    width: 36px;
    margin: 23px auto 0 auto;
    display: block;
}
#rooms .btn, #rooms .btn:hover {
    display: inline-block;
    text-transform: uppercase;
    padding: 11px 35px;
    height: auto;
    border: 1px solid #b8a35e;
    color: #c6b16a;
    transition: all 0.4s ease;
    font-size: 15px;
    text-decoration: none;
    letter-spacing: 0.126em;
}
#rooms .btn:hover {
    background-color: #b8a35e;
    color: #fff;
}
#rooms #mod-rooms {
    background-color: #fff;
    margin-top: 88px;
}
#rooms #mod-rooms .roomsList {
    float: left;
    width: 43%;
    box-sizing: border-box;
    padding: 35px 0 35px 40px;
    height: 70vh;
    overflow: auto;
}
#rooms #mod-rooms .room {
    text-align: left;
    clear: left;
    overflow: hidden;
    margin: 14px 0;
    cursor: pointer;
}
#rooms #mod-rooms .room:hover {
    background-color: #b8a35e;
}
#rooms #mod-rooms .room.active {
    background-color: #b8a35e;
    color: #fff;
}
#rooms #mod-rooms .room .roomImage {
    float: left;
}
#rooms #mod-rooms .room .roomImage img {
    display: block;
    filter: grayscale(100%);
    transition: all 0.4s ease;
}
#rooms #mod-rooms .room .roomTxt {
    margin-left: 180px;
}
#rooms #mod-rooms .room .roomTxt p {
    margin: 0;
}
#rooms #mod-rooms .room .roomTitle {
    font: 22px 'Lato', sans-serif;
    color: #174e75;
    padding-top: 13px;
}
#rooms #mod-rooms .room.active .roomTitle {
    color: #fff;
}
#rooms #mod-rooms .room.active .roomImage img {
    filter: grayscale(0);
}

#rooms #mod-rooms .room .roomGallery {
    display: none;
}

#rooms #mod-rooms .roomsImages {
    float: left;
    width: 57%;
    height: 70vh;
}
/* ******************************************************************* FINE MODULE - ROOMS */

/* ******************************************************************* FOOTER */
#footer {
    background-color: #ffffff;
    padding: 48px 0;
    position: relative;
}
#footer p {
    margin: 15px 0;
}
#footer a, #footer a:hover {
    color: #4f4f4f;
    text-decoration: none;
}
#footer a:hover {
    text-decoration: underline;
}
#footer address {
    font-style: normal;
}
#footer #col-left {
    float: left;
    width: 33%;
    text-align: left;
    box-sizing: border-box;
    padding-left: 8%;
    padding-top: 118px;
}
#footer #col-left i.fas, #footer #col-left i.far,  #footer #col-left i.fab,  #footer #col-left i.fal {
    width: 48px;
    color: #d8b861;
    font-size: 19px;
}
#footer #col-middle {
    float: left;
    width: 33%;
    box-sizing: border-box;
    padding: 0 3%;
}
#footer #col-middle .evid {
    font: 21px 'Lato', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    color: #d8b861;
}
#footer #menu-info {
    padding: 0;
    list-style: none;
    margin: 25px 0 0 0;
    font-family: 'Questrial', sans-serif;
}
#footer #menu-info li {
    display: inline-block;
    font-size: 0.8em;
    line-height: 35px;
    color: #4f4f4f;
}
#footer #menu-info li:after {
    content: '|';
    color: #4f4f4f;
    margin-right: 8px;
}
#footer #menu-info li:last-child:after {
    content: none;
}
#footer #menu-info a, #footer #menu-info a:hover {
    color: #4f4f4f;
    text-decoration: none;
    text-transform: uppercase;
    display: inline-block;
    margin-right: 11px;
}
#footer #menu-info a:hover {
    text-decoration: underline;
}
#footer #col-right {
    float: left;
    width: 33%;
    text-align: center;
    box-sizing: border-box;
    padding-top: 118px;
}
#footer #col-right .partner a {
    display: inline-block;
    vertical-align: middle;
    margin: 0 8px;
}
#footer #ca-widget-container {
    position: absolute;
    top: -48px;
    left: 8%;
}
/* ******************************************************************* FINE FOOTER */

/* ******************************************************************* CONTENT - RICHIESTA */
.item-cols {
    position: relative;
    overflow: hidden;
}
.item-col-2 {
    position: relative;
    float: left;
    width: 48%;
    text-align: left;
    margin: 0 1% 30px;
}
fieldset {
    border: none;
    padding: 0;
    margin: 0;
}
fieldset p {
    margin-top: 30px;
}
.item-col-last {
    text-align: center;
}
.item-col-last .special {
    font-size: 13px;
    line-height: 130%;
    border-bottom: 1px solid #EEE;
    margin-bottom: 10px;
    padding-bottom: 10px;
}
fieldset legend, .item-col-last legend {
    background-color: #032e4d;
    color: #fff;
    display: block;
    width: 100%;
    text-align: center;
    padding: 5px 0;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
fieldset label, .item-col-last label {
    display: block;
    font-size: 14px;
    margin-bottom:10px;
}
fieldset label.inliner {
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 0 !important;
}
fieldset label input[type="text"] {
    margin: 0;
    border: 1px solid #ddd7d1;
    background: none;
    padding: 3px 10px;
    font: 14px 'Fira Sans', sans-serif;
    width: 55%;
    display: inline-block;
}
fieldset label input.nr {
    width: 25px;
}
fieldset label span {
    display: inline-block;
    width: 33%;
}
fieldset label span.req {
    font-weight: bolder;
}
fieldset label span.req:after {
    content:" (*)";
}
fieldset select {
    font: 14px 'Fira Sans', sans-serif;
}
fieldset textarea {
    width: 95%;
    box-sizing: border-box;
    height: 100px;
    border: 1px solid #ddd7d1;
    background: none;
    font: 14px 'Fira Sans', sans-serif;
}
form button {
    border: none;
    cursor: pointer;
    font: 14px 'Fira Sans', sans-serif;
}
.item-cols hr {
    border: none;
    background: none;
    border-bottom: 1px solid #ddd7d1;
    margin: 10px 0;
    width: 99%;
}
.item-privacy {
    font-size: 13px;
    line-height: 130%;
    text-align: left;
    height: 110px;
    overflow: auto;
    margin-bottom: 20px;
}
.item-col-2-intern {
    position: relative;
    overflow: hidden;
    margin-top: 30px;
    font-size:12px;
}
.item-col-2-intern label {
    width: 50%;
    float: left;
}
.item-col-2-intern select {
    margin-right: 5px;
}
.item-col-2-intern label span {
    display:none;
}
.errorMessages {
    display: none;
    font-size: 13px;
    text-align: left;
    border: 1px solid #8c1145;
    padding: 10px;
    background-color: #FDF4F8;
    margin-bottom: 20px;
}
.errorMessages label {
    display: list-item;
    list-style-type: disc;
    margin-left: 20px;
    margin-bottom: 2px;
    font-size: 13px;
}
.errorMessages p {
    color: #8c1145;
    font-weight: bold;
    margin-top: 0;
}
.errorMessages label.error.valid {
    display: none !important;
}
fieldset label input.error {
    background-color: #FDF4F8;
    border-color: #8c1145;
}
#alteaForm select {
    margin-right: 4px;
}
#alteaForm button[type="submit"] {
    margin: 20px auto 0;
    background-color: #154e76;
    color: #fff;
    font: 16px 'Lato', sans-serif;
    text-transform: uppercase;
    padding: 18px 30px;
    display: inline-block;
    transition: all 0.2s ease;
}
.room-form-box {
    border-top: 1px solid #ddd7d1;
    padding-top: 10px;
}
.ui-datepicker-trigger {
    border:none;
    background:none;
}
/* ******************************************************************* FINE CONTENT - RICHIESTA */

/* ******************************************************************* CONTENT - OFFER */
body.offer #content #article {
    padding-bottom: 0;
}
body.offer #content #article h1 {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
#pisa_package_content .offerMargin {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}
#pisa_package_content .counter {
    font: 68px 'Lato', sans-serif;
    color: #d6d6d6;
    text-align: center;
    padding-bottom: 63px;
}
#pisa_package_content .counter .current {
    color: #15527d;
}
#pisa_package_content .offer-background{
    background-color: #f6f6f6;
    position: relative;
}
#pisa_package_content #offer-inner {
    position: relative;
    top: -60px;
}
#pisa_package_content .list {
    max-width: 800px;
    margin: 0 auto;
}
#pisa_package_content .offerItem .offerImage {
    position: relative;
}
#pisa_package_content .offerItem .offerImage img {
    display: block;
	object-fit: cover;
}
#pisa_package_content .offerItem .offerTxt h2 {
    text-align: center;
}
#pisa_package_content .offerItem .offerTxt .offerDate {
    text-align: center;
    color: #b8a35e;
    font-size: 19px;
    text-transform: uppercase;
}
#pisa_package_content .offerItem .offerTxt .rate {
    text-align: center;
    margin-top: 16px;
}
#pisa_package_content .offerItem .offerTxt .rate .evid {
    color: #15527d;
    font-size: 30px;
}
#pisa_package_content .offerItem .offerTxt .intro {
    text-align: center;
}
#pisa_package_content .offerItem .offerTxt .btns {
    text-align: center;
    margin: 39px 0;
}
#pisa_package_content .offerItem .offerTxt .btns a, #pisa_package_content .offerItem .offerTxt .btns a:hover {
    display: inline-block;
    text-transform: uppercase;
    padding: 11px 75px;
    height: auto;
    border: 1px solid #b8a35e;
    color: #c6b16a;
    transition: all 0.4s ease;
    font-size: 15px;
    text-decoration: none;
    letter-spacing: 0.126em;
    margin: 0 3px;
}
#pisa_package_content .offerItem .offerTxt .btns a:hover {
    background-color: #b8a35e;
    color: #fff;
}
#pisa_package_content .offerItem .offerTxt .html {
    text-align: left;
}
#content-offer-nav a {
    font: 1.4vw 'Lato', sans-serif;
    position: absolute;
    top: 225px;
    width: 90px;
    height: 90px;
    color: #d8b861;
    border-radius: 45px;
    text-align: center;
    line-height: 90px;
    border: 1px solid #d8b861;
    transition: all 0.2s ease;
}
#content-offer-nav a.back {
    left: 14%;
}
#content-offer-nav a.next {
    right: 14%;
}
#content-offer-nav a:hover {
    background-color: #d8b861;
    color: #fff;
}
#content-offer-nav a.disabled {
    cursor: default !important;
    color: #c9c9c9 !important;
    border-color: #c9c9c9  !important;
    background-color: transparent !important;
}
#pisa_package_content .offerItem .offerTxt .detail form {
    display: none;
}
/* ******************************************************************* FINE CONTENT - OFFER */

/* ******************************************************************* CONTENT - ROOM */
body.room #content #article h1, body.room #content #article h2, body.room #content #article h3, body.room #article p, body.room #content #article ul, body.room #content #article ol {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}
body.room #content #article #box-condizioni {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}
body.room #content #article #box-condizioni h1, body.room #content #article #box-condizioni h2, body.room #content #article #box-condizioni h3, body.room #content #article #box-condizioni p, body.room #content #article #box-condizioni ul, body.room #content #article #box-condizioni ol {
    max-width: none;
}
body.room #content #article {
    padding-bottom: 0;
}
body.room #content #article #box-condizioni h3 {
    padding-top: 38px;
    margin-top: 0;
}
#content-room {
    margin-top: 61px;
}
#content-room .counter {
    font: 68px 'Lato', sans-serif;
    color: #d6d6d6;
    text-align: center;
    padding-bottom: 63px;
}
#content-room .counter .current {
    color: #15527d;
}
#content-room .room-background{
    background-color: #f6f6f6;
    position: relative;
}
#content-room .room-background:after {
    content: " ";
    position: absolute;
    left: 50%;
    margin-left: -20px;
    z-index: 99;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #f6f6f6;
}
#content-room #room-inner {
    position: relative;
    top: -60px;
}
#content-room .list {
    max-width: 1200px;
    margin: 0 auto;
}
#content-room .roomItem .roomImg {
    position: relative;
}
#content-room .roomItem .roomImg img {
    display: block;
}
#content-room .roomItem .roomImg .roomGallery a {
    position: absolute;
    right: 33px;
    bottom: -36px;
    background-color: #b8a35e;
    color: #fff;
    width: 72px;
    height: 72px;
    text-align: center;
    line-height: 72px;
    border-radius: 50%;
    font-size: 26px;
}
#content-room .roomItem .roomImg .roomGallery a.hidden {
    display: none;
}
#content-room .roomItem .roomText h2 {
    text-align: center;
}
#content-room .roomItem .roomText .intro {
    text-align: center;
    color: #b8a35e;
    font-size: 19px;
    text-transform: uppercase;
}
#content-room .roomItem .roomText .roomRates {
    font-size: 0;
    text-align: center;
    margin: 59px 0;
}
#content-room .roomItem .roomText .roomRates .roomRateType {
    font-size: 16px;
    display: inline-block;
    vertical-align: top;
    margin: 0 3%;
    line-height: 2.3em;
}
#content-room .roomItem .roomText .roomRates .roomRateType .evid {
    color: #15527d;
    font-size: 30px;
}
#content-room .roomItem .roomText .btns {
    text-align: center;
    margin: 39px 0;
}
#content-room .roomItem .roomText .btns a, #content-room .roomItem .roomText .btns a:hover {
    display: inline-block;
    text-transform: uppercase;
    padding: 11px 75px;
    height: auto;
    border: 1px solid #b8a35e;
    color: #c6b16a;
    transition: all 0.4s ease;
    font-size: 15px;
    text-decoration: none;
    letter-spacing: 0.126em;
    margin: 0 3px;
}
#content-room .roomItem .roomText .btns a:hover {
    background-color: #b8a35e;
    color: #fff;
}
#content-room-nav a {
    font: 1.4vw 'Lato', sans-serif;
    position: absolute;
    top: 225px;
    width: 90px;
    height: 90px;
    color: #d8b861;
    border-radius: 45px;
    text-align: center;
    line-height: 90px;
    border: 1px solid #d8b861;
    transition: all 0.2s ease;
}
#content-room-nav a.back {
    left: 7%;
}
#content-room-nav a.next {
    right: 7%;
}
#content-room-nav a:hover {
    background-color: #d8b861;
    color: #fff;
}
#content-room-nav a.disabled {
    cursor: default !important;
    color: #c9c9c9 !important;
    border-color: #c9c9c9  !important;
    background-color: transparent !important;
}
#content-room .btn-condizioni {
    color: #15527d;
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 700;
    width: 320px;
    padding: 14px 0 34px 0;
    display: block;
    text-align: center;
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -160px;
}
/* ******************************************************************* FINE CONTENT - ROOM */

@media only screen and (max-width: 1350px) {
    #header #header-inner #service {
        padding-left: 3%;
    }
    #menu {
        padding-left: 3%;
    }
    #menu li {
        padding-right: 1.62vw;
    }
    #menu ul {
        margin-left: calc(-130px - (1.62vw / 2));
    }
    #menu li:last-child ul {
        margin-left: -130px;
    }

    #offerte .offer .offerTxt .offerDate {
        font-size: 18px;
        margin-bottom: 21px;
    }
    #mod-offerte-nav a.back {
        left: 9%;
    }
    #mod-offerte-nav a.next {
        right: 9%;
    }

    #footer #col-left {
        padding-left: 5%;
    }
}

@media only screen and (max-width: 1230px) {
    #menu li a, #menu li a:hover {
        font-size: 15px;
    }
    #content-room .list {
        width: 1100px;
    }
    #content-room .roomItem .roomImg img {
        width: 1100px;
        height: auto;
    }
    #content-room-nav a.back {
        left: 3%;
    }
    #content-room-nav a.next {
        right: 3%;
    }
}

@media only screen and (max-width: 1151px) {
    .box {
        width: 100%;
    }

    #header #service #language {
        right: auto;
        left: 3%;
        top: 53px;
    }

    #nav #mobile_nav {
        display: block;
    }
    #menu {
        display: none;
        position: absolute;
        top: 106px;
        right: -191px;
        width: calc(100vw - 5.7vw - 181px);
        padding: 32px 0;
        z-index: 301;
        box-sizing: border-box;
        background-color: #2a4e68;
    }
    #nav.hover_menu #menu {
        display: block;
    }
    #menu li {
        display: block;
        padding-right: 0;
    }
    #menu li a, #menu li a:hover {
        border: none;
        padding: 15px 32px;
        font-size: 16px;
    }
    #menu li a .fal {
        margin-left: 9px;
    }
    #menu li.opensubnav > ul {
        position: static;
        width: auto;
        max-height: 900px;
        padding-top: 9px;
        padding-bottom: 9px;
        transition: max-height 0.7s ease;
        margin: 0;
    }
    #menu li li a, #menu li li a:hover {
        text-align: left;
        padding-left: 43px;
        padding-right: 43px;
    }

    #foto {
        height: 81vh;
    }
    #foto #slogan {
        font-size: 3.9vw;
    }
    #slide-nav a {
        font-size: 3.4vw;
    }

    #article .box {
        padding-left: 4%;
        padding-right: 4%;
        box-sizing: border-box;
    }
    body.homepage #article .box {
        margin-right: 0;
        padding-left: 4%;
        padding-right: 4%;
    }
    #quick-request {
        display: none;
    }

    #content #article h1 {
        font-size: 34px;
    }
    #article p {
        margin: 19px 0;
    }

    #rooms #mod-rooms .roomsList {
        width: auto;
        float: none;
        padding: 15px 35px;
        height: 51vh;
    }
    #rooms #mod-rooms .roomsImages {
        float: none;
        width: auto;
        height: 58.33vh;
    }

    #offerte .mod-offerte .offer {
        width: 75%;
    }
    #mod-offerte-nav a {
        font-size: 3.4vw;
    }
    #mod-offerte-nav a.back {
        left: 4%;
    }
    #mod-offerte-nav a.next {
        right: 4%;
    }

    .boxes.textGallery .boxesImg {
        margin-left: 9vw;
        margin-right: 9vw;
    }
    .boxes.textGallery .boxesImg .list {
        height: 45.92vw;
    }
    .boxesImg-nav a {
        font-size: 3.4vw;
    }
    .boxesImg-nav a.back {
        left: -8vw;
    }
    .boxesImg-nav a.next {
        right: -8vw;
    }

    #footer #col-left {
        width: 50%;
    }
    #footer #col-middle {
        width: 50%;
    }
    #footer #col-right {
        width: auto;
        float: none;
        clear: left;
        padding-top: 48px;
    }

    body.room #article .box {
        padding-left: 0;
        padding-right: 0;
    }
    body.room #content #article h1, body.room #content #article h2, body.room #content #article h3, body.room #article p, body.room #content #article ul, body.room #content #article ol {
        padding-left: 4%;
        padding-right: 4%;
    }
    body.room #content #article #box-condizioni {
        padding-left: 4%;
        padding-right: 4%;
    }
    body.room #content #article #box-condizioni h1, body.room #content #article #box-condizioni h2, body.room #content #article #box-condizioni h3, body.room #content #article #box-condizioni p, body.room #content #article #box-condizioni ul, body.room #content #article #box-condizioni ol {
        padding-left: 0;
        padding-right: 0;
    }
    #content-room .list {
        width: 100vw;
    }
    #content-room .roomItem .roomImg img {
        width: 100vw;
        height: auto;
    }
    #content-room-nav a {
        top: 182px;
        font-size: 3.4vw;
    }

    body.offer #article .box {
        padding-left: 0;
        padding-right: 0;
    }
    body.offer #content #article h1 {
        padding-left: 4%;
        padding-right: 4%;
    }
    #pisa_package_content .list {
        width: 100vw;
    }
    #pisa_package_content .offerItem .offerImage img {
        width: 100vw;
        height: auto;
    }
    #pisa_package_content .offerItem .offerTxt {
        padding-left: 4%;
        padding-right: 4%;
        box-sizing: border-box;
    }
    #content-offer-nav a {
        top: 182px;
        font-size: 3.4vw;
    }
    #content-offer-nav a.back {
        left: 7%;
    }
    #content-offer-nav a.next {
        right: 7%;
    }

    #footer #ca-widget-container {
        top: 0;
    }
}

@media only screen and (max-width: 767px) {
    .view_mobile {
        display: block !important;
    }
    span.view_mobile {
        display: inline !important;
    }

    .scroll-to-top {
        bottom: 12%;
    }

    #header {
        left: 0;
        width: 100%;
        background-color: #fff;
    }
    #header #header-inner {
        float: right;
        width: auto;
    }
    #header #service #contact {
        display: none;
    }
    #header #service #social {
        display: none;
    }
    #header #service #language {
        right: 100px;
        left: auto;
        top: 0;
        background-color: #b8a35e;
        max-height: 952em;
    }
    #header #service #language a, #header #service #language a:hover {
        width: 65px;
        text-align: center;
    }
    #header #service #language a:hover {
        color: #154e76;
    }
    #header #service #language li:after {
        content: '';
    }
    #header #extra {
        position: fixed;
        top: auto;
        bottom: 0;
        width: 100%;
    }
    #header #extra a, #header #extra a:hover {
        float: left;
        width: 50%;
        padding-left: 0;
        padding-right: 0;
    }

    #menu {
        right: 0;
        width: 100vw;
    }

    #foto {
        height: 66.25vw;
        margin-top: 106px;
    }
    #slide-nav a, #slide-nav a:hover {
        font-size: 5.8vw;
        width: auto;
        border: none;
        background: none;
    }
    #slide-nav a.back {
        left: 12px;
    }
    #slide-nav a.next {
        right: 12px;
    }
    #foto #slogan {
        left: 10%;
        width: 80%;
        font-size: 5.8vw;
    }

    #content #article h1 {
        font-size: 29px;
    }
    #content #article h1 span {
        font-size: 25px;
    }
    #content #article h2 {
        font-size: 23px;
    }
    #content #article h3 {
        font-size: 20px;
    }

    #rooms .btn, #rooms .btn:hover {
        max-width: 70%;
    }
    #rooms #mod-rooms .roomsList {
        padding-left: 0;
        padding-right: 0;
    }
    #rooms #mod-rooms .room {
        margin-top: 7px;
        margin-bottom: 7px;
    }
    #rooms #mod-rooms .room .roomTxt {
        margin-left: 160px;
        font-size: 14px;
        line-height: 1.5em;
        padding-right: 10px;
    }
    #rooms #mod-rooms .room .roomTitle {
        font-size: 16px;
        line-height: 1.5em;
    }
    #rooms #mod-rooms .roomsImages {
        height: 48.33vh;
    }

    #offerte h2, #offerte p {
        padding-left: 4%;
        padding-right: 4%;
    }
    #offerte .mod-offerte {
        margin-left: 23px;
        margin-right: 23px;
    }
    #offerte .mod-offerte .offer {
        width: 85%;
    }
    #offerte .offer .offerTxt .offerTitle a, #offerte .offer .offerTxt .offerTitle a:hover {
        font-size: 24px;
    }
    #offerte .offer .offerTxt .offerDate {
        font-size: 16px;
    }
    #offerte .mod-offerte .flickity-viewport {
        padding: 20px;
    }
    #mod-offerte-nav a, #mod-offerte-nav a:hover {
        font-size: 5.8vw;
        width: auto;
        border: none;
        background: none;
        color: #d8b861;
    }
    #mod-offerte-nav a.back {
        left: 4px;
    }
    #mod-offerte-nav a.next {
        right: 4px;
    }

    .boxes.textGallery {
        background-image: none;
        margin-bottom: 28px;
    }
    .boxes .boxesText {
        margin-left: 4%;
        margin-right: 4%;
    }
    .boxes.textGallery .boxesImg {
        top: 0;
    }
    .boxesImg-nav a, .boxesImg-nav a:hover {
        font-size: 5.8vw;
        width: auto;
        border: none;
        background: none;
        color: #d8b861;
    }
    .boxesImg-nav a.back {
        left: -7vw;
    }
    .boxesImg-nav a.next {
        right: -7vw;
    }

    #footer {
        display: flex;
        flex-direction: column;
        padding-bottom: 88px;
    }
    #footer #col-left {
        width: auto;
        float: none;
        order: 2;
        padding-top: 28px;
        padding-left: 21%;
    }
    #footer #col-middle {
        width: auto;
        float: none;
        order: 1;
    }
    footer #col-right {
        order: 3;
    }

    #content-room .roomItem .roomText .btns {
        margin: 18px 0;
    }
    #content-room .roomItem .roomText .btns a, #content-room .roomItem .roomText .btns a:hover {
        margin-top: 3px;
        width: 80%;
        text-align: center;
        padding-left: 5px;
        padding-right: 5px;
        box-sizing: border-box;
    }
    #content-room-nav a {
        top: -105px;
    }
    #content-room-nav a, #content-room-nav a:hover {
        font-size: 5.8vw;
        width: auto;
        border: none;
        background: none;
        color: #d8b861;
    }

    #pisa_package_content .offerItem .offerTxt .btns {
        margin: 18px 0;
    }
    #pisa_package_content .offerItem .offerTxt .btns a, #pisa_package_content .offerItem .offerTxt .btns a:hover {
        margin-top: 3px;
        width: 80%;
        text-align: center;
        padding-left: 5px;
        padding-right: 5px;
        box-sizing: border-box;
    }
    #content-offer-nav a {
        top: -105px;
    }
    #content-offer-nav a, #content-offer-nav a:hover {
        font-size: 5.8vw;
        width: auto;
        border: none;
        background: none;
        color: #d8b861;
    }

    .item-col-2 {
        float: none;
        margin: 0 auto 20px;
        width: auto;
    }

}

@media only screen and (max-width: 330px) {
    #nav #mobile_nav {
        width: 70px;
    }
    #header #service #language {
        right: 70px;
    }
    #header #service #language a, #header #service #language a:hover {
        width: 45px;
    }
}

.lang-active {
    background-color: transparent !important;
}

div.mod-languages li {
    margin: 0 !important;
}