@font-face {
    font-family: 'HelveticaLTStd-BoldCond';
    src: url('../fonts/HelveticaLTStd-BoldCond.otf');
}

@font-face {
    font-family: 'TitilliumWeb-Italic';
    src: url('../fonts/TitilliumWeb-Italic.ttf') format('truetype');
    font-style: italic;
}

@font-face {
    font-family: 'TitilliumWeb-Regular';
    src: url('../fonts/TitilliumWeb-Regular.ttf') format('truetype');
    font-style: normal;
}

@font-face {
    font-family: 'TitilliumWeb-SemiBold';
    src: url('../fonts/TitilliumWeb-SemiBold.ttf') format('truetype');
}

body {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    line-height: 1.3;
    color: #333333;
    font-weight: 300;
}

@media (min-width: 992px) {
    body {
        font-size: 14px;
        line-height: 1.5;
    }
}

.container-fluid {
    max-width: 1400px;
}

.text-primary {
    /*color: #f00 !important;*/
    /*color: #002639 !important;*/
}

h1 {
    margin: 55px 0;
    font: 26px/28px 'HelveticaLTStd-BoldCond';
}

h1.central-reservas {
    margin: 55px 0 12px;
}

h2.error {
    margin: 45px 0;
    text-align: center;
    font: 24px/26px 'HelveticaLTStd-BoldCond';
}

h2.error-404 {
    color: #217ebd;
}

h2.error-403 {
    color: #7e1717;
}

h3.form-title {
    margin: 30px 0 25px;
    font: 20px/22px 'HelveticaLTStd-BoldCond';
    text-align: center;
    color: #2e4563;
}

#booking-info h2 {
    font-size: 1.4em;
    color: #6679a1;
    font-weight: 600;
    text-transform: uppercase;
}

#cancel-reserve {
    font-size: 16px !important;
}

p {
    font-size: 17px;
    font-family: 'TitilliumWeb-Regular';
}

p.info-blue {
    color: #2e4563;
    text-align: center;
    font-weight: 500;
}

.footer p {
    margin: 0;
}
/*.btn {*/
/*    border-radius: 0 !important;*/
/*}*/
.btn.blue:not(.btn-outline) {
    padding: 12px 38px !important;
    /*border-radius: 2px !important;;*/
    font-size: 18px !important;
}

.btn.blue:not(.btn-outline):hover,
.btn.blue:not(.btn-outline):focus {
    color: #FFFFFF;
    background-color: #002639;
    border-color: #002639;
}


/* header */

.header {
    margin-bottom: 6px;
    font: 18px/40px 'TitilliumWeb-Regular';
    padding: 20px 57px 20px;
    background-color: #f6f6f4;
}

.header ul {
    margin: 15px 0 0;
}
.header ul li {
    margin: 5px 0 0 0;
    text-align: right;
    /*line-height: 40px;*/
    float: right;
    clear: both;
    position: relative;
}
#logo {
    float: left;
}

#site-name {
    margin: 0;
    float: left;
}

#site-name p {
    font-size: 36px;
    font-weight: bold;
    text-transform: uppercase;
    color: #6679a1;
}
.header .fa {
    margin-left: 10px;
    padding: 10px 9px;
    width: 35px;
    height: 35px;
    color: #2e4563;
    background-color: #e2e5ed;
    border-radius: 25px;
}
/*
.header a.hd-a {
    color: #fff;
}

.header a.hd-a:hover,
.header a.hd-a:focus {
    text-shadow: 0 0 10px white;
    text-decoration: none;
}
*/
/* full-content */
.full-content .title,
.full-content .content-step {
    background-color: #fbfbfb;
}

.full-content .title {
    color: #2e4563;
    text-align: center;
}

.full-content .title p {
    margin: 0;
    font-size: 17px;
}

.full-content .content-step {
    padding-bottom: 20px;
}

/* step */
/* step */
.mt-element-step .row {
    margin: 0;
}

.mt-element-step .step-reserve .mt-step-col {
    padding: 15px 0;
    /*padding-top: 45px;*/
    /*padding-bottom: 55px;*/
    text-align: center;
}

.mt-element-step .step-reserve .mt-step-icon {
    display: inline-block;
    margin: auto auto 10px;
    width: 45px;
    height: 45px;
}

