/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

   html,
   button,
   input,
   select,
   textarea {
    color: #4A4A4A;
}

body {
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate.
 * Customize the background color to match your design.
 */

 ::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

 hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

 img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

 fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

 textarea {
    resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

   .chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

body {
    background-color: #EFE2CF !important;
    /*font-size: 0.8125rem;*/
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
}
.container {
    width: 980px;
    margin: 0 auto;
}
header {
    width: 100%;
    height: 100px;
    background-color: #fff;
    /*position: relative;*/
}
header h1 {
    font-family: 'Berkshire Swash', cursive;
    font-size: 2.5rem;
    width: 320px;
    text-align: center;
    height: 50px;
    margin: 30px auto 0;
}
header h1 a {
    width: 100%;
    height: 50px;
    display: block;
    color: #C69955;
    text-decoration: none;
}
header .socialicons {
    display: inline-block;
    margin-top: 60px;
    height: 30px;
    text-align: right;
    float: right;
}
header .socialicons img {
    margin-right: 20px;
}
nav {
    position: relative;
    width: 980px;
    margin: 0 auto;
    background-color: rgba(198,153,85,0.9);
}
nav ul,
.menufooter ul {
    font-family: 'Amaranth', serif;
    padding: 0;
    margin: 0;
    /*padding-top: 10px;*/
    /*font-size: 20px;*/
}
nav ul li,
.menufooter ul li {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    /*width: 19%;*/
    text-align: center;
    line-height: 40px;
    margin-left: 20px;
}
.menufooter {
    text-align: center;
}
.menufooter ul {
    display: inline-block;
}
nav ul li a::after, 
.menufooter ul li a::after {
    content: ".";
    padding-left: 20px;
}
nav ul li:last-child a::after, 
.menufooter ul li:last-child a::after {
    content: "";
}
nav ul li:hover {
    /*border-bottom: solid 5px #329965;*/
}
nav a,
.menufooter a {
    text-decoration: none;
    color: #fff;
    display: block;
}
.menufooter a {
    color: #C69955;
}
/*.dropdown_columns{
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 940px;
    padding: 20px;
    float:left;
    position:absolute;
    top:-999em;
    left:0;
    text-align:left;
    z-index:999;
    height:auto;
    background-color:#ECF0F1;
}
nav ul li.item-102:hover .dropdown_columns{
    left: 0;
    top: 60px;
}
.col1 {
    float:left;
    width:280px;
    margin-right: 20px;
}
.col2 {
    float:left;
    width:280px;
}
.col3 {
    float:right;
    width:280px;
}
.subcontent {
    margin-bottom: 20px;
}
.subcontent:hover {
    background-color: #fff;
    cursor: pointer;
}
.subcontent img {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    margin-right: 10px;
    width: 100px;
}
.subcontent .subtext {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    padding: 10px;
    width: 170px;
}
.subcontent .subtext p {
    margin: 0;
    font-size: 14px;
    font-family: 'Lucida Grande', Arial, Helvetica, sans-serif;
    line-height: 20px;
}
.subcontent .subtext a {
    color: #666;
    text-decoration: none;
}*/
.social {
    margin-top: 40px
}
.fb-like {
    width: 140px;
    float: left;
}
.pinseparator {
    width: 50px;
    float: left;
    cursor: pointer;
}
.gplus {
    width: 80px;
    float: left;
}
.linkedin {
    width: 110px;
    float: left;
}
.featured, .promos, .news, .homecontacts {
    padding: 30px;
}
.featured {
    background-color: #F8F3EC;
}
.main {
    background-color: #fff;
}
aside {
    /*-moz-box-sizing: border-box;
    box-sizing: border-box;*/
    float: left;
    width: 220px;
    padding-top: 30px;
}
.content {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    width: 700px;
    padding: 10px 20px;
    margin: 20px;
    border-right: solid 1px #EEE7DC;
}
.item-page {
    min-height: 440px;
}
.photospace {
    position: relative;
    min-height: 460px;
    /*background-color: #fff;*/
}
.photoslide {
    width: 980px;
    margin: 0 auto;
    height: 240px;
}
.photogallery {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 980px;
    /*padding: 20px;*/
    margin: 0 auto;
    background-color: rgba(0,0,0,0.3);
}
.photogallery h3 {
    color: #fff;
    font-size: 2.0625rem;
    text-align: center;
    margin: 0;
}
.moduletable_places img {
    border: solid 1px #ABB0B2;
}
.moduletable_places a {
    text-decoration: none;
}
.promoleft, .promoright {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 460px;
    padding: 20px;
    background-color: #fff;
}
.promoleft {
    float: left;
}
.promoright {
    float: right;
}
.promoleft p, .promoright p {
    margin: 0;
    margin-bottom: 20px;
}
.promo_readmore {
    display: inline-block;
    width: 90px;
    height: 30px;
    line-height: 30px;
    background-color: #ECF0F1;
    color: #329965;
    text-decoration: none;
    font-weight: 700;
    text-align: center;
}
.contactscontent {
    /*margin-bottom: 20px;*/
}
.custom_reservation, .homereservation, .custom_right {
    /*background-color: #fff;
    padding: 20px;*/
}
.homereservation {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: 'Amaranth', serif;
    background-color: rgba(198,153,85,0.9);
    width: 980px;
    margin: 0 auto;
    padding: 20px;
}
.rightreservation {
    font-family: 'Amaranth', serif;
}
.custom_right p {
    margin: 0;
    margin-bottom: 10px;
}
.fieldset {
    float: left;
}
.rightreservation .fieldset{
    margin-bottom: 20px;
}
.fieldset.check {
    width: 205px;
    margin-right: 30px;
    /*background: url(/web/20210302025852im_/http://descansoserrano.pt/templates/descansoserranotemplate/img/bg_calendar.png) right 30px no-repeat;*/
}
.rightreservation .fieldset.check {
    width: 100%;
    margin-right: 0;
}
.fieldset.persons {
    width: 90px;
    margin-right: 20px;
}
.rightreservation .fieldset.persons {
    width: 100px;
    margin-right: 20px;
}
.rightreservation .fieldset.persons.child {
    margin-right: 0;
}

.fieldset.btn {
    width: 220px;
    float: right;
    padding-top: 25px;
}
.rightreservation .fieldset.btn {
    width: 100%;
    padding-top: 5px;
    margin-bottom: 0;
}
/*.custom_reservation label, .rightreservation label */
.homereservation label,
.rightreservation label {
    font-family: 'Amaranth', serif;
    clear: both;
    font-weight: 700;
    color: #fff;
    height: 25px;
    display: block;
}
.rightreservation label {
    color: #D7B788;
}

.homereservation select,
.rightreservation select {
    -webkit-appearance: none;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 90px;
    height: 40px;
    padding: 0 10px;
    background: url(/web/20210302025852im_/http://descansoserrano.pt/templates/descansoserranotemplate/img/bg_input.png) right center no-repeat #EEE7DC;
    border: 0;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    font-size: 0.8125rem;
}
.rightreservation select  {
    width: 100px;
}
.homereservation .cf_date_picker,
.rightreservation .cf_date_picker {
    -webkit-appearance: none;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 205px;
    height: 40px;
    padding: 0 10px;
    background: url(/web/20210302025852im_/http://descansoserrano.pt/templates/descansoserranotemplate/img/bg_calendarinput.png) right center no-repeat #EEE7DC;
    border: 0;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    font-size: 0.8125rem;
}
.rightreservation .cf_date_picker {
    width: 220px;
}
.homereservation input[type="submit"],
.homereservation .submit {
    font-family: 'Amaranth', serif;
    -webkit-appearance: none;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 220px;
    height: 40px;
    line-height: 40px;
    background-color: #fff;
    border: 0;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    color: #C69955;
    font-size: 20px;
    text-align: center;
}
.rightreservation .submit {
    font-family: 'Amaranth', serif;
    -webkit-appearance: none;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 220px;
    height: 40px;
    line-height: 40px;
    background-color: #D7B788;
    border: 0;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    color: #fff;
    font-size: 20px;
    text-align: center;
}
.homereservation .submit a {
    color: #C69955;
    text-decoration: none;
    display: block;
}
.rightreservation .submit a {
    color: #fff;
    text-decoration: none;
    display: block;
}
footer {
    padding: 20px 0 40px 0;
}
footer .socialicons {
    padding: 40px 0;
    text-align: center;
}
footer .socialicons img {
    margin-right: 30px;
}
footer .socialicons p, .copy p {
    margin: 0;
    text-align: center;
    color: #C69955;
}
.copy a {
    color: #C69955;
}

.moduletable.activities {
    border-bottom: solid 1px #EEE7DC;
    margin-bottom: 20px;
}


/* ** Typo **
   ================================================== */
nav,
h1,
h2,
h3,
h4 {
    font-family: 'Amaranth', serif;
}
p, ul {
    font-size: 0.8125rem;
}
ul.nav,
nav ul {
    font-size: 1rem;
}
h3 {
    font-size: 1rem;
    color: #D7B788;
    margin-bottom: 20px;
    /*text-align: center;*/
}
.moduletable_map p, .moduletableaddress p {
    margin: 0;
}
.moduletable ul.menu {
    padding-left: 20px;
    width: 180px;
}
.moduletable ul.menu a {
    text-decoration: none;
    color: #AA9878;
}
.moduletable ul.menu li.active a {
    color: #666
}
.newsletter h3, .news h2,.news h3, .featured h2, .content h1, .moduletable_reservation h3, .moduletable_right h3 {
    font-size: 1.5rem;
    color: #D7B788;
    text-align: center;
    margin-bottom: 20px;
}
.news p,
.promos p {
    margin: 0;
    margin-bottom: 10px;
    color: #969696;
}
.featured p {
    font-family: 'Amaranth', serif;
    font-size: 1rem;
    color: #969696;
}
.content h1 a {
    color: #D7B788;
    text-decoration: none;
}
.content h2 {
    color: #4a4a4a;
    font-size: 1.2rem;
    font-weight: 700;
}
.content h3 {
    color: #4a4a4a;
    font-size: 16px;
    font-weight: 700;
}
a {
    color: #666
}
footer a {
    color: #666A73
}
.newsletter {
    background-color: #F8F3EC;
    padding: 20px;
}
/*
overides
*/
// .chronoform {
//     display: none;
// }

.chrono_credits{
    display:none;
}


.mod-languages {
    display: inline-block;
    margin-top:  60px;
    float: left;
    width: 150px;
    height: 26px;
}
#sigplus_2bd8543fb2689a082b6b940ccea2e37b ul > li img {
    border: solid 1px #fff!important;
}


div.mod-languages ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
div.mod-languages li {
    margin-left: 5px;
    margin-right: 5px;
}

div.mod-languages ul.lang-inline li {
    display: inline-block;
    background-color: #FFF;
    color: #E4D6C2;
    padding: 5px 8px;
    border: solid 1px #E4D6C2;
    border-radius: 100%;
}
div.mod-languages ul.lang-inline li.lang-active {
    background-color: #E4D6C2;
    color: #FFF;
}

div.mod-languages ul.lang-block li {
    display: block;
}

div.mod-languages img {
    border:none;
}

div.mod-languages a {
    text-decoration: none;
    color: #E4D6C2;
    padding: 5px 8px;
    margin: -5px -8px;
}
div.mod-languages .lang-active a {
    color: #FFF;
}

.newsletter .ccms_form_element, .newsletter .gcore-line-tr {
    clear: none;
    width: 20%;
    float: left;
    margin-right: 20px;
    margin-bottom: 0;
}

.newsletter #input_text_11_container_div, .newsletter #ftr-text1 {
    margin-left: 170px;
}

.newsletter .ccms_form_element input[type="submit"], .newsletter .gcore-line-tr input[type="submit"] {
    width: 100%;
}

.newsletter #input_submit_31_container_div, .newsletter #ftr-button3  {
    padding-top: 32px;
}
.newsletter label {
    font-family: 'Amaranth', serif;
    float: left;
    width: 150px;
    line-height: 18px;
    margin: 6px 0 9px;
    /* font-weight: bold; */
    color: #D7B788;
}
.newsletter input, textarea, input[type="file"], .newsletter select {
    -webkit-appearance: none;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 10px !important;
    border: 0;
    background-color: #EEE7DC;
    color: #4a4a4a;
    width: 100%;
    height: 40px;
    border-radius: 4px;
    font-size: 0.8125rem;
}
.newsletter input[type="submit"] {
    font-family: 'Amaranth', serif;
    -webkit-appearance: none;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 220px;
    height: 40px;
    background-color: #D7B788;
    border: 0;
    padding: 0;
    color: #fff;
    font-size: 20px;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

 .ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

 .hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

 .visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

 .visuallyhidden.focusable:active,
 .visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

 .invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

 .clearfix:before,
 .clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

 .clearfix {
    *zoom: 1;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   Theses examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */



/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

   @media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow:none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

     .ir a:after,
     a[href^="javascript:"]:after,
     a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}

#ftr-recaptcha{
    clear: left !important;
    margin-left: 170px;
}

.g-recaptcha{
  float:left;
}

/*
     FILE ARCHIVED ON 02:58:52 Mar 02, 2021 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 14:50:47 Jun 05, 2024.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  captures_list: 0.888
  exclusion.robots: 0.112
  exclusion.robots.policy: 0.1
  esindex: 0.012
  cdx.remote: 6.643
  LoadShardBlock: 193.082 (3)
  PetaboxLoader3.datanode: 98.247 (4)
  PetaboxLoader3.resolve: 609.924 (2)
  load_resource: 520.538
*/