/*@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed:300,300i,400,400i,700,700i');*/
/* roboto-condensed-300 - latin */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 300;
    src: url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300.eot'); /* IE9 Compat Modes */
    src: local('Roboto Condensed Light'), local('RobotoCondensed-Light'),
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300.woff') format('woff'), /* Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300.svg#RobotoCondensed') format('svg'); /* Legacy iOS */
}
/* roboto-condensed-300italic - latin */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: italic;
    font-weight: 300;
    src: url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300italic.eot'); /* IE9 Compat Modes */
    src: local('Roboto Condensed Light Italic'), local('RobotoCondensed-LightItalic'),
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300italic.woff2') format('woff2'), /* Super Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300italic.woff') format('woff'), /* Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300italic.ttf') format('truetype'), /* Safari, Android, iOS */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-300italic.svg#RobotoCondensed') format('svg'); /* Legacy iOS */
}
/* roboto-condensed-regular - latin */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 400;
    src: url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-regular.eot'); /* IE9 Compat Modes */
    src: local('Roboto Condensed'), local('RobotoCondensed-Regular'),
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-regular.woff') format('woff'), /* Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-regular.svg#RobotoCondensed') format('svg'); /* Legacy iOS */
}
/* roboto-condensed-italic - latin */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: italic;
    font-weight: 400;
    src: url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-italic.eot'); /* IE9 Compat Modes */
    src: local('Roboto Condensed Italic'), local('RobotoCondensed-Italic'),
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-italic.woff') format('woff'), /* Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-italic.svg#RobotoCondensed') format('svg'); /* Legacy iOS */
}
/* roboto-condensed-700 - latin */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 700;
    src: url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700.eot'); /* IE9 Compat Modes */
    src: local('Roboto Condensed Bold'), local('RobotoCondensed-Bold'),
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700.woff') format('woff'), /* Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700.svg#RobotoCondensed') format('svg'); /* Legacy iOS */
}
/* roboto-condensed-700italic - latin */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: italic;
    font-weight: 700;
    src: url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700italic.eot'); /* IE9 Compat Modes */
    src: local('Roboto Condensed Bold Italic'), local('RobotoCondensed-BoldItalic'),
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700italic.woff') format('woff'), /* Modern Browsers */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
        url('../../fonts/RobotoCondensed/roboto-condensed-v16-latin-700italic.svg#RobotoCondensed') format('svg'); /* Legacy iOS */
}