.mt-element-step .step-reserve .mt-step-icon .fa-hi {
    font-size: 27px;
    top: 0;
    position: relative;
    width: 50px;
    height: 50px;
    display: block;
    line-height: 50px;
    border: 1px solid transparent;
    border-radius: 25px;
}

.mt-element-step .step-reserve .mt-step-icon .fa-hi-user {
    font-size: 26px;
}
.mt-element-step .step-reserve .mt-step-icon .fa-hi-creditcard {
    font-size: 24px;
}



.mt-element-step .step-reserve .fa-hi {
    background-color: #ccc;
    color: #FFF;
}

.mt-element-step .step-reserve .mt-step-title {
    font: 16px/20px 'TitilliumWeb-SemiBold';
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 0.1px;
    color: #ccc;
}

.mt-element-step .step-reserve .mt-step-title.first {
    border-left: none;
}

.mt-element-step .step-reserve .active .fa-hi {
    background-color: #2e4563;
    color: #FFF;
}

.mt-element-step .step-reserve .active .mt-step-title {
    color: #2e4563;
    /*color: #000064;*/
}

.mt-element-step .step-reserve .complete .fa-hi {
    background-color: rgba(102, 121, 161, 0.85);
    /*background-color: rgba(0, 0, 100, 0.38);*/
    /*border-color: transparent;*/
    color: #fff;
}

.mt-element-step .step-reserve .complete .mt-step-title {
    color: #6679a1;
    /*color: rgba(0, 0, 100, 0.38);*/
}
/* step 4 */
.table.payment-method .form-group {
    margin-bottom: 0;
}

.table.payment-method  .form-control {
    border: none;
}

.form-check .form-check-label {
    font-size: 17px !important;
    line-height: 22px;
}

.form-control.is-invalid .form-check .form-check-label {
    color: #dc3545 !important;
}

/* footer */
.footer {
    margin: 54px -15px 0;
    padding: 25px 55px 20px;
    background: url("../images/footer-bg.png") repeat-y bottom center;
    display: block;
    min-height: 166px;
}

.footer p {
    font: 20px/22px 'TitilliumWeb-SemiBold';
    color: #fff;
}

p.address {
    line-height: 26px;
}

p.aviso-legal {
    margin-bottom: 15px;
}

p.aviso-legal a,
p.aviso-legal a:hover,
p.aviso-legal a:focus,
p.aviso-legal a:active {
    color: #fff;
    text-transform: uppercase;
}

p.aviso-legal a {
    text-decoration: underline;
}

p.aviso-legal a:hover,
p.aviso-legal a:focus,
p.aviso-legal a:active {
    text-decoration: none;
}

/* newsletter */
#box-newsletter {
    color: #fff;
    padding: 20px 32px;
    border: 1px solid #7f8d9f;
    background-color: rgba(211, 216, 228, 0.2);

}

#box-newsletter h4 {
    margin: 0 0 10px;
    font: 29px/30px 'HelveticaLTStd-BoldCond';
}

/* form */
label.control-label {
    font: 18px/20px "Montserrat", sans-serif;
    color: #343434;
}

input.form-control,
select.form-control,
textarea.form-control {
    font: 16px/18px "Montserrat", sans-serif;
    line-height: 20px;
}

#box-newsletter input.form-control {
    height: 40px;
}

/* evitar que se oculte parte de la line inferior de la letra en el select */
select.form-control {
    padding: 2px 4px 3px 3px;
}

.row.ffr {
    margin-top: 35px;
}

.row.ffr.st1 {
    margin-top: 5px;
}

.btn.cancelar.btn-submit,
.btn.blue.btn-submit {
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 5px;
    text-transform: uppercase;
    /*width: 100%;*/
    font: 20px/22px 'HelveticaLTStd-BoldCond';
    background-color: #2e4563;
    border: 1px solid #2e4563;
}

.btn.cancelar.btn-submit {
    background-color: #7e1717;
    border: 1px solid #7e1717;
    color: #fff;
}

.btn.cancelar.btn-submit:hover,
.btn.cancelar.btn-submit:active {
    background-color: #a91818;
}

.btn.btn-submit-blt {
    padding: 8px 25px;
    font: 20px/22px 'HelveticaLTStd-BoldCond';
    text-transform: uppercase;
    height: 40px;
    background-color: #f08365;
    color: #fff;
}

.row.infos-extras {
    text-align: center;
}

.code-booking {
    color: #2e4563;
    font-size: 20px;
}

hr {
    margin: 0;
    padding: 0;
    border-bottom: 2px solid #dbdbdb;
}

.row.error {
    margin: 50px 0 0;
    padding-bottom: 30px;
    /*border-bottom: 2px solid #dbdbdb;*/
    text-align: center;
}

.error-title {
    font: 22px/24px 'HelveticaLTStd-BoldCond';
    color: #7e1717;
    text-transform: uppercase;
}

.row.extra {
    margin: 0;
    text-align: center;
}

/* panel extras */
.row.extra .card a.accordion-toggle {
    font: 22px/24px 'HelveticaLTStd-BoldCond';
    color: #2e4563;
}

.row.extra .card a.accordion-toggle.collapsed:after {
    content: " (+)";
}
.row.extra .card a.accordion-toggle:after {
    content: " (-)";
}
.row.extra .card {
    margin-top: 50px;
    border: 1px solid transparent;
}

.row.extra .card > .card-header {
    background-color: transparent;
    border-bottom: none;
}

.row.extra .panel-group .card-header + .panel-collapse > .card-body,
.row.extra .panel-group .card-header + .panel-collapse > .list-group {
    border: none;
}

.card-body p {
    margin: 0 0 10px;
}

.hbp,
.extra .btn-default {
    border: 1px solid #dddddd;
    padding: 6px 12px;
    margin-bottom: 0;
    font: 18px/20px 'TitilliumWeb-Regular';
    text-align: left;
    line-height: 1.44;
    float: left;
}

.extra .btn-default {
    background-color: #dbe6ed;
    border-color: #dbe6ed;
    color: #2e4563;
    text-transform: uppercase;
    font-weight: bold;
    font: 18px/20px 'HelveticaLTStd-BoldCond';
    text-align: center;
}

.extra .bkc-cancel .btn-default {
    background-color: #7e1717;
    color: #fff;
    border-color: #7e1717;
}

.extra .bkc-cancel a.btn-default,
.bkc-cancel {
    max-width: 420px;
    min-width: 320px;
    margin: 0 auto;
    display: block;
}

.extra .bkc-cancel a.btn-default {
    margin-top: 25px;
    width: 100%;
}

.bkc-cancel .activa {
    background-color: rgba(196,255,200, 0.9);
    color: #000;
}

.bkc-cancel .hbp.activa,
.bkc-cancel .hbp.cancelada {
    width: 100%;
    text-align: center;
}


.bkc-cancel .cancelada {
    background-color: rgba(238, 9, 63, 0.3);
    color: #000;
}

.extra .panel-group {
    margin: 0;
}

/* panel de ofertas especiales */
#of-ep .card.oferta {
    margin-top: 10px;
    border: 1px solid #dfdfdf;
}

#of-ep .card.oferta .card-title {
    margin-bottom: 0;
}

#of-ep .card.oferta .card-header {
    font: 18px/20px 'TitilliumWeb-SemiBold';
    padding: 15px;
    color: #fff;
    background-color: #6679a1;
    text-transform: uppercase;
}

#of-ep .card.oferta .card-body {
    min-height: 345px;
}

#of-ep .card.oferta .card-footer {
    background: none;
    border-top: none;
}

.btn-default.solicitar {
    padding: 7px 45px;
    float: none;
}

.logos-pagos {
    margin-top: 50px;
    text-align: center;
}



/* form */
.bkc-view fieldset:first-child legend,
fieldset legend {
    margin: 50px 0 20px;
    font: 18px/20px 'HelveticaLTStd-BoldCond';
    border: none;
    text-align: center;
    text-transform: uppercase;
    font-weight: 600;
}

fieldset:first-child legend {
    margin-top: 0;
}

.field-legend {
    padding-top: 20px;
}
.field-legend p {
    margin: 0;
    font: 17px/19px 'TitilliumWeb-Italic';
}

p.italic-note {
    margin: 15px 0;
    font: 17px/19px 'TitilliumWeb-Italic';
}

/* tables styles */
.table-striped > tbody > tr:nth-of-type(2n) {
    background-color: #f9f9f9;
}

.table-striped > tbody > tr:nth-of-type(2n+1) {
    background-color: #fff;
}