@font-face {
    font-family: 'STXingkai';
    src: local('STXingkai'),
        url('../../fonts/hinted-STXingkai.woff2') format('woff2'),
        url('../../fonts/hinted-STXingkai.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
.STXingkai {
    font-family: 'STXingkai'
}

@font-face {
    font-family: 'Snowflake Calligraphy';
    src: local('Snowflake Calligraphy'), local('SnowflakeCalligraphy'),
        url('../../fonts/hinted-SnowflakeCalligraphy.woff2') format('woff2'),
        url('../../fonts/hinted-SnowflakeCalligraphy.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
.Snowflake {
    font-family: 'Snowflake Calligraphy';
}

@font-face {
    font-family: 'Proforma-SemiBoldItalic';
    src: url('../../fonts/ProformaSemiBoldItalic.eot');
    src: local('Proforma SemiBoldItalic'), local('ProformaSemiBoldItalic'),
        url('../../fonts/ProformaSemiBoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../../fonts/ProformaSemiBoldItalic.woff2') format('woff2'),
        url('../../fonts/ProformaSemiBoldItalic.woff') format('woff'),
        url('../../fonts/ProformaSemiBoldItalic.ttf') format('truetype'),
        url('../../fonts/ProformaSemiBoldItalic.svg#ProformaSemiBoldItalic') format('svg');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
.Proforma-SemiBoldItalic {
    font-family: 'Proforma-SemiBoldItalic';
}

/* 
-- Standard theme colors --
    Green: #7a834e rgb(122,131, 78)
    Blue : #83aaa7 rgb(131,170,167)
    Red  : #a25151 rgb(162, 81, 81)
    Dark : #353535 rgb( 53, 53, 53)
    White: #ffffff rgb(255,255,255)
*/

.hide-overflow {
    overflow: hidden !important;
}

/* The website has waypoint enabled animations
   but also has a loading overlay.
   Delay animations by a few ms*/
.animated {
    -webkit-animation-delay: 0.3s;
    -moz-animation-delay: 0.3s;
    -o-animation-delay: 0.3;
    animation-delay: 0.3s;
}
.bgallery .animated {
    -webkit-animation-delay: 0s;
    -moz-animation-delay: 0s;
    -o-animation-delay: 0;
    animation-delay: 0s;
}

.skiptranslate {
    display: none !important;
}

hr {
    border-top-color: rgb(221,221,221);
}

/* START Base */
h1 { font-size: 3.0em; }
h2 { font-size: 2.5em; }
h3 { font-size: 2.0em; }
h4 { font-size: 1.5em; }
h5 { font-size: 1.0em; }
h6 { font-size: 0.5em; }

.font-weight-bold { font-weight: bold; }

img.full-width,
.full-width img
{ width: 100% !important; height: auto !important; }

img.max-full-width,
.max-full-width img
{ width: 100% !important; height: auto !important; }

img.full-height,
.full-height img
{ width: auto !important; height: 100% !important; }

.align-left { text-align: left; }
.align-right{ text-align: right; }
.align-center{text-align: center;}
.align-justify{text-align: justify;}
.waypoint-animated {
    opacity: 0;
}

.d-inline-block {
    display: inline-block;
}

html {
    height: 100%;
}
html, body {
    width: 100%;
}
html, body {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: normal;
    font-size: 16px;
    background-color: #fff;
}
body {
    min-height: 100%;
}
body.fixed-header {
    padding-top: 100px;
    top: 0 !important;
}
/* END Base */

/* Device aware icons */
.android-share, .ios-share {
    display: none;
}
body:not(.apple-device) .android-share { display:block; }
body.apple-device .ios-share { display:block; }

/* START Header*/
header {
    height: 100px; width: 100%;
    background-color: #fff;
    position: fixed;
    top:0;
    padding-top: 5px;
    padding-bottom: 5px;
    box-shadow: rgba(0,0,0, 1) 0px 0px 8px;
    z-index: 98;
    transition: top 0.2s ease-in-out;
}
header .logo {
    height: 90px; width: auto;
}
header .logo-icon {
    height: 140px;
    width: auto;
    position: absolute;
    /*background-color: white;*/
    padding: 0 13px 10px 18px;
    border-bottom-left-radius: 33%;
    border-bottom-right-radius: 33%;
    /*box-shadow: rgba(0,0,0, 0.5) 0px 1px 0px*/
}
header .logo-icon img {
    height: 100%; width: auto;
    z-index: 2;
}
header .logo-name {
    height: 90px;
    width: auto;
    margin-left: 50px;
    position: absolute;
}
header .logo-name img {
    height: 100%; width: auto;
    z-index: 2;
    background: #fff;
    border-bottom-left-radius:0px;
    border-bottom-right-radius:0px;
}
@media only screen and (max-width : 370px) {
    header .logo-icon {
        padding-left:0;
    }
    header .logo-name {
        height:75px;
        margin-left:90px;
        margin-top:10px;
    }
}
header .nav {
    display: flex;
    align-items: center;
    float: right;
    margin: 19px 0;
}
header .nav li {
    display: inline-block;
}
header .nav li a {
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    cursor: pointer;
    padding: 10px 15px;
}
header .nav > li > a {
    color: #353535;
}
header .nav > li > a,
header .nav > li.active > a,
header .nav > li > a:focus,
header .nav > li > a:active,
header .nav > li > a:hover {
    background-color: transparent;
    border-bottom: 3px solid #fff;
}
header .nav > li.active > a,
header .nav > li > a:hover{
    color: #7a834e;
}
header .nav li.icon > a > .fa {
    font-size: 18px;
}
header .nav > li.active > a {
    border-bottom-color:  #7a834e;
}
header .nav > li.active.icon > a {
    border-bottom-color: transparent;
}
header .nav li.icon .btLanguage {
    display: flex;
    align-items: center;
    gap: 3px;
}
header .nav li.icon .btLanguage svg.icon-language,
header .nav li.icon .btLanguage svg.icon-arrow {
    color: #353535;
}
header .nav li.icon .btLanguage:hover svg.icon-language,
header .nav li.icon .btLanguage:hover svg.icon-arrow {
    color: #7a834e;
}
header .nav li.icon .btLanguage svg.icon-language {
    height: 18px;
    width: 18px;
}
header .nav li.icon .btLanguage svg.icon-arrow {
    height: 22px;
    width: 22px;
}
header .nav li.dropdown {}
header .nav li.dropdown.hover .dropdown-menu,
header .nav li.dropdown:hover .dropdown-menu {
    display: block;
    position: absolute;
    margin-top: -5px;
    padding: 0;
}
header .nav li.dropdown.offset30.hover .dropdown-menu,
header .nav li.dropdown.offset30:hover .dropdown-menu {
    transform: translateX(-30%);
}
header .nav li.dropdown .dropdown-menu > li {
    display: block;
}
header .nav li.dropdown .dropdown-menu > li > a {
    text-align: center;
    color: #7a834e;
}
header .nav li.dropdown .dropdown-menu>.active>a, 
header .nav li.dropdown .dropdown-menu>.active>a:focus, 
header .nav li.dropdown .dropdown-menu>.active>a:hover{
    color: #fff;
    background-color: #7a834e;
    background-image: -webkit-linear-gradient(top,#8a935e 0,#7a834e 100%);
    background-image: -o-linear-gradient(top,#8a935e 0,#7a834e 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#8a935e),to(#7a834e));
    background-image: linear-gradient(to bottom,#8a935e 0,#7a834e 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8a935e', endColorstr='#7a834e', GradientType=0);
}

header .panelSearch,
header .panelLanguage,
header .panelBookingContact {
    background-color: #f9f9f9;
    border: 1px solid #424242;
    position: absolute;
    z-index: 101;
    right: 0;
}
header .panelSearch ul > li > a,
header .panelLanguage ul > li > a,
header .panelSearch ul > li > a.active,
header .panelSearch ul > li > a:hover,
header .panelSearch ul > li > a:focus,
header .panelSearch ul > li > a:active,
header .panelLanguage ul > li > a.active,
header .panelLanguage ul > li > a:hover,
header .panelLanguage ul > li > a:focus,
header .panelLanguage ul > li > a:active {
    border-bottom-color: transparent;
}
header .panelSearch {
    min-width: 300px;
}
header .panelBookingContact {
    min-width: 190px;
}
body.lang-fr header .panelBookingContact {
    min-width: 230px;
}
header .panelBookingContact:before,
header .panelBookingContact .arrow,
header .panelSearch:before,
header .panelSearch .arrow {
    position: absolute;
    right: 15px; top: -7px;
    width: 0; height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #424242;
}
header .panelLanguage:before {
    right: 23px;
}
header .panelSearch:not(.active),
header .panelLanguage:not(.active),
header .panelBookingContact:not(.active){
    display: none;
}
header .panelLanguage {
    border: none;
    border-radius: 4px;
    box-shadow: 0 1px 2px 0 rgba(60,64,67,0.3),0 2px 6px 2px rgba(60,64,67,0.15);
}
header .panelSearch .controls,
header .panelSearch .results,
header .panelLanguage .nav {
    display: block;
    width: 100%; 
    height: auto;
    margin: 0;
}
header .panelSearch .controls {
    padding: 5px;
}
header .panelSearch .controls input {
    width: 100%;
    padding: 3px 70px 3px 3px;
    outline: none;
}
header .panelSearch .controls button.btn {
    padding: 5px 10px;
    border-radius: 0;
    position: absolute;
    top:5px;
    right:5px;
    outline: none;
}
header .panelSearch .controls button.btn.btQuery {
    right: 37px;
}
header .panelSearch .results:not(.active) {
    display: none;
}
header .panelSearch .results {
    text-align: right;
    text-transform: capitalize;
    padding: 0;
    margin: 0;
}
header .panelSearch .results > li {
    display: block;
}
header .panelSearch .results > li:nth-child(odd) {
    background-color: rgba(0,0,0,0.04);
}
header .panelSearch .results > li:nth-child(even) {
    background-color: rgba(0,0,0,0.02);
}
header .panelSearch .results > li:nth-child(odd) {
    background-color: rgba(0,0,0,0.04);
}
header .panelSearch .results > li:hover {
    background-color: rgba(122, 131, 78, 0.4);
}
header .panelSearch .results > li > a {
    text-transform: capitalize;
    font-size: 14px;
    display: inline-block;
    color: #333;
    padding: 5px 10px;
    text-decoration: none;
    border:none;
}
header .panelSearch .results > li > a > span:first-child {
    font-size: 0.85em;
    color: #5e6835;
    padding-right: 5px;
}
header .panelBookingContact .content {
    padding: 10px;
    line-height: 1em;
    text-align: center;
}
header .panelBookingContact .content > .tit {}
header .panelBookingContact .content > .tit h1 {
    color: #7a834e;
    margin-top: 0;
    font-size: 31px;
    text-transform: uppercase;
}
header .panelBookingContact .content > .tit .fa {
    font-size: 24px;
    margin-right: 7px;
}
header .panelBookingContact .content > .phone {}
header .panelBookingContact .content > .phone p {
    margin: 0;
}
header .panelBookingContact .content > .phone a {
    font-size: 22px;
    font-weight: 400;
    color: rgb(51,51,51);
    text-decoration: none;
    padding: 0;
}
header .panelLanguage .nav {
    max-height: 300px;
    min-width: 200px;
    overflow-x: hidden;
    overflow-y: auto;
}
header .panelLanguage .nav li {
    width: 100%;
}
header .panelLanguage .nav > li > a {
    display: flex;
    justify-content: space-between;
}
header .panelLanguage .nav > li > a:hover {
    color: #353535;
    background-color: rgba(0,0,0,0.05);
}
header .panelLanguage .nav > li.active > a {
    color: #353535;
    border-bottom-color: transparent;
    background-color: rgba(122,131,78,0.15);
}
header .panelLanguage .nav > li > a > .gticon {
    width: 16px; height: 16px;
}
header .panelLanguage .filter input {
    background-color: #f9f9f9;
    padding: 10px 30px 10px 15px;
    border: none;
    outline: none;
}
header .panelLanguage .filter i {
    position: absolute;
    font-size: 18px;
    top: 12px;
    right: 15px;
    color: #353535;
}
header .toggleNav {
    position: absolute;
    right: 0; top: 25px;
    width: auto;
    font-size: 28px;
    background-color: #313131;
    color: #fff;
    padding: 5px 20px;
    text-decoration: none;
    text-align: left;
    display: none;
    cursor: pointer;
}
/* END Header*/
/* START Header responsiveness */
@media only screen and (max-width : 1199px) {
    header .toggleNav {
        display: block;
    }
    header .container > ul.nav {
        display: block;
        width: 290px;
        position: fixed;
        right: 0; bottom: 0; top: 0;
        margin: 0;
        overflow: visible;
        background-color: #313131;
        z-index: 100;
        
        -moz-box-shadow: rgba(0,0,0, 1) 0px 4px 8px;
        -webkit-box-shadow: rgba(0,0,0, 1) 0px 4px 8px;
        box-shadow: rgba(0,0,0, 1) 0px 4px 8px;
    }
    header .container > ul.nav > li:not(.icon) {
        display: inline;
        
    }
    header .container > ul.nav > li > a {
        font-size: 16px;
        color: #fff;
        border-bottom-color: transparent;
    }
    header .container > ul.nav li.active > a, 
    header .container > ul.nav li > a:focus, 
    header .container > ul.nav li > a:active, 
    header .container > ul.nav li > a:hover{
        color: #7a834e;
    }
    header .container > ul.nav li.active > a {
        border-bottom-color: #7a834e;
    }
    header .container .panelLanguage > ul.nav li.active > a {
        border-bottom-color: transparent;
    }
    header .container > ul.nav li.icon.active > a, 
    header .container > ul.nav li.icon > a:focus, 
    header .container > ul.nav li.icon > a:active, 
    header .container > ul.nav li.icon > a:hover {
        border-bottom-color: transparent;
        color: #fff;
    }
    header .container > ul.nav li.icon .btLanguage svg.icon-language,
    header .container > ul.nav li.icon .btLanguage svg.icon-arrow {
        color: #fff;
    }
    header .panelLanguage:before {
        border-bottom-color: #f9f9f9;
    }
    header .panelSearch {
        left: 45px; bottom: 0;
        min-width: 230px;
    }
    header .panelSearch .arrow {
        position: absolute;
        left: -7px; right:auto; bottom: 16px; top: auto;
        width: 0; height: 0;
    }
    header .panelSearch .arrow {
        border-left: none;
        border-right: 7px solid #fff;
        border-top: 7px solid transparent;
        border-bottom: 7px solid transparent;
    }
    header .panelBookingContact {
        left: 0;
    }
    header .panelBookingContact .arrow {
        left: 14px;
        right: auto;
        border-bottom-color: #fff;
    }
}
/* END Header responsiveness */

body {
}

.background-mask {
    background-image: url(../img/mask.png);
}

/*section wrapper after the header*/
.page {
    width: 100%;
    min-height: 100%;
}
/* START General Section */
section{
    /*min-height: 100%;*/
    min-height: calc(100vh - 100px);
    background-image: url(../img/mask.png);
}
section.solares-de-portugal {
    min-height: calc(100vh - 530px);
}
section.solares-de-portugal.embeded-county {
    padding-top: 0;
    min-height: 0;
}
section.http404 {
    min-height: calc(100vh - 530px);
    padding: 30px;
    line-height: 1.6em;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.vertical-center{
    display: flex;
    align-items: center;
}
section:not(.slideshow-section):not(.http404){
    padding: 15px 0;
    line-height: 1.6em;
}
section h1,
section h2,
section h3,
section h4,
section h5,
section h6 {
    margin-top: 0;
}
section h1 { margin-bottom: 30px; }

section.http404 h1 { margin-bottom: 0; }
/* END General Section */

/* START Slideshow */
.slideshow-section,
.slideshow-section #Slideshow{
    width: 100%; height: 100%;
}
.slideshow-section #Slideshow .smooth-go {
    width: 42px;
    height: 42px;
    font-size: 36px;
    line-height: 1em;
    text-align: center;
    color: #fff;
    position: absolute; 
    bottom: 60px; left: 50%;
    margin-left: -26px;
    background-color: rgba(0,0,0,0.5);
    z-index: 1;
    border-radius: 6px;
}
.slideshow-section #Slideshow .carousel-indicators {
    bottom: 5px;
}
.slideshow-section #Slideshow .item {
    height: calc(100vh - 100px);
}
.slideshow-section #Slideshow .item .img {
    width: 100%; height: 100%;
    background-position: center;
    background-size: cover;
}
.slideshow-section #Slideshow .item .carousel-caption {
    font-size: 32px;
    text-shadow: 3px 3px 10px rgba(0, 0, 0, 1);
    position: relative;
    bottom: 70%; left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.slideshow-section #Slideshow .item .carousel-caption p{
    text-transform: uppercase;
}
.slideshow-section #Slideshow:hover .carousel-control {
    opacity: 1;
}
.slideshow-section #Slideshow .carousel-control {
    top: 50%; bottom: auto;
    text-align: center;
    line-height: 40px;
    height: 40px; width: 40px;
    margin-top: -20px;
    color: #fff;
    background-image: none;
    background-color: rgba(0,0,0,0.5);
    border-radius: 6px;
    opacity: 0;
    transition: opacity .7s ease-in-out;
}
.slideshow-section #Slideshow .carousel-control.left {
    left: 35px;
}
.slideshow-section #Slideshow .carousel-control.right {
    right: 35px;
}
/*fadein alternative*/
.slideshow-section #Slideshow.carousel-fade .carousel-inner .item {
    opacity: 0;
    -webkit-transition-property: opacity;
    -moz-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity;
    transition-duration: 1s;
}
.slideshow-section #Slideshow.carousel-fade .carousel-inner .active {
    opacity: 1;
}
.slideshow-section #Slideshow.carousel-fade .carousel-inner .active.left,
.slideshow-section #Slideshow.carousel-fade .carousel-inner .active.right {
    left: 0;
    opacity: 0;
    z-index: 1;
}
.slideshow-section #Slideshow.carousel-fade .carousel-inner .next.left,
.slideshow-section #Slideshow.carousel-fade .carousel-inner .prev.right {
    opacity: 1;
}
.slideshow-section #Slideshow.carousel-fade .carousel-control {
    z-index: 2;
}
/*slide caption animation with animate.css*/
.slideshow-section #Slideshow.caption-animate .item.active .carousel-caption {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
.slideshow-section #Slideshow.caption-animate .item.active .carousel-caption.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}
.slideshow-section #Slideshow.caption-animate .item.active .carousel-caption.hinge {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
}
.slideshow-section #Slideshow.caption-animate .item.active .carousel-caption.flipOutX,
.slideshow-section #Slideshow.caption-animate .item.active .carousel-caption.flipOutY,
.slideshow-section #Slideshow.caption-animate .item.active .carousel-caption.bounceIn,
.slideshow-section #Slideshow.caption-animate .item.active .carousel-caption.bounceOut {
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
}
.slideshow-section #Slideshow.caption-animate .item .carousel-caption.fadeIn,
.slideshow-section #Slideshow.caption-animate .item .carousel-caption.fadeInDown,
.slideshow-section #Slideshow.caption-animate .item .carousel-caption.fadeInDownBig,
.slideshow-section #Slideshow.caption-animate .item .carousel-caption.fadeInLeft,
.slideshow-section #Slideshow.caption-animate .item .carousel-caption.fadeInLeftBig,
.slideshow-section #Slideshow.caption-animate .item .carousel-caption.fadeInRight,
.slideshow-section #Slideshow.caption-animate .item .carousel-caption.fadeInRightBig,
.slideshow-section #Slideshow.caption-animate .item .carousel-caption.fadeInUp,
.slideshow-section #Slideshow.caption-animate .item .carousel-caption.fadeInUpBig{
    opacity:0;
}
/* END Slideshow */