.table.resume tr th,
.table.resume tr td {
    font: 16px/17px "Open Sans", sans-serif; /* 'TitilliumWeb-Regular' */
    text-align: left;
    vertical-align: middle !important;
    /*text-align: center;*/
    padding: 8px 12px;
    border-color: #d3d3d3;
    position: relative;
}

/*.wrap-concepts .table.resume tr th,*/
.wrap-concepts .table.resume tr td {
    vertical-align: top !important;
}


select.room-quantity,
select.form-select.concept > option {
    text-align: right;
    /*margin-top: 10px;*/
}


.info-price-wod {
    padding: 2px 36px 0 0;
    line-height: 18px;
    font-size: 90%;
    color: #dc3545 !important;
    text-align: right;
    display: block !important;
    text-decoration: line-through;
}

.col-price {
    max-width: 100px !important;
}
.col-total-price {
    min-width: 100px !important;
}


.table.resume tr th.text-right,
.table.resume tr td.text-right {
    text-align: right;
}

.table.resume.info tr th,
.table.resume.info tr td {
    padding: 20px 30px;
}

.table.resume thead tr th {
    font: 14px/15px "Open Sans", sans-serif;
    padding: 8px 7px;
    /*text-transform: uppercase;*/
    background-color: #efefef;
    height: 35px;
    color: #454546;
    font-weight: 600;
}

.table.resume tbody tr th {
    text-transform: none;
    background-color: inherit;
    color: #333;
    min-height: 30px;
}

.table.resume tr td {
    min-height: 30px;
    height: 30px;
}

.table.resume thead.empty tr th {
    padding: 0;
    height: 0;
}

.table.resume.responsive-table tbody td[data-title]::before {
    /*content: attr(data-title);*/
    font-size: .9em;
    width: 40%;
    float: left;
    clear: right;
    min-height: 43px;
    background-color: #6679a1;
    color: #fff;
}

.table.resume.resume-horz-2c tr th {
    background-color: #6679a1;
    color: #fff;
}

.table.resume .small {
    font-size: 90%;
}

/* habitaciones */
.concept-box {
    margin-top: 40px;
}

.separator-rooms {
    padding-bottom: 40px;
    border-bottom: 3px solid rgb(46, 69, 99);
}

.info-reserve h4,
.info-reserve h4 small {
    margin: 50px 0 15px;
    font: 22px/24px 'HelveticaLTStd-BoldCond';
    text-align: center;
    color: #2e4563;
    text-transform: uppercase;
}

.info-reserve h4 small {
    font: 20px/22px "Montserrat", sans-serif;
    font-weight: 600;
}


.info-reserve p {
    text-align: center;
    margin: 0 0 5px;
    font-size: 20px;
}

.table.room-info {
    margin-top: 5px;
    margin-bottom: 5px;
}

.table.room-info tbody tr.room-fields td {
    padding: 5px 8px;
    vertical-align: center !important;
    line-height: 30px;
    border-right: none;
    border-left: none;
}

.table.room-info tbody tr.room-fields td:first-child {
    border-left: 1px solid rgb(211, 211, 211);
}
.table.room-info tbody tr.room-fields td:last-child {
    border-right: 1px solid rgb(211, 211, 211);
}
.table.room-info tr td {
    text-align: left;
}

.table.room-info td.room-description a {
    width: 100%;
}

.table.room-info td.room-description .cbp-item {
    width: 100%;
    display: none;
}

.table.room-info td.room-description .cbp-item:first-child {
    display: block;
}

.table.room-info tbody tr.room-fields td.room-price {
    text-align: right;
    line-height: 34px;
}

.table.room-info .form-group {
    margin: 0;
}

select.concept {
    font: 16px/17px "Open Sans", sans-serif; /*  'TitilliumWeb-Regular' */
    text-align: right;
}

.table.room-info p {
    margin: 0 0 7px;
    display: inline-block;
    /*float: left;*/
    /*clear: both;*/
}

.table.room-info tbody tr td.reserve-extras {
    text-align: left;
}

.table.room-info p.one-room,
.table.room-info p.last-rooms {
    padding: 0 8px 0 0;
    width: 300px;
    text-align: right;
    font-weight: 600;

    font-size: 14px;
    margin: -4px -4px 0 0;
    position: absolute;
    top: 3px;
    display: inline-block;
    right: 3px;
    height: 18px;
    line-height: 20px;
}

.table.room-info p.last-rooms {
    color: #337ab7;
}

.table.room-info p.one-room {
    color: #C00000;
}

.room-title,
.room-from-price {
    padding: 8px 8px 8px 11px;
    background-color: rgb(46, 69, 99);
    color: #fff;
    display: inline-block;
    position: relative;
    height: 36px;
}


.room-title strong::after,
.room-from-price strong::after {
    bottom: 0;
    right: -11px;
    width: 0;
    height: 0;
    z-index: 1002;
    content: " ";
    display: block !important;
    position: absolute;
    border-top: 18px solid rgb(46, 69, 99);
    border-right: 11px solid transparent;
}
.room-title strong::before,
.room-from-price strong::before {
    top: 0;
    right: -11px;
    width: 0;
    height: 0;
    z-index: 1002;
    content: " ";
    display: block !important;
    position: absolute;
    border-bottom: 18px solid rgb(46, 69, 99);
    border-right: 11px solid transparent;
}

.room-from-price strong::after {
    border-top-color: rgb(33, 126, 189);
}

.room-from-price strong::before {
    border-bottom-color: rgb(33, 126, 189);
}

.room-from-price {
    padding-left: 20px;
    background-color: rgb(33, 126, 189);
    /*background-color: rgb(102, 121, 161);*/
}



/*
.room-title strong::after,
.room-from-price strong::after {
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    z-index: 1002;
    content: " ";
    display: block !important;
    position: absolute;
    border-bottom: 25px solid #fff;
    border-top: 18px solid transparent;
    border-left: 18px solid transparent;
}

.room-title strong::before,
.room-from-price strong::before {
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    z-index: 1002;
    content: " ";
    display: block !important;
    position: absolute;
    border-top: 25px solid #fff;
    border-bottom: 18px solid transparent;
    border-left: 18px solid transparent;
}
*/

.room-carousel .carousel-indicators {
    position: relative;
    margin-top: 10px;
    margin-bottom: 5px;
    bottom: 0;
}
.room-carousel .carousel-indicators li {
    margin: 0 2px;
    width: 12px;
    height: 12px;
    border: 1px solid rgb(102, 121, 161);
    border-radius: 12px !important;
}

.room-carousel .carousel-indicators li.active {
    background-color: rgb(102, 121, 161);
}

.room-title.room-preferred,
.room-fields.room-preferred {
    margin-top: 1px;
    border: 2px solid #00B050;
}
/*
.room-title.room-preferred {
    border-bottom: none;
    position: relative;
}

.room-fields.room-preferred {
    border-top: none;
}*/

tr.room-fields.room-plus-info td,
tr.room-fields.room-preferred td {
    padding-top: 20px !important;
}

tr.room-fields.room-preferred.room-plus-info td {
    padding-top: 35px !important;
}

tr.room-fields.room-preferred.room-plus-info p.one-room,
tr.room-fields.room-preferred.room-plus-info p.last-rooms {
    top: 19px !important;
}

.table.room-info tbody tr.room-fields {
    visibility: visible;
    /*display: none;*/
}

.row.hidden-gc,
.table.room-info tbody tr.room-fields.hidden-row {
    visibility: hidden;
    display: none;
}

.table.room-info p.room-preferred-text {
    padding: 0 8px;
    color: #fff;
    background-color: #00B050;
    font-size: 14px;
    margin: -4px -4px 0 0;
    position: absolute;
    top: 3px;
    display: inline-block;
    right: 3px;
    height: 18px;
    line-height: 18px;
}

.btn.blue.add-room,
.btn.blue.btn-submit.reserve-now {
    margin: 0 auto;
    padding: 7px 35px 6px !important;
    font: 18px/20px 'HelveticaLTStd-BoldCond';
    width: auto;
}

.btn.blue.add-room {
    background-color: rgb(33, 126, 189);
    border: 1px solid rgb(33, 126, 189);
    font-weight: 300 !important;
}

.btn.blue.add-room:active,
.btn.blue.add-room:focus,
.btn.blue.add-room:hover {
    background-color: rgb(53, 116, 189);
    border-color: rgb(53, 116, 189);
}

.table.room-info p.persons-text,
.table.room-info p.persons {
    margin: 5px 0 0;
    display: inline-block;
    line-height: 12px;
}

.table.room-info p.persons-text {
    margin-left: 10px;
}