/* START House Content (the gallery here came to replace the Slideshow above) */
.house-name-and-utils {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 30px;
}
.house-name-and-utils h1 {
    margin: 0;
}
.house-name-and-utils .utils {
    display: flex;
    gap: 8px;
}
.house-name-and-utils .utils .btn {
    display: flex;
    gap: 5px;
}
@media only screen and (max-width: 1199px) {
    .house-name-and-utils .utils .btn span {
        display: none;
    }
}
@media (max-width : 768px) {
    .house-name-and-utils h1 {
        font-size: 2em;
    }
    .house-name-and-utils .utils {
        position: absolute;
        bottom: -80px;
        z-index: 99;
        right: 30px;
    }
    .house-name-and-utils .utils .btn {
        border: 1px solid #333;
    }
}
@media (max-width:478px) {
}
.house-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin: 0 auto 30px 0;
}
.house-gallery > a.picture img:first-child {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.house-gallery > a.picture::after,
.house-gallery > a.picture img:first-child {
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
}
.house-gallery .thumbs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}
.house-gallery .thumbs > a.picture img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
.house-gallery .thumbs > a.picture:nth-of-type(2)::after,
.house-gallery .thumbs > a.picture:nth-of-type(2) img {
    border-top-right-radius: 16px;
}
.house-gallery .thumbs > a.picture:last-child::after,
.house-gallery .thumbs > a.picture:last-child img {
    border-bottom-right-radius: 16px;
}
.house-gallery .thumbs > .empty {
    background-color: #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #777;
    font-size: 0.9rem;
    font-style: italic;
}
/*image overlay*/
.house-gallery a.picture {
    position: relative;
    display: inline-block;
}
.house-gallery a.picture::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.2);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
.house-gallery a.picture:hover::after {
  opacity: 1;
}
.house-gallery .btn-show-all {
    position: absolute;
    bottom: 30px;
    right: 30px;
    display: flex;
    gap: 5px;
    border-radius: 8px;
    border: 1px solid #333;
}

.house-county-and-limits {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}
.house-county-and-limits h4 {
    font-weight: bold;
    margin: 0;
}
.house-county-and-limits ul {
    padding: 0;
    margin: 0;
    font-weight: bold;
}
.house-county-and-limits ul li {
    display: inline-block;
}
@media only screen and (max-width: 1199px) and (min-width: 768px) {
    .house-county-and-limits{
        flex-direction: column;
        gap: 0;
    }
}

.house-gallery-modal {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.house-gallery-modal img {
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
.house-gallery-modal img:first-child {
    margin-top: 15px;
}
.house-gallery-modal img:last-child {
    margin-bottom: 15px;
}
@media (max-width: 768px) {
    .house-gallery {
        grid-template-columns: 1fr;
    }
    .house-gallery > a:first-child img {
        border-radius: 16px;
    }
    .house-gallery .thumbs {
        grid-template-columns: 1fr 1fr;
    }
}

.house-rating h4 {
    font-weight: bold;
}

.house-spaces .title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.house-spaces h4 {
    font-weight: bold;
}
.house-spaces ul {
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}
@media (max-width : 478px) {
    .house-spaces ul {
        grid-template-columns: 1fr;
    }
}
.house-spaces ul li {
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}
.house-spaces ul li > div > span:not(:first-child) {
    /*font-size: 0.9em;*/
    color: #5b5b5b;
}

.house-accommodations h4,
.house-activities h4 {
    font-weight: bold;
}
.house-accommodations ul,
.house-activities ul {
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}
@media (max-width : 478px) {
    .house-accommodations ul,
    .house-activities ul {
        grid-template-columns: 1fr;
    }
}
.house-accommodations ul li,
.house-activities ul li {
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}
.house-accommodations .warn,
.house-activities .warn {
    padding: 0.25rem 0.5rem;
    background-color: rgba(51,51,51,0.1);
    border-radius: 4px;
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}
.house-location .title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.house-location h4 {
    font-weight: bold;
}
.house-location .gmap {
    margin-bottom: 10px;
    width: 100%;
    height: auto;
    min-height: 470px;
    aspect-ratio: 16 / 10;
}

.booking-floating {
    position: sticky;
    top: 130px;
}
.booking-floating .box {
    border-radius: 12px;
    border: 1px solid rgb(221, 221, 221);
    padding: 24px;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 6px 16px;
    background-color: #fff;
}
.booking-floating .box a {
    width: 100%;
    padding: 12px 16px;
    text-wrap: wrap;
}
@media (max-width: 768px) {
    .booking-floating {
        position: fixed;
        top: initial;
        bottom: 0;
        width: 100%;
        padding: 0;
        z-index: 1;
        border-top: 1px solid rgb(221, 221, 221);
    }
    .booking-floating.animated {
        animation-iteration-count: 1;
        animation-name: none;
    }
    .booking-floating .box {
        border-radius: 0;
        box-shadow: none;
        padding: 12px;
        margin: 0;
    }
    .booking-floating .box h4 {
        text-align: center;
    }
    /*offset footer and sponsors*/
    body.house-page footer { 
        padding-bottom: 170px;
    }
    body.house-page footer:before {
        bottom: 106px;
    }
}
@media (max-width: 478px) {
    .booking-floating .box h4 {
        display: none;
    }
}
@media (min-width: 768px) {
    .HouseInfoModal .modal-dialog {
        width: 900px;
    }
} 

.house-actions {
    margin-bottom: 30px;
}
/* END House Content */

/* START Partners */
.partner-group:not(:last-child) {
    margin-bottom: 30px;
}
.partner-group h2 {
    margin-bottom: 15px;
    padding-bottom: 5px;
}
.partner-item {
    margin-bottom: 30px;
    padding: 15px;
    background-color: #fff;
    border: 1px solid transparent;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(122,131,78,1);
    -moz-box-shadow: 0px 0px 5px 0px rgba(122,131,78,1);
    box-shadow: 0px 0px 5px 0px rgba(122,131,78,1);
}
.partner-item:hover{
    border-color: #7a834e;
}
.partner-item img {
    width: 100%; 
    max-width: 500px;
    height: auto;
}
.partner-modal {}
.partner-modal img{
    width: 100%;
    max-width: 500px;
    height: auto;
}
.partner-modal a{
    color: #333;
}
.partner-modal a i.fa {
    float: right;
}
/* END Partners */

/* START: New House Search */
.search-wrapper {
    margin: 40px auto 20px auto;
    display: flex;
    flex-direction: column;
}
.search-wrapper .form-group {
    margin-bottom: 0;
}
.search-wrapper .search-criteria {
    background-color: #fff;
    border-radius: 60px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    display: flex;
    gap: 2px;
    align-items: center;
}
.search-wrapper .search-criteria .search-title {
    display: none;
    padding: 8px;
}
.search-wrapper .search-criteria .search-title h5 {
    font-size: 28px;
    font-weight: 600;
    text-align: center;
    color: rgb(0,57,42);
}
.search-wrapper .search-criteria .group {
    height: 100%;
    display: flex;
    align-items: stretch;
    padding: 8px 32px;
    cursor: pointer;
    border-radius: 60px;
    transition: background-color 0.2s ease;
}
.search-wrapper .search-criteria .group {
    flex-grow: 1;
    flex-shrink: 1;
}
.search-wrapper .search-criteria .group[data-group=Filter] {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: min-content;
}
.search-wrapper .search-criteria .group.with-button {
    justify-content: space-between;
    padding-right: 8px;
    padding-left: 8px;
}
.search-wrapper .search-criteria .group.with-button .buttons {
    display: flex;
    gap: 2px;
}
.row.search:not(.mobile-active) .search-wrapper .search-criteria .group.with-button .buttons .bt-close {
    display: none;
}
.search-wrapper .search-criteria .group.active {
    background-color: #f7f7f7;
}
.search-wrapper .search-criteria .group:hover {
    background-color: #ededed;
}
.search-wrapper .search-criteria .group .filter {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.search-wrapper .search-criteria .group .filter .filter-label {
    display: block;
    color: #222;
    font-weight: 600;
}
.search-wrapper .search-criteria .group.has-error.has-tooltip .filter .filter-label,
.search-wrapper .search-criteria .group .filter.has-error.has-tooltip .filter-label {
    color: #a94442;
}
.search-wrapper .search-criteria .group .filter .filter-value,
.search-wrapper .search-criteria .group .deck .filter-value{
    font-weight: normal;
    font-size: 15px;
    color: #717171;
    margin-top: 2px;
    outline: none;
    border: none;
    background-color: transparent;
    width: 100%;
}
.search-wrapper .search-criteria .group .deck .filter-value {
    border-bottom: 1px solid #ddd;
}
.row.search:not(.mobile-active) .search-wrapper .search-criteria .group .deck .filter-value {
    display: none;
}
.search-wrapper .search-criteria .group.has-error.has-tooltip .filter .filter-value,
.search-wrapper .search-criteria .group .filter.has-error.has-tooltip .filter-value {
    color: #a94442;
}
.search-wrapper .search-criteria .group .filter .bt-clear-group {
    background: transparent;
    border: 0;
    width: 28px;
    height: 28px;
    z-index: 95;
    position: absolute;
    top: calc(50% - 14px);
    right:0;
}
.search-wrapper .search-criteria .group .deck .title-and-close {
    display: none;
}
.search-wrapper .search-criteria .group .deck .title-and-close .btn {
    text-shadow: none;
    border-radius: 50%;
    border-color: #333;
    background-image: none;
    background-color: transparent;
    width: 32px;
    height: 32px;
    padding: 0;
}
.search-wrapper .search-criteria .group .deck .title-and-close > div {
    text-align: right;
    margin-bottom: 15px;
}
.search-wrapper .search-criteria .group .deck .deck-title-with-clear-bt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 28px;
}
.search-wrapper .search-criteria .group .deck .deck-title-with-clear-bt .bt-clear-group {
    background: transparent;
    border: 0;
    width: 28px;
    height: 28px;
}

.search-wrapper .search-criteria .group {
    position: relative; /* Needed for absolute positioning of the dropdown .deck */
    height: 72px;
}
.search-wrapper .search-criteria .group .deck {
    display: none;
    position: absolute;
    top: 110%;
    left: 0;
    right: 0;
    width: auto;
    height: auto;
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 24px 32px;
    z-index: 99;
    text-align: left;
    cursor: default;
    transition: max-height 0.2s ease-in-out;
}
@media only screen and (min-width: 992px) {
    .search-wrapper .search-criteria .group .deck.desktop-open-up {
        top: auto;
        bottom: 110%;
    }
}
.row.search .search-wrapper .search-criteria .group .deck {
    /*max-height: calc(100vh - 240px);*/
}
.row.search.without-header .search-wrapper .search-criteria .group .deck {
    max-height: calc(100vh - 100px);
}
.search-wrapper .search-criteria .group[data-group=Where] .deck {
    min-width: 345px;
}
.search-wrapper .search-criteria .group[data-group=Where] .deck,
.search-wrapper .search-criteria .group[data-group=CheckIn] .deck,
.search-wrapper .search-criteria .group[data-group=CheckOut] .deck {
    right: auto;
}
.search-wrapper .search-criteria .group[data-group=CheckIn] .deck,
.search-wrapper .search-criteria .group[data-group=CheckOut] .deck {
    height: auto !important;
}
.search-wrapper .search-criteria .group[data-group=Who] .deck,
.search-wrapper .search-criteria .group[data-group=Filter] .deck {
    left: auto;
}
.search-wrapper .search-criteria .group .deck h5 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 16px;
    font-weight: 600;
    color: #222;
}
.search-wrapper .search-criteria .group .deck ul {
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-x: auto;
    max-height: 300px;
}
.search-wrapper .search-criteria .group .deck ul li {
    display: flex;
    align-items: center;
    padding: 8px 0;
    cursor: pointer;
    border-radius: 8px;
    transition: background-color 0.2s ease;
    text-wrap: nowrap;
}
.search-wrapper .search-criteria .group .deck ul li.active {
    background-color: #f7f7f7;
}
.search-wrapper .search-criteria .group .deck ul li:hover {
    background-color: #ededed;
}
.search-wrapper .search-criteria .group .deck .icon {
    margin-right: 15px;
}
.search-wrapper .search-criteria .group .deck .icon i {
    text-align: center;
    font-size: 24px;
    width: 24px;
    height: 24px;
}
.search-wrapper .search-criteria .group .deck .icon img {
    width: 40px; /* Adjust image size as needed */
    height: 40px;
    border-radius: 6px;
    object-fit: cover;
}
.search-wrapper .search-criteria .group .deck .text {
    font-size: 15px;
    color: #222;
}
.search-wrapper .search-criteria .group .deck .text strong {
    display: block;
    font-weight: 600;
}
.search-wrapper .search-criteria .group .deck .text span {
    font-size: 14px;
    color: #717171;
}

.search-wrapper .search-criteria .group .deck .date-range {
    margin: auto;
    text-align: center;
}
.search-wrapper .search-criteria .group .deck .date-range > div {
    display: inline-block;
    margin: 10px;
}
.search-wrapper .search-criteria .group .deck .date-range .active,
.search-wrapper .search-criteria .group .deck .date-range .is-selected {
    background-color: #7a834e;
    color: white;
}
.search-wrapper .search-criteria .group .deck .date-range .is-selected:hover {
    background-color: #9da671 !important;
}
.search-wrapper .search-criteria .group .deck .date-range .is-between {
    border-radius: 0 !important;
    /*background-color: #5599d4;*/
    background-color: #9da671;
    color: white;
}
.search-wrapper .search-criteria .group .deck .date-range .is-between:hover {
    /*background-color: #204d74 !important;*/
    background-color: #7a834e;
}
.search-wrapper .search-criteria .group .deck .date-range .checkin-picker .active,
.search-wrapper .search-criteria .group .deck .date-range .checkout-picker .is-selected {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.search-wrapper .search-criteria .group .deck .date-range .checkout-picker .active,
.search-wrapper .search-criteria .group .deck .date-range .checkin-picker .is-selected {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.search-wrapper .search-criteria .group .deck .date-range .disabled {
    color: #d8d8d8 !important;
}

.search-wrapper .search-criteria .group .deck .guests {
    display: flex;
    gap: 16px;
    flex-direction: column;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item {
    display: flex;
    gap: 16px;
}

.search-wrapper .search-criteria .group .deck .guests .guest-item.with-age {
    flex-direction: column;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item.with-age > div {
    display: flex;
    gap: 16px;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item.with-age > div.age {
    flex-direction: column;
    gap: 8px;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item.with-age > div.age > h5 {
    font-weight: bold;
    margin: 0;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item.with-age > div.age > div {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item.with-age > div.age > div > select {
    border-color: #6a6a6a;
    color: #6a6a6a;
    background: transparent;
    padding: 4px 8px;
    border-radius: 2px;
    min-width: 84px;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item.with-age > div.age > div > select:focus {
    outline:none;
}

.search-wrapper .search-criteria .group .deck .guests .guest-item:not(:last-child) {
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item .guest-category {
    flex: 1;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item .guest-category .guest-label {
    font-weight: bold;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item .guest-category .guest-subtext {
    font-size: 15px;
    color: #717171;
    text-wrap: nowrap;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item .guest-counter {
    flex: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item .guest-counter .counter-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #6a6a6a;
    color: #6a6a6a;
    background-color: #fff;
    font-weight: bold;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item .guest-counter .counter-btn:hover {
    border-color: #333;
    color: #333;
}
.search-wrapper .search-criteria .group .deck .guests .guest-item .guest-counter .counter-value {
    min-width: 20px;
    text-align: center;
}

.search-wrapper .search-criteria .group[data-group=Filter] .deck h5 {
    margin-bottom: 4px;
}
.search-wrapper .search-criteria .group .deck .filter-group {
    display: flex;
    gap: 4px;
    flex-direction: column;
    max-height: 250px;
    max-height: calc(100vh - 350px);
    overflow-y: auto;
    overflow-x: hidden;
}
.search-wrapper .search-criteria .group .deck .filter-group:not(:last-child) {
    margin-bottom: 16px;
}
.search-wrapper .search-criteria .group .deck .filter-group .filter-item {
    text-wrap: nowrap;
}
.search-wrapper .search-criteria .group .deck .filter-group .filter-item input[type=checkbox] {
    margin: 0;
    padding: 0;
    accent-color: #7a834e;
    margin-right: 4px;
}

.search-wrapper .search-criteria .bt-search,
.search-wrapper .search-criteria .bt-filter,
.search-wrapper .search-criteria .bt-close {
    border-radius: 50%;
    height: 100%;
    width: auto;
    aspect-ratio: 1 / 1;
}
.search-wrapper .search-criteria .bt-search:focus,
.search-wrapper .search-criteria .bt-filter:focus {
    outline: none;
}
.search-wrapper .search-criteria .bt-search i,
.search-wrapper .search-criteria .bt-filter i {
    font-size: 22px;
}

@media only screen /*and (min-width: 992px)*/ and (max-width: 1199px) {
    .search-wrapper .search-criteria .group:first-child {
        padding-right: 16px;
    }
    .search-wrapper .search-criteria .group:not(:first-child):not(:last-child) {
        padding-left: 16px;
        padding-right: 16px;
    }
}
@media only screen and (min-width: 768px) {
    /*filters accommodations and spacetypes side by side*/
    .search-wrapper .search-criteria .group[data-group=Filter] .deck .deck-container {
        display: flex;
        gap: 15px;
    }
    .search-wrapper .search-criteria .group[data-group=Filter] .deck .deck-container .deck-group:first-child {
        border-right: 1px solid #dddddd;
    }
}
@media only screen and (min-width: 992px) {
    .bgallery .mobile-toggle {
        display: none;
    }
}
@media only screen and (max-width: 991px) {
    .bgallery {
        flex-direction: column;
    }
    .bgallery .mobile-toggle {
        flex: 1;
        display: flex;
        z-index: 99;
        position: fixed;
        left: -15px;
        right: -15px;
        bottom: 0;
    }
    .bgallery .mobile-toggle .btn {
        font-size: 18px;
        flex-basis: 100%;
        display: inline-flex;
        gap: 6px;
        justify-content: center;
        border: none;
        border-radius: 0;
        padding: 12px;
    }
    .bgallery .mobile-toggle .btn:focus {
        outline: none;
    }
    
    .search:not(.mobile-active) .search-wrapper {
        display: none;
    }
    .search.mobile-active .search-wrapper .search-criteria {
        flex-wrap: wrap;
        border-radius: 16px;
    }
    .search.mobile-active .search-wrapper .search-criteria .group {
        border-radius: 16px;
    }
    .search.mobile-active .search-wrapper .search-criteria .group,
    .search.mobile-active .search-wrapper .search-criteria .group:first-child,
    .search.mobile-active .search-wrapper .search-criteria .group:not(:first-child):not(:last-child) {
        padding: 8px 12px;
    }
    .search.mobile-active .search-wrapper .search-criteria .group[data-group=Filter] {
        padding-right: 8px;
    }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
    .search.mobile-active .search-wrapper .search-criteria .group[data-group=Where] {
        flex-basis: 100%;
    }
}
@media only screen and (min-width: 450px) and (max-width: 767px) {
    .search.mobile-active .search-wrapper .search-criteria .group[data-group=Where] {
        flex-basis: 100%;
    }
    .search.mobile-active .search-wrapper .search-criteria .group[data-group=CheckIn],
    .search.mobile-active .search-wrapper .search-criteria .group[data-group=CheckOut]{
        flex-basis: 49%;
    }
}
@media only screen and (max-width: 767px) {
    .search-wrapper .search-criteria .group[data-group=Who] .deck {
        left: 0;
        right: auto;
    }
}
@media only screen and (max-width: 767px /*449px*/) {
    .datepicker-inline {
        width: auto;
    }
    
    .search-wrapper .search-criteria {
        gap: 6px;
    }
    .search-wrapper .search-criteria .search-title {
        display: block;
    }
    .search.mobile-active .search-wrapper .search-criteria {
        border-radius: 0;
    }
    .search.mobile-active .search-wrapper .search-criteria .group[data-group=Where],
    .search.mobile-active .search-wrapper .search-criteria .group[data-group=CheckIn],
    .search.mobile-active .search-wrapper .search-criteria .group[data-group=CheckOut]{
        flex-basis: 100%;
    }
    .search-wrapper .search-criteria .group.with-button .buttons {
        gap: 6px;
    }
    .search-wrapper .search-criteria .bt-search,
    .search-wrapper .search-criteria .bt-filter,
    .search-wrapper .search-criteria .bt-close {
        width: 50px;
        height: 50px;
    }
    
    /*group overrides and .deck*/
    .search-wrapper .search-criteria .group[data-group=Where] .deck,
    .search-wrapper .search-criteria .group[data-group=CheckIn] .deck,
    .search-wrapper .search-criteria .group[data-group=CheckOut] .deck,
    .search-wrapper .search-criteria .group[data-group=Who] .deck,
    .search-wrapper .search-criteria .group[data-group=Filter] .deck,
    .search-wrapper .search-criteria .group .deck {
        border-radius: 0;
        box-shadow: none;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        box-shadow: none;
    }
    .search-wrapper .search-criteria .group .deck,
    .row.search.without-header .search-wrapper .search-criteria .group .deck {
        max-height: none;
    }
    .search-wrapper .search-criteria .group .deck h5 {
        font-size: 20px;
    }
    .search-wrapper .search-criteria .group .deck .title-and-close {
        display: block;
    }
    .search-wrapper .search-criteria .group .deck ul {
        max-height: calc(100vh - 155px);
    }
    .search-wrapper .search-criteria .group .deck .datepicker table tr td,
    .search-wrapper .search-criteria .group .deck .datepicker table tr th {
        width: 50px;
        height: 50px;
    }
    
    .search.mobile-active .search-wrapper .search-criteria .group[data-group=Who],
    .search.mobile-active .search-wrapper .search-criteria .group[data-group=Filter]{
        flex-basis: 100%;
    }
    .search-wrapper .search-criteria .group[data-group=Filter] .deck .deck-container {
        display: flex;
        gap: 15px;
        flex-direction: column;
    }
    .search-wrapper .search-criteria .group .deck .filter-group {
        max-height: calc((100vh / 2) - 110px);
    }
    
    .search-wrapper .search-criteria{
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        align-content: flex-start;
        padding: 12px;
    }
}
/*   END: New House Search */

/* START Floating House Search (after slideshow) */
.floating-search:not(.unfloat) {
    position: absolute;
    right: 0;
    bottom: 30px;
    left: 0;
    z-index: 1;
}
.floating-search .mobile-search {
    text-align: center;
    display: none;
}
.floating-search .mobile-search .btn {
    font-size: 24px;
    border:0;
}
@media only screen and (max-width : 991px) {
    .floating-search .mobile-search {
        display: block;
    }
    .floating-search ul.filter {
        display: none;
    }
}
/* END OF Floating House Search*/

/* START House Filter*/
ul.filter {
    background-color: #dcdcdc;
    margin: 0;
    padding: 5px 10px;
    font-size: 0;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
ul.filter.floating{
    position: absolute;
    z-index: 1;
}
ul.filter li {
    display: inline-block;
    flex-grow: 3;
    margin:0 0 0 0;
    padding: 5px 0;
    font-size: 16px;
}
ul.filter li.title {
    flex-grow: 0;
    padding-right: 10px;
    line-height: 2.1em;
}
ul.filter li .form-control {
    border-radius: 0;
    display: inline-block;
    min-width: 150px;
    width: 100%
}
ul.filter li .twitter-typeahead {
    border-radius: 0;
    min-width: 150px;
    width: 100%
}
ul.filter li.buttons {
    flex-grow: 1;
}
ul.filter li.buttons .btn {
    width: 100%;
    border-radius: 0;
    display: inline-block;
    height: 34px;
}
ul.filter li:not(:last-child) .form-control {
    border-right: none;
}
ul.filter li .twitter-typeahead .tt-menu {
    right: 0;
    height: auto;
    min-height: 0;
    max-height: 354px;
    overflow-y: auto;
    background-color: #fff;
    border: 1px solid #ccc;
    font-size: 0.9em;
}
ul.filter li .twitter-typeahead .tt-input,
ul.filter li .twitter-typeahead .tt-menu .tt-dataset > .tt-suggestion {
    text-transform: uppercase;
}
ul.filter li .twitter-typeahead .tt-menu .tt-dataset > .tt-suggestion {
    padding: 5px 10px;
    z-index: 200; 
}
ul.filter li .twitter-typeahead .tt-menu .tt-dataset > .tt-suggestion:hover {
    background-color: #ccc;
    cursor: pointer;
}
ul.filter li .twitter-typeahead .tt-menu.tt-open.top {
    top: auto !important;
    bottom: 100%
}
ul.filter li .twitter-typeahead .tt-hint {
    z-index: inherit;
}
/* End house search section*/

section .bgallery {}
.bgallery .row.search {
    z-index: 97;
    position: sticky;
    top: 70px;
    transition: top 0.2s ease-in-out;
}
.bgallery .row.search.without-header {
    top: -30px;
}
.bgallery .list {}
.bgallery .list .please-wait,
.bgallery .list .empty {
    min-height: calc(100vh - 730px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media only screen and (max-width: 991px){
    .bgallery .list .please-wait,
    .bgallery .list .empty {
        min-height: calc(100vh - 180px);
    }
}
.bgallery .list .please-wait > div,
.bgallery .list .empty > div {
    padding: 15px 30px;
    border-radius: 60px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
@media only screen and (max-width: 991px) {
    .bgallery .list .please-wait > div,
    .bgallery .list .empty > div {
        border-radius: 16px;
    }
}
.bgallery .list .please-wait > div {
    font-size: 15px;
    color: #717171;
    background-color: #fff;
}
.bgallery .list .please-wait .spinner {
    margin: 0;
}
.bgallery .list .empty > div {
    color: #fff;
    background-color: #dd6969;
}
@media only screen and (max-width: 991px) {
    .bgallery .list .empty > div {
        border-radius: 16px;
    }
}
.bgallery .list .house {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-top: 15px;
    padding-bottom: 15px;
}
.bgallery .list .house:not(.active) {
    display: none;
}
.bgallery .list .house .img {
    object-fit: cover;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.bgallery .list .house .img,
.bgallery .list .house .img-gallery {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
}
.bgallery .list .house .img,
.bgallery .list .house .img-gallery .carousel .carousel-inner {
    border-radius: 12px;
}
.bgallery .list .house .img,
.bgallery .list .house .img-gallery .carousel .carousel-inner {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.bgallery .list .house .img-gallery .carousel .carousel-indicators > li:not(.visible) {
    display: none;
}
.bgallery .list .house .img-gallery .carousel .carousel-control {
    background-image: none;
    filter: none;
}
.bgallery .list .house .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: #717171;
}
.bgallery .list .house .content .left {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.bgallery .list .house .content .left a {
    text-decoration: none;
    color: #717171;
}
.bgallery .list .house .content .left h5 {
    font-weight: 600;
    font-size: 16px;
    color: #222;
    margin: 0;
}
.bgallery .list .house .content .right {
    flex: 0;
}

/*
.bgallery {}
.bgallery .item-wrapper {
    padding-bottom: 15px;
    padding-top: 15px;
}
.bgallery .item-wrapper a {
    text-decoration: none;
}
.bgallery .item-wrapper.empty-search-result {
    color: #fff;
    background-color: #dd6969;
}
.bgallery .item {
    width: 100%;
    height: 260px;
    background-size: cover;
    background-position: center center;
    padding: 10px;
    display: table;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.bgallery .item > div {
    width: 100%;
    display: table-cell;
    vertical-align: bottom;
    padding-right: 80px;
}
.bgallery .item h1 {
    margin: 0;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 24px;
    line-height: 22px;
}
.bgallery .item h1,
.bgallery .item p {
    color: #fff;
    text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
}
.bgallery .item-wrapper .link {
    float: left;
    margin-top: 15px;
    width: 100px;
    text-align: center;
    border: 1px solid #333;
    position: absolute;
    right:0;
    bottom: 0;
}
.bgallery .item-wrapper .link:hover {
    border-color: #353a18;
}*/
.bgallery .map {
    margin-top: 15px;
}
.bgallery .map > div:first-child {
    min-height: calc(100vh - 250px);
    padding: 0;
}
.bgallery .map .house-gmap {
    min-height: 370px;
    position: absolute;
    width: 100%; height: 100%;
    padding: 0 15px;
}
/* END House Showcase*/

/* START Region Showcase */
.rgallery {}
.rgallery .item-wrapper {
    padding-bottom: 15px;
    padding-top: 15px;
}
.rgallery .item-wrapper.empty-search-result {
    color: #fff;
    background-color: #dd6969;
}
.rgallery .item-wrapper:not(.active) {
    display: none;
}
.rgallery .item {
    width: 100%;
    height: 312px;
    background-size: cover;
    background-position: center center;
    padding: 10px;
    display: table;
    cursor: default;
    border: 1px solid #333;
}
.rgallery .col-md-4 .item {
    height: 219px;
}
.rgallery .item:hover {}
.rgallery .item > div {
    width: 100%;
    display: table-cell;
    vertical-align: bottom;
    padding-right: 80px;
}
.rgallery .item h1 {
    margin: 0;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 24px;
    line-height: 22px;
}
.rgallery .item h1,
.rgallery .item p {
    color: #fff;
    text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
}
.rgallery .item a {
    float: left;
    margin-top: 15px;
    width: 100px;
    text-align: center;
    border: 1px solid #333;
    position: absolute;
    right:0;
    bottom: 0;
}
.rgallery .item a:hover {
    border-color: #353a18;
}
/* END Region Showcase */

/* START Theme button*/
.btn-theme {
    /*
    letter-spacing: 0.1em;
    font-weight: 100;
    color: #fff;
    text-shadow:none;
    text-align: center;
    border-radius: 0;
    background-image: -webkit-linear-gradient(top,#9da671 0,#7a834e 100%);
    background-image: -o-linear-gradient(top,#9da671 0,#7a834e 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#9da671),to(#7a834e));
    background-image: linear-gradient(to bottom,#9da671 0,#7a834e 100%);
    border-color: #9da671;*/
}
.btn-theme > i.fa,
.btn-theme > i.glyphicon {
    font-size: 22px;
}
.btn-theme.book-now {
    padding: 7px 5px;
}
.btn-theme.book-now > img {
    height: 26px; width: auto;
}
.btn-theme:focus, .btn-theme:hover {
    color: #fff;
    text-shadow:none;
    background-color: #7a834e;
    background-image: -webkit-linear-gradient(top,#9da671 0,#7a834e 100%);
    background-image: -o-linear-gradient(top,#9da671 0,#7a834e 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#9da671),to(#7a834e));
    background-image: linear-gradient(to bottom,#9da671 0,#7a834e 100%);
}
.btn-theme.active, .btn-theme:active, .btn-theme:active:hover, .btn-theme.active:hover, .btn-theme.active.focus, .btn-theme.active:focus, .btn-theme.active:hover, .btn-theme:active.focus, .btn-theme:active:focus, .btn-theme:active:hover{
    color: #fff;
    text-shadow:none;
    background-color: #7a834e;
    border-color: #dbdbdb;
    background-image: -webkit-linear-gradient(top,#9da671 0,#7a834e 100%);
    background-image: -o-linear-gradient(top,#9da671 0,#7a834e 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#9da671),to(#7a834e));
    background-image: linear-gradient(to bottom,#9da671 0,#7a834e 100%);
}
.btn-large {
    font-size: 18px;
}
/* END Theme button*/

/* START Modal*/
.modal-gmap {
    height: 100%;
}
.modal {
  text-align: center;
}
.modal .close.rounded {
    padding: 2px 8px;
    background: #fff;
    opacity: 1;
    border-radius: 50%;
    border: 1px solid #595959;
}
.modal .close.rounded.fixed {
    position: fixed;
    right: 15px;
    top: 15px;
    z-index: 9999;
}
.modal.full-screen .close.rounded.fixed {
    right: 30px;
}
.modal.max-size .modal-dialog{
    width: 90%;
    height: 90%;
    margin: 0;
    padding: 0;
}
.modal.max-size .modal-content{
    height: auto;
    min-height: 100%;
    border-radius: 0;
}
.modal.max-size .modal-body {
    overflow-y: auto;
    height: calc(100vh - 150px);
}
.modal.full-screen .modal-dialog {
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
.modal.full-screen .modal-content{
    height: auto;
    min-height: 100%;
    border-radius: 0;
}
.modal.full-screen .modal-body {
    overflow-y: auto;
    height: calc(100vh - 127px);
}
.modal.full-screen.without-header .modal-body,
.modal.full-screen.without-footer .modal-body {
    overflow-y: auto;
}
.modal.full-screen.without-footer .modal-body {
    height: calc(100vh - 63px);
}
.modal.full-screen.without-footer.without-header .modal-body {
    height: calc(100vh - 5px);
}
@media screen and (min-width: 768px) { 
  .modal:before {
    display: inline-block;
    vertical-align: middle;
    content: " ";
    height: 100%;
  }
}
.modal .modal-dialog {
    display: inline-block;
    text-align: left;
    vertical-align: middle;  
    min-width: 300px;
}
.modal:not(.full-screen) .modal-dialog {
    max-width: 90%;
}
.message-area.has-error, 
.nav-tabs>li.has-error:not(.active) > a{
    background-color: #a94442;
    color: #fff;
}
.has-error .slider-handle {
    background-color: red;
    background-image: linear-gradient(to bottom,#ff0000 0,#a94442 100%);
}
/* END Modal*/

/* START Who we are section */
section.who-we-are{
    text-align: justify;
}
section.region .region-quote {
    font-size: 22px;
    text-align: center;
}
section.who-we-are .who-we-are-quote,
section.solares-de-portugal .who-we-are-quote {
    font-size: 52px;
    text-align: left;
}
section.who-we-are .who-we-are-quote,
section.solares-de-portugal .who-we-are-quote,
section.region .region-quote {
    font-family: 'Proforma-SemiBoldItalic', 'Roboto Condensed', sans-serif;
    line-height: 1.1em;
    color: #545f26;
    text-shadow: 1px 1px 1px rgba(150, 150, 150, 1);
}
section.who-we-are .who-we-are-text {
    margin-top: 30px;
    margin-bottom: 30px;
}
/* END Who we are section */

.TypeShowcase {
    min-height: 100%;
    min-height: calc(100vh - 195px);
    min-height: calc(100vh - 215px);
    display: flex;
    align-items: center;
}
.TypeShowcase ul {
    padding: 0 40px;;
    margin: 0;
}
.TypeShowcase ul li {
    list-style-type: none;
    animation-duration: 0.25s;
}
@media (min-width: 992px) {
    .TypeShowcase ul li.active > .row,
    .gift-cards, 
    .gift-cards > .container > .row,
    .partnership > .container > .row {
        display: flex;
        align-items: center;
    }
}
@media (max-width: 991px) {
    .TypeShowcase ul li .who-we-are-quote {
        margin-bottom: 15px;
    }
    .gift-cards > .container > .row > div:first-child {
        margin-bottom: 15px;
    }
    .gift-cards > .container > .row > div > h1 {
        text-align: center;
    }
}
.TypeShowcase ul li:not(.active) {
    display: none;
}
.TypeShowcase .bt-left,
.TypeShowcase .bt-right {
    z-index: 1;
    color: #333;
    font-size: 52px;
    position: absolute;
    top:50%;
    margin-top: -26px;
}
.TypeShowcase .bt-right {
    right: 0;
}
.TypeShowcase .row.vertical-center {
    /*flex-wrap: wrap;*/
}

/* START House item/Itinerary item*/
body.house-bg,
body.house-bg section {
    background-color: #f9f9f9;
}
.slideshow-section.house,
.slideshow-section.region,
.slideshow-section.county,
.slideshow-section.itinerary
.slideshow-section.house #Slideshow,
.slideshow-section.region #Slideshow,
.slideshow-section.itinerary #Slideshow{
    
}
section.slideshow-section.house,
section.slideshow-section.house #Slideshow .item,
section.slideshow-section.region,
section.slideshow-section.region #Slideshow .item,
section.slideshow-section.county,
section.slideshow-section.county #Slideshow .item,
section.slideshow-section.itinerary,
section.slideshow-section.itinerary #Slideshow .item{
    min-height: 56.25vh;
    height: 50vh;
    height: calc(50vh - 50px);
    
    min-height: calc(100vh - 175px);
    height: 100vh;
    height: calc(100vh - 175px);
}
section.slideshow-section.house #Slideshow .item .img,
section.slideshow-section.region #Slideshow .item .img,
section.slideshow-section.county #Slideshow .item .img,
section.slideshow-section.itinerary #Slideshow .item .img{
    display: table;
}
section.slideshow-section.house #Slideshow .item .img > div,
section.slideshow-section.region #Slideshow .item .img > div,
section.slideshow-section.county #Slideshow .item .img > div,
section.slideshow-section.itinerary #Slideshow .item .img > div{
    display: table-cell;
    vertical-align: bottom;
    color: #fff;
    text-shadow: 3px 3px 10px rgba(0, 0, 0, 1);
    
    padding-bottom: 15px;
}
section.slideshow-section.house #Slideshow .item h2,
section.slideshow-section.region #Slideshow .item h2,
section.slideshow-section.county #Slideshow .item h2,
section.slideshow-section.itinerary #Slideshow .item h2{
    text-transform: uppercase;
    font-weight: bolder;
    margin-bottom: 0;
}
section.slideshow-section.house #Slideshow .item p,
section.slideshow-section.region #Slideshow .item p,
section.slideshow-section.county #Slideshow .item p,
section.slideshow-section.itinerary #Slideshow .item p {
    margin-bottom: 20px;
}
section.slideshow-section.house .carousel-indicators,
section.slideshow-section.region .carousel-indicators,
section.slideshow-section.county .carousel-indicators,
section.slideshow-section.itinerary .carousel-indicators{
    display: none;
}
section.house-content,
section.region-content,
section.county-content,
section.itinerary-content{
    min-height: 0;
}
section.region-content .region-img,
section.county-content .county-img {
    height: auto;
    width: 100%;
    max-width: 570px;
    margin: 0 0 15px 15px;
    float: right;
}
section#regiao .full-width img,
section#region .full-width img,
section.region-content .region-img,
section.county-content .county-img {
    border: 1px solid #333;
}
@media (max-width: 991px) {
    section.region-content .region-img,
    section.county-content .county-img {
        max-width: none;
        margin: 0 0 15px 0;
        float:none;
    }
}
section.house-content .book-now,
section.itinerary-content .book-now,
section.itinerary-content .itinerary-show-more{}
section.house-content .house-intro,
section.house-content .house-description,
section.region-content .region-text,
section.section-content .section-text,
section.itinerary-content .house-intro,
section.itinerary-content .house-description{
    text-align: justify;
}
section.house-content .house-actions,
section.itinerary-content .itinerary-actions{
    padding-bottom: 15px;
}
section.region-content .region-actions{
    padding-bottom: 50px;
}
section.house-content .house-actions i.glyphicon.glyphicon-pushpin,
section.region-content .region-actions i.glyphicon.glyphicon-pushpin,
section.county-content .region-actions i.glyphicon.glyphicon-pushpin,
section.itinerary-content .itinerary-actions i.glyphicon.glyphicon-pushpin{
    transform: rotate(-90deg);
}
section.house-content .house-actions .btn-theme,
section.region-content .region-actions .btn-theme,
section.county-content .county-actions .btn-theme,
section.itinerary-content .itinerary-actions .btn-theme{
    min-height: 42px;
    margin-bottom: 5px;
}
section.house-content .house-actions .btn-theme {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
section.house-content .house-actions .btn-theme:not(:last-child),
section.itinerary-content .itinerary-actions .btn-theme:not(:last-child){
    margin-right: 5px;
}
section.house-content .house-description,
section.itinerary-content .itinerary-description{
    height: 0;
    margin-top: 20px;
    border-top: 2px solid #e6e6e6;
}
section.house-content .house-description:not(.active),
section.itinerary-content .itinerary-description:not(.active){
    overflow: hidden;
    border-top-color: transparent;
}
/*section.house-content .house-intro,
section.house-content .house-description.active,*/
section.itinerary-content .itinerary-intro,
section.itinerary-content .itinerary-description.active,
section.itinerary-content .itinerary-space,
section.itinerary-content .house-accommodation{
    padding-top: 15px; padding-bottom: 15px;
}
section.house-content .house-space,
section.house-content .house-accommodation {
    padding-top: 4px; padding-bottom: 4px;
}
section.house-content .house-space,
section.house-content .house-accommodation,
section.itinerary-content .itinerary-space,
section.itinerary-content .house-accommodation{
    background-color: #e6e6e6;
}
section.house-content .house-space ul {
    padding: 0;
}
section.house-content .house-space ul li {
    list-style-type: none;
}
section.house-content .star-rating {
    margin-bottom: 5px;
}
section.house-content .star-rating i{
    font-size: 30px;
    letter-spacing: 5px;
    color: #deb043;
    color: #79834e;
    text-shadow: 0px 0px 0px #333;
}
section.house-content .house-accommodation ul,
section.itinerary-content .house-accommodation ul{
    padding: 0;
}
section.house-content .house-accommodation ul li,
section.itinerary-content .house-accommodation ul li{
    display: inline-block; 
    padding: 3px 0;
    line-height: 1.1em;
    width: 100%;
}
section.house-content .house-accommodation ul li.half-width,
section.itinerary-content .house-accommodation ul li.half-width {
    width: 49%;
}
@media only screen and (max-width : 390px) {
    section.house-content .house-accommodation ul li.half-width,
    section.itinerary-content .house-accommodation ul li.half-width {
        width: 100%;
    }
}
section.house-content .house-accommodation ul li.half-width:nth-child(1n),
section.itinerary-content .house-accommodation ul li.half-width:nth-child(1n) {
    /*float: left;*/
}
section.house-content .house-accommodation ul li.half-width:nth-child(2n),
section.itinerary-content .house-accommodation ul li.half-width:nth-child(2n) {
    /*float: right;*/
}
section.house-content .house-accommodation ul li img{
    height: 24px; width: auto;
    margin-top: -3px;
}
section.itinerary-content .itinerary-space a {
    color: #333;
}
section.house-content .share-icons,
section.region-content .share-icons,
section.county-content .share-icons,
section.itinerary-content .share-icons{
    background-color: #424242;
    position: absolute;
    margin-top: 10px;
    padding: 5px;
    z-index: 1;
}
section.house-content .share-icons {
    margin-top: 3px;
}
section.itinerary-content .share-icons {
    left: 120px;
}
section.house-content .share-icons:not(.active),
section.region-content .share-icons:not(.active),
section.county-content .share-icons:not(.active),
section.itinerary-content .share-icons:not(.active){
    display: none;
}
section.house-content .share-icons.active:before,
section.region-content .share-icons.active:before,
section.county-content .share-icons.active:before,
section.itinerary-content .share-icons.active:before{
    content: '';
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #424242;
    position: absolute;
    top: -7px;
    left: 12px;
}
section.house-content .share-icons a,
section.region-content .share-icons a,
section.county-content .share-icons a,
section.itinerary-content .share-icons a{
    font-size: 26px;
    color: #fff;
    padding: 0 5px;
}
section.house-content .share-icons a:hover,
section.region-content .share-icons a:hover,
section.county-content .share-icons a:hover,
section.itinerary-content .share-icons a:hover {
    color: #cccccc;
}
/* END House item/Itinerary item*/

.partnership-quote {
    font-family: 'STXingkai', 'Roboto Condensed', sans-serif;
    font-size: 34px;
    line-height: 1.1em;
    color: #545f26;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(150, 150, 150, 1);
}

/* START Modals */
section.gift-cards {
    text-align: justify;
}
section.gift-cards .gift-card-quote {
    font-family: 'STXingkai', 'Roboto Condensed', sans-serif;
    font-size: 40px;
    line-height: 1.1em;
    color: #545f26;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(150, 150, 150, 1);
}
section.gift-cards .gift-card-text {
    margin-top: 30px;
    margin-bottom: 30px;
}
.modal .modal-header,
.modal .modal-footer{
    border:none;
}
.modal .modal-content {
    border-radius: 0;
    font-size: 0.9em;
}
.modal .nav-tabs {
    border-bottom-color: #7a834e;
}
.modal .nav-tabs>li.active>a,
.modal .nav-tabs>li.active>a:focus,
.modal .nav-tabs>li.active>a:hover,
.modal .nav-tabs>li>a:hover{
    border-top-color: #7a834e;
    border-right-color: #7a834e;
    border-left-color: #7a834e;
    background-image: url(../img/mask.png);
    background-color: #f7f7f7;
    color: #333;
}
.modal .nav-tabs>li.active:nth-child(1)>a,
.modal .nav-tabs>li.active:nth-child(1)>a:focus,
.modal .nav-tabs>li.active:nth-child(1)>a:hover,
.modal .nav-tabs>li:nth-child(1)>a:hover{
    background-position-x: 1px;
}
.modal .nav-tabs>li.active:nth-child(2)>a,
.modal .nav-tabs>li.active:nth-child(2)>a:focus,
.modal .nav-tabs>li.active:nth-child(2)>a:hover,
.modal .nav-tabs>li:nth-child(2)>a:hover{
    background-position-x: 3px;
}
.modal .nav-tabs>li.active:nth-child(3)>a,
.modal .nav-tabs>li.active:nth-child(3)>a:focus,
.modal .nav-tabs>li.active:nth-child(3)>a:hover,
.modal .nav-tabs>li:nth-child(3)>a:hover{
    background-position-x: 5px;
}
.modal .nav-tabs>li.active:nth-child(4)>a,
.modal .nav-tabs>li.active:nth-child(4)>a:focus,
.modal .nav-tabs>li.active:nth-child(4)>a:hover,
.modal .nav-tabs>li:nth-child(4)>a:hover{
    background-position-x: 6px;
}
.modal .nav-tabs>li.active:nth-child(5)>a,
.modal .nav-tabs>li.active:nth-child(5)>a:focus,
.modal .nav-tabs>li.active:nth-child(5)>a:hover,
.modal .nav-tabs>li:nth-child(5)>a:hover{
    background-position-x: 7px;
}
.modal .section-title,
.modal .nav-tabs a{
    color: #7a834e;
}
.modal .tab-content {
    padding: 10px;
    border-left: 1px solid #7a834e;
    border-right: 1px solid #7a834e;
    border-bottom: 1px solid #7a834e;
    min-height: 400px;
    background-color: #f7f7f7;
    background-image: url(../img/mask.png);
}
.modal label {
    font-weight: normal;
}
.modal .help {
    font-weight: 100;
    font-size: 0.95em;
}
.modal p.help {
    display: none;
}
.modal .form-control
.modal .btn{
    border-radius: 0;
}
/* END Modals */

/* START Slider tunning*/
.slider.slider-horizontal{
    width: 100%;
}
.slider .slider-track-high {
    background-color: rgba(0,0,0,0.5);
}
.slider .slider-selection {
    background-color: #7a834e;
    background-image: -webkit-linear-gradient(top,#7a834e 0,#9da866 100%);
    background-image: -o-linear-gradient(top,#7a834e 0,#9da866 100%);
    background-image: linear-gradient(to bottom,#7a834e 0,#9da866 100%);
    background-repeat: repeat-x;
}
/* END Slider tunning*/

/* Solares de Portugal Modal */

/* START Gift Card*/

#GiftCardBuy .SlideValue {
    font-weight: bold;
}
/* END Gift Card*/

/* START Itinerary section*/
body.itinerary-bg,
body.itinerary-bg section{
    background-color: #f9f9f9;
}
.itinerary-item {
    font-size: 0.85em;
    background-color: #e6e6e6;
    padding: 15px;
    border: 1px solid #434343;
}
.itinerary-item img {
    width: 100%; height: auto;
}
.itinerary-item p:last-child {
    margin-bottom: 0;
}
.itinerary-item a.btn-theme {
    position: absolute;
    bottom: 15px; right: 30px;
}
/* END Itinerary section*/

/* START Contacts section */
section.contact-map {
    min-height:0;
    padding: 0;
    height: 300px;
}
section.contact-map > div {
    width: 100%; height: 100%;
}
section.contact-content {
    /*change this as you change header or 
    section.contact-map height calc(100vh - (section.contact-map height + header height)) */
    min-height: calc(100vh - 410px);
    text-align: justify;
}
section.contact-content .contact-form {
    padding: 15px 0;
    background-color: rgba(0,0,0,0.03);
}
section.contact-content .contact-form input{
    border-radius: 0;
}
#contact-form label {
    font-weight: bold;
}
/* END Contacts section*/

/* Scroll top */
.scrollTop {
    position: fixed;
    right: 20px;
    bottom: 45px;
    font-size: 38px;
    z-index: 9999;
    border-radius: 50%;
    padding: 0px 8px 4px 8px;
    color: #fff;
    background-color: #211d1d;
}
.scrollTop:hover {
    color: #79834e;
}
/* START Footer */
footer {
    color: #fff;
    border-top: 5px solid #838f47;
    /*background-color: #313131;*/
    width: 100%;
    min-height: 240px;
    position: absolute;
    padding-bottom: 70px;
    padding-top: 20px;
    
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#333333+0,5e5e5e+32,a0a0a0+57,ffffff+88 */
    /*background: #333333;
    background: -moz-linear-gradient(top, #333333 0%, #5e5e5e 32%, #a0a0a0 57%, #ffffff 88%);
    background: -webkit-linear-gradient(top, #333333 0%,#5e5e5e 32%,#a0a0a0 57%,#ffffff 88%);
    background: linear-gradient(to bottom, #333333 0%,#5e5e5e 32%,#a0a0a0 57%,#ffffff 88%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#333333', endColorstr='#ffffff',GradientType=0 );*/
    background-color: rgb(55,55,55);
}
footer:before {
    content: ' ';
    position: absolute;
    bottom: 0;left: 0;
    width: 100%; height: 60px;
    background-color: #fff;
    background-image: url(../images/footer/Sponsors.png);
    background-repeat: no-repeat;
    background-position: center center;
}
@media (max-width : 710px) {
    footer:before {
        background-size: 95% auto;
    }
}
footer img {
    width: 100%; height: auto;
}
footer .content {
    /*display: table;*/
    font-weight: 400;
}
footer .content > .row {
    display: flex;
    flex-flow: row wrap;
}
footer .content > .row > div {
    display: flex;
    flex-direction: column;
    flex-grow: 2;
    flex-wrap: wrap;
    align-items: center;
    padding: 15px;
}
footer .content > .row > div.invisible-flex {
    display: none;
    flex-grow: 1;
}
footer .content > .row > div:not(:first-child){
    margin-bottom: 15px;
}
footer .content > .row > div h1:first-child,
footer .content > .row > div h2:first-child,
footer .content > .row > div h3:first-child,
footer .content > .row > div h4:first-child,
footer .content > .row > div h5:first-child,
footer .content > .row > div h6:first-child {
    margin-top: 0;
}
footer .content h1 {
    font-size: 24px;
    text-transform: uppercase;
}
footer .content a {
    color: #fff;
    font-weight: 100;
    font-size: 14px;
}
footer .content ul {
    list-style: none;
    padding: 0;
}
footer .content ul li {
    border-bottom: 1px solid #fff;
}
footer .content ul li:hover {
    border-bottom-color: #7a834e;
}
footer .content ul li:not(:last-child){
    margin-bottom: 10px;
}
footer .content a:hover {
    color: #7a834e;
    text-decoration: none;
}
footer .content > .row > div.Turihab img {
    /*width: 100px;*/
    width: 100%;
}
footer .content > .row > div.Location {
    min-width: 260px;
    font-weight: 100;
    line-height: 25px;
    font-size: 14px;
}
footer .content > .row > div.BookAndSocial {
    align-items: flex-start;
}
footer .content > .row > div.BookAndSocial a {
    color: #000;
    text-decoration: none;
    display: inline-block;
}
footer .content > .row > div.BookAndSocial a:not(:last-child) {
    margin-right: 5px;
}
footer .content > .row > div.BookAndSocial a > img {
    max-width: 40px;
}
footer .content > .row > div.BookAndSocial a:hover {
    opacity: 0.9;
}
footer .content > .row > div.BookAndSocial a:not(:last-child){
    margin-bottom: 10px;
}
footer .content > .row > div.BookAndSocial .book .tit {
}
footer .content > .row > div.BookAndSocial .book .fa {
    font-size: 24px;
    margin-right: 7px;
}
footer .content > .row > div.BookAndSocial .book .phone {
    margin-bottom: 30px;
}
footer .content > .row > div.BookAndSocial .book .phone,
footer .content > .row > div.BookAndSocial .book .phone a {
    font-size: 22px;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
}
footer .content > .row > div.BookAndSocial .book .phone p:not(:first-child) {
    font-size: 11px;
    font-weight: lighter;
}
@media (max-width : 768px) {
    footer .content > .row > div.Turihab{
        display:none;
    }
}
@media (max-width:991px) and (min-width:479px) {
    footer .content > .row > div.Terms {
        align-items: flex-start;
    }
    footer .content > .row > div.Regions {
        align-items: flex-end;
    }
    footer .content > .row > div.Location {
        align-items: flex-start;
    }
    footer .content > .row > div.BookAndSocial {
        align-items: flex-end;
    }   
}
@media (max-width:1199px) {
    footer .content > .row > div.BookAndSocial {
        align-items: center;
    }
}
@media (max-width:478px) {
    footer .content > .row > div {
        width: 100%;
    }
    footer .content > .row > div.Terms > div,
    footer .content > .row > div.Stays > div,
    footer .content > .row > div.Regions > div {
        min-width: 260px;
    }
    footer .content > .row > div.BookAndSocial {
        align-items: center;
    }
}
footer div.copyright-text{
    font-size: 11px;
    font-weight: 100;
}
footer div.developed {
    position: absolute;
    bottom: 0;
    right: 0;
}
footer div.developed img {
    max-height: 30px; width: auto;
}
footer div.developed a {
    color: #000;
    font-size: 42px;
    line-height: 60px;
    text-decoration: none;
    opacity: 0.7;
}
footer div.developed a:hover{
    opacity: 0.9;
}
footer div.developed a i {
    font-size: 28px;
}
@media only screen and (max-width : 768px) {
    footer div.developed {
        display:none;
    }
}
/* Old styles when there were more logos on the footer.
@media only screen and (max-width : 1000px) {
    footer .content > .row > div {  
        flex-basis: 18%;
    }
}
@media only screen and (max-width : 991px) {
    footer .content > .row > div {  
        flex-basis: 24%;
        flex-basis: 33%;
    }
    footer .content > .row > div.Logos {
        flex-direction: row-reverse;
    }
}
@media only screen and (max-width : 979px) {
    footer .content > .row > div.BookAndSocial > div {
        min-width: 130px;
        text-align: center;
    }
    footer .content > .row > div.invisible-flex{
        display: flex;
        flex-basis: 32%;
    }
}
@media only screen and (max-width : 767px) {
    footer .content > .row > div {  
        flex-basis: 29%;
    }
    footer .content > .row > div.invisible-flex{
        display: flex;
        flex-basis: 31%;
    }
    footer .content > .row > div.Logos {
        flex-direction: row;
    }
}
@media only screen and (max-width : 649px) {
    footer .content > .row > div.invisible-flex{
        display: flex;
        flex-basis: 30%;
    }
}
@media only screen and (max-width : 634px) {
    footer .content > .row > div.invisible-flex{
        display: flex;
        flex-basis: 29%;
    }
}
@media only screen and (max-width : 620px) {
    footer .content > .row > div.invisible-flex{
        display: none;
    }
}
@media only screen and (max-width : 480px) {
    footer .content > .row > div {  
        flex-basis: 100%;
    }
    footer .content > .row > div.Logos {
        flex-direction: column;
    }
    footer .content > .row > div.Terms > div,
    footer .content > .row > div.Stays > div,
    footer .content > .row > div.BookAndSocial > div {
        min-width: 130px;
        text-align: center;
    }
}
@media only screen and (max-width : 320px) {
    footer .content > .row > div {
        flex-basis: 100%;
    }
}*/
/* END Footer */

/* GMaps Info Window */
.gm-style .gm-style-mtc label,.gm-style .gm-style-mtc div{
    font-weight:400
}
;
 .gm-style .gm-style-iw{
    font-weight:300;
    font-size:13px;
    overflow:hidden
}
.gm-style .gm-iw{
    color:#2c2c2c
}
.gm-style .gm-iw b{
    font-weight:400
}
.gm-style .gm-iw a:link,.gm-style .gm-iw a:visited{
    color:#4272db;
    text-decoration:none
}
.gm-style .gm-iw a:hover{
    color:#4272db;
    text-decoration:underline
}
.gm-style .gm-iw .gm-title{
    font-weight:400;
    margin-bottom:1px
}
.gm-style .gm-iw .gm-basicinfo{
    line-height:18px;
    padding-bottom:12px
}
.gm-style .gm-iw .gm-website{
    padding-top:6px
}
.gm-style .gm-iw .gm-photos{
    padding-bottom:8px;
    -ms-user-select:none;
    -moz-user-select:none;
    -webkit-user-select:none
}
.gm-style .gm-iw .gm-sv,.gm-style .gm-iw .gm-ph{
    cursor:pointer;
    height:50px;
    width:100px;
    position:relative;
    overflow:hidden
}
.gm-style .gm-iw .gm-sv{
    padding-right:4px
}
.gm-style .gm-iw .gm-wsv{
    cursor:pointer;
    position:relative;
    overflow:hidden
}
.gm-style .gm-iw .gm-sv-label,.gm-style .gm-iw .gm-ph-label{
    cursor:pointer;
    position:absolute;
    bottom:6px;
    color:#fff;
    font-weight:400;
    text-shadow:rgba(0,0,0,0.7) 0 1px 4px;
    font-size:12px
}
.gm-style .gm-iw .gm-stars-b,.gm-style .gm-iw .gm-stars-f{
    height:13px;
    font-size:0
}
.gm-style .gm-iw .gm-stars-b{
    position:relative;
    background-position:0 0;
    width:65px;
    top:3px;
    margin:0 5px
}
.gm-style .gm-iw .gm-rev{
    line-height:20px;
    -ms-user-select:none;
    -moz-user-select:none;
    -webkit-user-select:none
}
.gm-style.gm-china .gm-iw .gm-rev{
    display:none
}
.gm-style .gm-iw .gm-numeric-rev{
    font-size:16px;
    color:#dd4b39;
    font-weight:400
}
.gm-style .gm-iw.gm-transit{
    margin-left:15px
}
.gm-style .gm-iw.gm-transit td{
    vertical-align:top
}
.gm-style .gm-iw.gm-transit .gm-time{
    white-space:nowrap;
    color:#676767;
    font-weight:bold
}
.gm-style .gm-iw.gm-transit img{
    width:15px;
    height:15px;
    margin:1px 5px 0 -20px;
    float:left
}
 .gm-iw {
    text-align:left;
}
.gm-iw .gm-numeric-rev {
    float:left;
}
.gm-iw .gm-photos,.gm-iw .gm-rev {
    direction:ltr;
}
.gm-iw .gm-stars-f, .gm-iw .gm-stars-b {
    background:url("http://maps.gstatic.com/mapfiles/api-3/images/review_stars.png") no-repeat;
    background-size: 65px 26px;
    float:left;
}
.gm-iw .gm-stars-f {
    background-position:left -13px;
}
.gm-iw .gm-sv-label,.gm-iw .gm-ph-label {
    left: 4px;
}
.InterestPointInfoWindow {
    background-repeat: no-repeat;
    background-position: top left;
    padding: 0 0 0 36px;
}
.InterestPointInfoWindow h1 {
    font-size: 22px;
    margin: 20px 0 10px 0;
}
.HouseInfoWindow {
    width: 300px;
}
.HouseInfoWindow h1 {
    font-size: 22px;
    margin: 20px 0 10px 0;
}
.HouseInfoWindow img {
    width: 100%; height: auto;
}
.HouseInfoWindow p:last-child {
    margin: 0;
}
.HouseReviewModal {}
.HouseReviewModal .stars {}
.HouseReviewModal .stars a {
    float: left;
    padding: 3px;
}
.HouseReviewModal .stars a i {
    font-size: 24px;
    color: #c3901c;
}

#HouseBooking_Details .fa {
    font-size: 22px;
    cursor: pointer;
}
#HouseBooking_Details .fa.fa-trash {
    top: -6px;
    position: relative;
}

#ItineraryModal .childrenAgeTable {
    display: flex;
}
#ItineraryModal .childrenAgeTable .form-group {
    max-width: 50px;
}

*, *:after, *:before {
  box-sizing: border-box;
}