.table.room-info p.persons {
    min-width: 24px;
    text-align: right;
}

.table.room-info p.persons-text.t-child {
    margin-top: 3px;
}


.inf-personas {
    height: 22px;
    line-height: 22px;
}

p.persons i.fa-hi.fa-hi-man {
    margin-top: 3px;
    font-size: 22px;
    width: 10px;
    text-indent: -10px;
}

p.persons i.fa-hi.fa-hi-child {
    font-size: 18px;
    line-height: 18px;
    text-indent: -1px;
}

p.persons i.fa-hi.fa-hi-child::before {
    margin-top: 10px;
    width: 15px;
}

i.fa-hi {
    font-size: 28px;
    top: 3px;
    position: relative;
}

#log-log {
    top: 40px;
    right: 0;
    position: fixed;
    width: 200px;
    height: 200px;
    border: 2px solid #f00;
    background-color: #fff;
    color: #000;
    z-index: 9999;
}

#reserve-box-container {
    margin-top: 38px;
    position: relative;
    /*border: 1px solid #f00;*/
    /*height: 700px;*/
    /*position: relative;*/
}

.reserve-resume {
    padding: 15px 10px;
    width: 100%;
    /*min-width: 318px;*/
    /*min-height: 300px;*/
    border: 2px solid rgb(46, 69, 99);
    color: #000;
    background-color: #fff;
    position: absolute;
    top: 0;
    /*position: fixed;*/
    /*top: 0;*/
    /*z-index: 9999;*/
}

.reserve-resume h3.title {
    margin: 0;
    padding: 0 0 15px;
    text-align: left;
    font-size: 19px;
    color: #000;
    font-weight: 500;
    background-color: #fff;
}

li.total-reserve {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 30px;
    vertical-align: text-bottom;
}

li.total-reserve strong {
    font-size: 19px;
    text-align: right;
    display: block;
    margin-right: 5px;
}

.reserve-resume ul {
    margin: 0;
    padding: 0 0 10px;
}
.reserve-resume ul li {
    list-style: none;
}

li.total-reserve,
li.room-details {
    margin: 0;
    padding: 12px 0 0;
    border-top: 1px dotted rgb(46, 69, 99);
}
.room-details .col-md-12 {
    margin-bottom: 10px;
}

li.total-reserve {
    border-top-style: solid;
}

li.total-reserve {
    color: #000;
}

li.total-reserve .view-pr-discount {
    line-height: 18px;
    margin-bottom: 5px;
}
li.total-reserve .view-pr-discount strong {
    font-size: 16px;
}

.room-details .no-pad-right {
    padding-right: 5px;
}

.room-details .no-pad-left {
    padding-left: 0;
}

.room-details img {
}

.room-details strong {
}

.room-details small {
    margin-top: 5px;
    font-size: 90%;
    display: block;
    text-align: center;
}

a.delete-room {
    padding-right: 6px;
    font-size: 17px;
    font-weight: bold;
    text-decoration: none;
    float: right;
    clear: both;
}

a.delete-room i {
    font-size: 22px;
}

/* drupal */

.node .content {
    margin: 50px 0 0;
    font-size: 17px;
    font-family: 'TitilliumWeb-Regular';
    text-align: center;
}

.msg-box .alert:first-child {
    margin-top: 20px;
}

.msg-box .alert ul li {
    text-align: left !important;
}

.margin-top-25 {
    margin-top: 25px;
}

/* language */
#site-lang-selector {
    margin: 15px 32px 0 0;
    float: right;
    clear: both;
}

#site-lang-selector .block-top,
#site-lang-selector .block-inner {
    float: left;
}

#site-lang-selector .block-top {
    margin-right: 10px;
}

#site-lang-selector .block-inner .ddChild a {
    float: left;
    width: 100%;
}

#site-lang-selector a {
    margin: 0 2px;
    float: left;
}

/* lightbox */

.ekko-lightbox.modal .modal-body {
    /*max-width: 500px;*/
}
.ekko-lightbox.modal .modal-header {
    padding-bottom: 0;
    border-bottom: none !important;
}

button.btn.default.open-calendar,
button.btn.default.open-calendar:hover,
button.btn.default.open-calendar:active,
button.btn.default.open-calendar:focus {
    background-color: #fff;
    border: 1px solid rgb(204, 204, 204);
}

button.btn.default.open-calendar:hover,
button.btn.default.open-calendar:active,
button.btn.default.open-calendar:focus {
    background-color: rgb(33, 126, 189);
    border-color: rgb(33, 126, 189);
    color: #fff;
}

.control-label .required,
.form-group .required {
    color: #111;
    font-size: 15px;
    font-weight: 600;
}

.invalid-feedback {
    font-size: 95%;
}

#availability_step2_rooms {
    /*display: none;*/
    /*visibility: hidden;*/
}


.row.hidden-gc,
.table.room-info tbody tr.room-fields.hidden-row {
    visibility: hidden;
    display: none;
}

/* cancel booking */
#booking-info {
    padding: 45px 25px 20px;
}

#booking-info ul.list-unstyled li {
    margin-bottom: 3px;
}
#booking-info ul.list-unstyled li strong {
    margin-right: 6px;
    width: 230px;
    display: inline-table;
    font-weight: bold;
}

#booking-info ul.ho-address li {
    margin-right: 20px;
    display: inline-table;
}

.btn.red-mint.btn-submit {
    padding: 12px 38px !important;
    border-radius: 2px !important;
    font-size: 18px !important;
    margin-bottom: 5px;
    text-transform: uppercase;
    /*background-color: #00486c;*/
    /*border: 1px solid #00486c;*/
}

#customers_details_step3_creditcard_expire {
    margin-top: -3px;
}

small.regime-notes {
    line-height: 14px;
    margin: 0;
    padding: 0;
    /*float: left;*/
    display: block;
}

table.resume small.regime-notes {
    margin-bottom: 5px;
}

/* socio */
#ctn-login a.logging {
    padding: 12px 12px 15px;
    font-size: 12px;
    font-weight: bold;
    text-shadow: none !important;
    position: absolute;
    right: 162px;
}
#ctn-login .btn-group {
    font-size: 12px;
    font-weight: bold;
    position: absolute;
    right: 162px;
}
#ctn-login .btn-group button {
    padding: 12px 12px 15px;
    font-size: 12px;
}
#ctn-login .dropdown-item:hover {
    background-color: #000;
    color: #fff;
}
.dropdown-menu {
    font-size: 14px;
}
#member-and-login {
    /*padding: 20px 0;*/
    margin-top: -6px;
    /*border: 2px solid #333;*/
    background-color: #efefef;
    z-index: 9999;
    position: absolute;
    width: 100%;
    left: 0;
    box-shadow: 0 8px 17px 0 rgba(119,119,119,.15),0 6px 20px 0 rgba(119,119,119,.15);
}

.box-register,
.box-login {
    padding: 30px 20px 15px;
}
.box-login {
    background-color: #fff;
}
/*#member-and-login .container-fluid {*/
    /*padding-left: 30px;*/
/*}*/
.socio-info {
    /*padding: 25px 15px 15px;*/
    color: #000 !important;
}

.socio-info img {
    margin-right: 6px;
}
.socio {
    padding-top: 10px;
    padding-bottom: 20px;
}
h3.socio {
    font-size: 2em;
    color: #00486c;
}
h4.socio {
    font-size: 1.6em;
    font-weight: bold;
    color: #00486c;
}
p.descuento-socio {
    font-size: 20px;
    font-weight: bold;
}

.socio-info .btn.blue.btn-submit {
    padding: 10px 30px !important;
    font: 17px/18px "Montserrat", sans-serif !important;
    /*font-size: 12px !important;*/
}

p.form-control {
    margin: 0;
}

.user-content {
    margin-top: 45px !important;
}

.user-content h3.form-title {
    margin-top: 0;
}

.user-content fieldset legend {
    text-transform: none;
}

/*#fos_user_registration_form_dateOfBirth_day,
#fos_user_registration_form_dateOfBirth_month {
    width: 25%;
}
#fos_user_registration_form_dateOfBirth_year {
    width: 50%;
}*/
.view-form .form-control {
    background-color: #eee;
}

.fos_user_registration_register p.small {
    font-size: 14px;
    font-weight: bold;
    margin: 10px 0;
}

p.info-pg {
    margin: 5px 0 10px;
    font-size: 18px;
}

#show-menu-here {
    border: 1px solid #f00;
    width: 120px;
    height: 150px;
    position: absolute;
    z-index: 9999;
}