@import url("https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&display=swap");
@font-face {
    font-family: "AvenirNextW1G";
    src: url("./fonts/AvenirNextW1G/AvenirNextW1G-Thin.ttf") format("truetype");
    font-weight: 100;
}

@font-face {
    font-family: "AvenirNextW1G";
    src: url("./fonts/AvenirNextW1G/AvenirNextW1G-Thin.ttf") format("truetype");
    font-weight: 200;
}

@font-face {
    font-family: "AvenirNextW1G";
    src: url("./fonts/AvenirNextW1G/AvenirNextW1G-Light.ttf") format("truetype");
    font-weight: 300;
}

@font-face {
    font-family: "AvenirNextW1G";
    src: url("./fonts/AvenirNextW1G/AvenirNextW1G-Regular.ttf") format("truetype");
    font-weight: 400;
}

@font-face {
    font-family: "AvenirNextW1G";
    src: url("./fonts/AvenirNextW1G/AvenirNextW1G-Medium.ttf") format("truetype");
    font-weight: 500;
}

@font-face {
    font-family: "AvenirNextW1G";
    src: url("./fonts/AvenirNextW1G/AvenirNextW1G-Demi.ttf") format("truetype");
    font-weight: 600;
}

@font-face {
    font-family: "AvenirNextW1G";
    src: url("./fonts/AvenirNextW1G/AvenirNextW1G-Bold.ttf") format("truetype");
    font-weight: 700;
}

@font-face {
    font-family: "AvenirNextW1G";
    src: url("./fonts/AvenirNextW1G/AvenirNextW1G-Bold.ttf") format("truetype");
    font-weight: 800;
}

@font-face {
    font-family: "AvenirNextW1G";
    src: url("./fonts/AvenirNextW1G/AvenirNextW1G-Heavy.ttf") format("truetype");
    font-weight: 900;
}


/***** wrappers ********************************************************************/

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
    /*padding: 0 0 130px 0;*/
}

body {
    background-color: #fff;
    /*font-family: 'Source Sans Pro', sans-serif;*/
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 24px;
    line-height: 38px;
    font-weight: 300;
    color: #333;
}

body {
    /*
	background: url('../img/background.jpg') no-repeat center center fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	*/
    background-color: #f6f5f1;
}

body #main_content {
    /*background:rgba(255,255,255,0.94);*/
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

* {
    border-radius: 0 !important;
    /* no bootstrap rounded corners */
}

.loader {
    display: none;
}

.loader {
    border: 16px solid transparent;
    /*#f3f3f3;*/
    /* Light grey */
    border-top: 16px solid #7a6a49;
    /* Color */
    border-bottom: 16px solid #7a6a49;
    /* Color */
    border-radius: 50% !important;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -60px 0 0 -60px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


/*
#header {
	margin-left: -15px;
	margin-right: -15px;
	background: #000;
}
.header {
	width: 100%;
	max-width: 800px;
	margin: auto auto 20px;
	padding-top: 40px;
	//min-height: 90px;
	position: relative;
	z-index: 2;
}

.header-img {
	width: 100%;
	height: 100px;
	display: table;
	text-align: center;
	margin-top: 6px;
	box-shadow: 0 10px 20px rgba(0,0,0,.2);
	background: #786a4c !important;
}
.header-img div {
	display: table-cell;
	vertical-align: middle;
}
.header-img img { max-width: 120px; }

.logo-header {
	text-align: center;
	padding: 40px 0px 0px;
}
.logo-header img { max-width: 150px; }

@media screen and (max-width: 767px) {
	.header-img img {
		max-width: 180px;
		margin: 0 20px;
	}
}
*/


/*
#barra_idiomes { float: right; }
.lang_unselected {
	font-size: 10px;
	color: #000000;
	text-decoration: none;
}
.lang_selected {
	font-size: 10px;
	color: #7a6a49;
	text-decoration: none;
}
*/

#barra_idiomes {
    line-height: 2;
    float: none;
    text-align: right;
    font-size: 1.2em;
}

#barra_idiomes a {
    font-size: 0.6em;
}

#barra_idiomes a:hover {
    text-decoration: none;
    color: #eee;
}

#barra_idiomes .lang_selected,
#barra_idiomes .lang_selected:hover {
    text-decoration: underline;
    color: #fff;
}

#barra_idiomes .lang_unselected {
    color: #aaa;
}

@media screen and (max-width: 767px) {
    #barra_idiomes {
        font-size: 1em;
        text-align: center;
    }
    #barra_idiomes a {
        margin: 0 -2px;
    }
    .lang_selected {
        display: none;
    }
}

#header-img {
    position: relative;
    height: 100vh;
    width: 100vw;
    background: url("../img/background_new.png") no-repeat center center;
    background-size: cover;
}

#header-img img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
}

#header-img h1 {
    font-family: "AvenirNextW1G";
    font-size: 120px;
    font-weight: 100;
    color: #fff;
    letter-spacing: -7px;
    z-index: 1;
}


/************************ CSS WEB Angle ******************************/


/*
Container widths
Set the container width, and override it for fixed navbars in media queries.
*/

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md {
    /* --bs-gutter-x: 3.6rem; */
    --bs-gutter-x: 3.6rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-right: auto;
    margin-left: auto;
}


/* rating-stars */

.rating-stars {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.rating-stars>li {
    margin-right: 0.5rem;
    position: relative;
    overflow: hidden;
    width: 2.2rem;
    max-width: 2.2rem;
    flex: 0 0 2.2rem;
    height: 2.4rem;
}

.rating-stars>li:last-child {
    margin-right: 16px;
}

.rating-stars>li img,
.rating-stars>li svg {
    position: absolute;
    z-index: 10;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
}

.rating-stars>li svg path {
    fill: #fff;
}

.header-light #header .rating-stars>li svg path {
    fill: #333;
}


/* header */

#header {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    right: 0;
    color: #fff;
    transition: all 0.3s ease;
    pointer-events: none;
}

.header-light #header,
.header-light-regular #header {
    background-color: rgba(255, 255, 255, 0.9);
    color: #333;
}

#header .container-fluid {
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
}

#header .logo {
    --logo-width: 14.6rem;
    --logo-height: 5.5rem;
    display: block;
    position: relative;
    overflow: hidden;
    max-width: var(--logo-width);
    width: var(--logo-width);
    max-width: 100%;
    height: var(--logo-height);
    margin-left: auto;
    margin-right: auto;
    pointer-events: all;
}

#header .logo a {
    color: inherit;
}

#header .logo img,
#header .logo svg {
    position: absolute;
    z-index: 10;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
}

#header .logo svg path {
    fill: #fff;
}

.header-light #header .logo svg path {
    fill: #333;
}

#header .rating-stars {
    padding-right: 4px;
    pointer-events: all;
}

#header .header-booking-btn {
    padding-right: 38px;
    pointer-events: all;
}


/*
#header .header-booking-btn .home-hotel:not(.header-light) & {
	pointer-events: none;
	opacity: 0;
}
*/

#header .header-booking-btn .btn {
    pointer-events: all;
}

#header .header-booking-btn .btn+.btn {
    margin-left: 2rem;
}

#header .header-booking-btn .btn-outline-light {
    --bs-btn-color: #fff;
}

.header-light #header .header-booking-btn .btn {
    --bs-btn-hover-color: #fff;
    /* --bs-btn-hover-bg: #{$body-color}; */
    --bs-btn-hover-bg: #000;
    --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
    color: #333;
    border-color: #000;
}

#header .languages-dropdown {
    pointer-events: all;
}

@media (max-width: 1599.98px) {
    #header .rating-stars {
        padding-right: 11.1111px;
    }
    #header .header-booking-btn {
        padding-right: 22.2222px;
    }
    #header .header-booking-btn .btn {
        --bs-btn-font-size: 1.4rem;
    }
    #header .header-booking-btn .btn+.btn {
        margin-left: 11.1111px;
    }
}

@media (max-width: 991.98px) {
    #header {
        pointer-events: none;
    }
    .header-light.languages-dropdown-opened #header,
    .header-light-regular.languages-dropdown-opened #header {
        color: #fff;
        background-color: transparent;
    }
    .container-fluid {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
    .btn-menu {
        pointer-events: all;
        margin-left: 0;
    }
    .logo {
        --logo-width: 10rem;
        --logo-height: 4rem;
        pointer-events: all;
    }
}


/* languages-dropdown */

.languages-dropdown {
    /* languages dropdown common */
    --languages-dropdown-height: 38px;
    --languages-dropdown-border-width: 0rem;
    --languages-dropdown-padding-x: 3.2px;
    --languages-dropdown-border-radius: 0;
    /* languages dropdown font */
    --languages-dropdown-font-size: 16.2px;
    --languages-dropdown-line-height: 1.25;
    --languages-dropdown-font-weight: 400;
    --languages-dropdown-font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif;
    /* languages dropdown colors */
    --languages-dropdown-color: inherit;
    position: relative;
}

.languages-dropdown .dropdown-toggle {
    /* dropdown toggle common */
    --dropdown-toggle-border-width: var(--languages-dropdown-border-width);
    --dropdown-toggle-padding-x: var(--languages-dropdown-padding-x);
    --dropdown-toggle-padding-x-right: var(--dropdown-toggle-padding-x);
    --dropdown-toggle-padding-y: calc( ( var(--languages-dropdown-height) - (var(--languages-dropdown-border-width) * 2) - ( var(--languages-dropdown-font-size) * var(--languages-dropdown-line-height))) * 0.5);
    /* dropdown toggle font */
    --dropdown-toggle-font-size: var(--languages-dropdown-font-size);
    --dropdown-toggle-line-height: var(--languages-dropdown-line-height);
    --dropdown-toggle-font-weight: var(--languages-dropdown-font-weight);
    --dropdown-toggle-font-family: var(--languages-dropdown-font-family);
    /* dropdown toggle colors */
    --dropdown-toggle-text-color: inherit;
    --dropdown-toggle-bg-color: transparent;
    --dropdown-toggle-border-color: var(--dropdown-toggle-bg-color);
    white-space: normal;
    display: block;
    position: relative;
    width: 100%;
    color: var(--languages-dropdown-color);
    background: var(--dropdown-toggle-bg-color);
    border: var(--dropdown-toggle-border-width) solid var(--dropdown-toggle-border-color);
    padding: var(--dropdown-toggle-padding-y) var(--dropdown-toggle-padding-x-right) var(--dropdown-toggle-padding-y) var(--dropdown-toggle-padding-x);
    padding: 0.25rem 1rem;
    font-size: var(--dropdown-toggle-font-size);
    line-height: var(--dropdown-toggle-line-height);
    font-weight: var(--dropdown-toggle-font-weight);
    font-family: var(--dropdown-toggle-font-family);
    text-transform: uppercase;
    text-align: left;
}

.languages-dropdown .dropdown-toggle::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 0rem;
    height: 0rem;
    border-style: solid;
    border-width: 10px 4px 0 4px;
    border-color: #fff transparent transparent transparent;
    margin-top: -0.2rem;
    margin-right: 10px;
}

.languages-dropdown .dropdown-toggle::after {
    display: none;
}


/*
.languages-dropdown .dropdown-toggle .show::after {
	transform: translate(0, -50%) rotate(180deg);
}
*/

.languages-dropdown .dropdown-menu {
    /* dropdown menu common */
    --bs-dropdown-zindex: 1000;
    --bs-dropdown-min-width: 100%;
    --bs-dropdown-max-width: 100%;
    --bs-dropdown-spacer: 0;
    --bs-dropdown-divider-margin-y: 0;
    --bs-dropdown-box-shadow: none;
    --bs-dropdown-border-width: var(--languages-dropdown-border-width);
    --bs-dropdown-border-radius: var(--languages-dropdown-border-radius);
    --bs-dropdown-inner-border-radius: var(--bs-dropdown-border-radius);
    --bs-dropdown-item-border-radius: var(--bs-dropdown-border-radius);
    /* dropdown menu font */
    --bs-dropdown-font-size: var(--languages-dropdown-font-size);
    --bs-dropdown-link-font-size: var(--bs-dropdown-font-size);
    --bs-dropdown-link-line-height: var(--languages-dropdown-line-height);
    --bs-dropdown-link-font-weight: var(--languages-dropdown-font-weight);
    --bs-dropdown-link-font-family: var(--languages-dropdown-font-family);
    /* dropdown menu paddings */
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-padding-y-top: 0;
    --bs-dropdown-padding-y-bottom: 0;
    --bs-dropdown-header-padding-x: 0;
    --bs-dropdown-header-padding-y: 0;
    --bs-dropdown-item-padding-x: var(--languages-dropdown-padding-x);
    --bs-dropdown-item-padding-y: calc( ( var(--languages-dropdown-height) - (var(--languages-dropdown-border-width) * 2) - ( var(--languages-dropdown-font-size) * var(--languages-dropdown-line-height))) * 0.5);
    /* dropdown menu colors */
    --bs-dropdown-color: var(--languages-dropdown-color);
    --bs-dropdown-bg: transparent;
    --bs-dropdown-border-color: var(--bs-dropdown-color);
    --bs-dropdown-link-color: var(--bs-dropdown-color);
    --bs-dropdown-link-hover-color: var(--bs-dropdown-color);
    --bs-dropdown-link-hover-bg: var(--bs-dropdown-bg);
    --bs-dropdown-link-active-color: var(--bs-dropdown-link-hover-color);
    --bs-dropdown-link-active-bg: var(--bs-dropdown-link-hover-bg);
    --bs-dropdown-link-disabled-color: var(--bs-dropdown-link-color);
    --bs-dropdown-divider-bg: var(--bs-dropdown-link-color);
    --bs-dropdown-header-color: var(--bs-dropdown-link-color);
    text-align: right;
    max-width: var(--bs-dropdown-max-width);
    min-width: var(--bs-dropdown-min-width);
    box-shadow: var(--bs-dropdown-box-shadow);
    padding-top: var(--bs-dropdown-padding-y-top);
    padding-bottom: var(--bs-dropdown-padding-y-bottom);
    width: 100%;
    background-color: transparent !important;
    border: 0px;
}

.languages-dropdown .dropdown-menu>li {
    position: relative;
    border-top: 1px solid #fff;
    background-color: transparent !important;
    padding: 0px;
}

.languages-dropdown .dropdown-menu>li:last-child {
    border-bottom: 1px solid #fff;
}

.languages-dropdown .dropdown-menu>li:hover,
.languages-dropdown .dropdown-menu>li.active {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
}

.languages-dropdown .dropdown-menu>li .dropdown-item {
    display: block;
    width: 100%;
    position: relative;
    font-size: var(--bs-dropdown-link-font-size);
    line-height: var(--bs-dropdown-link-line-height);
    font-weight: var(--bs-dropdown-link-font-weight);
    font-family: var(--bs-dropdown-link-font-family);
    text-transform: uppercase;
    text-align: right;
    text-decoration: none;
    white-space: normal;
    border: 0;
    background-color: transparent !important;
    color: #fff !important;
}

.languages-dropdown .dropdown-menu>li .dropdown-item::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border: solid #fff;
    border-width: 0 1px;
    pointer-events: none;
    transition: all 0.3s ease;
    opacity: 0;
}

.languages-dropdown .dropdown-menu>li .dropdown-item:hover::before {
    opacity: 1;
}

.languages-dropdown .dropdown-menu>li .active .dropdown-item::before {
    opacity: 1;
}

.header-light .languages-dropdown .dropdown-toggle::before {
    border-color: #333 transparent transparent transparent;
}

.header-light .languages-dropdown .dropdown-menu>li {
    border-top: 1px solid #333;
}

.header-light .languages-dropdown .dropdown-menu>li:last-child {
    border-bottom: 1px solid #333;
}

.header-light .languages-dropdown .dropdown-menu>li:hover,
.header-light .languages-dropdown .dropdown-menu>li.active {
    border-left: 1px solid #333;
    border-right: 1px solid #333;
}

.header-light .languages-dropdown .dropdown-menu>li .dropdown-item {
    color: #333 !important;
}

@media (min-width: 992px) {
    .languages-dropdown {
        min-width: 59px;
    }
    .languages-dropdown .dropdown-toggle {
        text-align: right;
    }
    .languages-dropdown .dropdown-toggle :hover {
        opacity: 0.75;
    }
    .languages-dropdown .dropdown-menu {
        --bs-dropdown-min-width: 0;
        --bs-dropdown-max-width: none;
        inset: 0 0 auto auto !important;
        bottom: var(--bs-dropdown-bg);
    }
}

@media (max-width: 991.98px) {
    .dropdown-menu {
        --bs-dropdown-color: #fff;
    }
}


/************************ End CSS WEB Angle ******************************/

.outer {
    width: 100%;
    max-width: 800px;
    margin: 0px auto 40px;
    /* header plus footer height */
    /*height: 100%;*/
    text-align: center;
    /*
	clear: both;
	display: block;
	position: relative;
	z-index: 1;
	overflow: auto;
	*/
}

.outer_calendar {
    /* display: inline !important; */
    /* calendar full width */
}

.content {
    vertical-align: middle;
    /* display: table-cell; */
    display: block;
    /* padding: 128px 0 0; */
}

.content_calendar {
    /* display: inline !important; */
    /* calendar full width */
    /*
	max-width: 560px;
	margin: 0 auto;
	*/
}

#div_calendar {
    margin: 0 auto;
    max-width: 560px;
}

.content .inner {
    padding: 0 0px;
    width: 100%;
    height: 72%;
    min-height: 250px;
    margin: 0 auto;
}

@media (max-width: 991px) {
    .outer {
        max-width: 600px;
    }
}

@media (max-width: 450px) {
    .header {
        min-height: auto;
    }
    .outer {
        margin-top: 0px;
        margin-bottom: 80px;
        height: auto;
        width: 100%;
        padding: 0 20px;
        display: block !important;
    }
    .content {
        padding-top: 0px;
        display: block !important;
    }
    .content .inner {
        height: auto;
    }
}


/***** menu *************************************************************************/

ul.menu {
    list-style: none;
    padding: 0px;
}

ul.menu>li {
    margin-bottom: 5px;
}

ul.menu>li>a {
    width: 40%;
}

@media (max-width: 450px) {
    ul.menu>li>a {
        width: 80%;
    }
}

@media (max-width: 350px) {
    ul.menu>li>a {
        width: 90%;
    }
}

ul.menu>li>a.disabled {
    color: #c1c1c1;
    border-color: #c1c1c1;
    cursor: default;
    background-color: #fff;
}

ul.menu>li>a.disabled:hover {}


/***** interiors ********************************************************************/

.panel {
    background-color: #000000 !important;
}

p.separate,
div.separate {
    margin: 0px 0px 30px 0px;
}

.page_title {
    margin: 0px 0px 80px 0px;
    color: #3d3d3d;
    /* text-transform: uppercase; */
    text-align: center;
    font-family: "AvenirNextW1G", sans-serif;
    font-weight: 300;
    /*bold;*/
    font-size: 64px;
    line-height: 72px;
    letter-spacing: -2px;
}

.faq_title {
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 36px;
    line-height: 54px;
    font-weight: 300;
    letter-spacing: -2px;
    color: #3d3d3d;
    text-align: center;
    margin-bottom: 0px;
}

.procedure {
    text-align: justify;
    color: #393939;
    font-size: 0.7em;
    margin-bottom: 40px;
}

.procedure>b:first-child {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 2px;
    color: #393939;
}

.procedure b {
    text-transform: uppercase;
}

.note {
    color: #4b4b4b;
}

a.bold {
    color: #393939;
    font-weight: 500;
    text-decoration: none;
}

.button_bold {
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 21px;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 400;
    /*bold;*/
    text-decoration: none;
    text-align: center;
    color: #000;
    border: 1px solid #000;
    background-color: transparent;
    padding: 10px 25px 10px 25px;
    min-width: 140px;
    display: inline-block;
}

.button_bold:focus,
.button_bold:hover,
.button_bold:active {
    color: #fff;
    background-color: #333;
    text-decoration: none;
    outline: none !important;
}

.button_back {
    font-family: "AvenirNextW1G", sans-serif;
    font-size: 21px;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 500;
    /*bold;*/
    text-decoration: none;
    text-align: center;
    color: #000;
    height: 50px;
    display: inline-block;
    padding: 5px;
    border: 2px solid transparent;
    border-bottom-color: #000;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.button_back:focus,
.button_back:hover,
.button_back:active {
    border-color: #000;
    color: #000;
}

.button_simple {
    font-family: "Montserrat", sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #666666;
    padding: 10px 25px 10px 25px;
    min-width: 140px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    text-transform: uppercase;
    font-weight: bold;
}

.button_simple:focus,
.button_simple:hover,
.button_simple:active {
    color: #666666;
    text-decoration: none;
    outline: none !important;
}

.button_align_top {
    padding-top: 0px;
    margin-top: 0px;
    vertical-align: top;
}

@media (max-width: 450px) {
    #check_code_giftcard.button_bold {
        min-width: 0px;
        padding: 5px 10px;
    }
}


/******************************************************************
 * Form
 ******************************************************************/

.form-group {
    border-bottom: 1px solid #000;
    padding: 0px;
}

.form-group label {
    font-weight: 400;
}

.form_label {
    font-family: "AvenirNextW1G", sans-serif;
    font-size: 21px;
    font-weight: 400;
    color: #000;
}

b.form_label {
    font-weight: 500;
}

.form_label.form_label-little {
    font-family: "Source Sans Pro", sans-serif;
    font-size: 0.8em !important;
}

.form-control,
.select-control {
    font-family: "AvenirNextW1G", sans-serif;
    font-size: 21px;
    font-weight: 400;
    border: none;
    background: transparent;
}

.select-calendar {
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 24px;
    font-weight: 300;
}

.form_element {
    margin: 0px 0px 15px 0px;
    /* per separar elements en pantalles petites, ha de coincidir el bottom amb el de form_label */
}


/*
.form-control {
	background-color: #fff;
	color: #7a6a49;
	border: 1px solid #000;
	font-size: 20px;
}
*/

.form-control.longer {
    height: 50px;
}

.form-control-little {
    padding: 0px 5px;
    font-size: 14px;
    height: 25px;
}

input[type="radio"].form-control {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    height: auto;
    margin: 0px;
}

.form-control:focus,
.form-control:hover,
.form-control:active {
    color: #000;
    outline: none !important;
    border-color: inherit;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.help-block {
    display: block;
    margin-top: 0px;
    margin-bottom: 10px;
    color: #000;
    font-size: 14px;
    text-transform: capitalize;
}

.form-alert {
    color: #ff0000;
    margin: 20px 0px 60px 0px;
    text-align: center;
}

.form-alert-element {
    border: 1px solid #ff0000 !important;
}

.form-alert-text {
    color: #ff0000;
}

.contact-gifts a {
    color: inherit;
    text-decoration: none;
}

.contact-gifts a:hover {
    color: inherit;
    color: #000;
}


/******************************************************************
 * Footer
 ******************************************************************/

.footer {
    width: 100%;
    margin: auto;
    /*height: 115px;*/
    clear: both;
    border-top: 20px;
    position: relative;
    z-index: 2;
    text-align: center;
}

@media (max-width: 450px) {
    .footer {
        /*
		position: fixed;
		bottom: 0px;
		height: 0px;
		height: 115px;
		*/
    }
}

.footer a.page_title {
    color: #786a4c;
}

.footer a.page_title:hover {
    text-decoration: none;
}

.footer>span {
    margin: 0px 5px 0px 5px;
}

.footer>.fa-stack>.bold {
    color: #ffffff;
}

.footer>.fa-stack>.simple {
    color: #4d4d4d;
}

.footer .fa-circle-thin {
    font-size: 40px;
    -webkit-text-stroke: 1px #000000;
    /* make fa circle thin thinner */
}

.footer .calendar-text {
    font-family: "Dosis", sans-serif;
    font-size: 17px;
    line-height: 39px;
    /* el text més centrat a la rodona */
}


/************************ ABaC footer.scss ***************************/

#footer {
    margin-top: auto;
    /* background-color: #4b4b4b; */
    background-color: #151515;
    font-family: "AvenirNextW1G", sans-serif;
    font-size: 20px;
    line-height: 40px;
    letter-spacing: 0.1rem;
    color: rgba(255, 255, 255, 0.5);
}

#footer .footer-strong-color {
    color: #fff;
}

#footer a {
    color: inherit;
    text-decoration: none;
}

#footer a:hover {
    color: inherit;
    color: #fff;
}

#footer .footer-top {
    /* padding-top: 75px;
  padding-bottom: 125px; */
    padding-top: 6rem;
    padding-bottom: 1rem;
}

#footer .footer-logo {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 68px;
    margin-bottom: 45px;
}

#footer .footer-logo a {
    color: inherit;
}

#footer .footer-logo a:hover,
#footer .footer-logo a :focus {
    color: inherit;
}

#footer .footer-logo img,
#footer .footer-logo svg {
    position: absolute;
    z-index: 10;
    top: 0;
    bottom: 0;
    left: 0;
    margin-top: auto;
    margin-bottom: auto;
    width: auto !important;
    max-width: 100%;
    max-height: 100%;
}

#footer .footer-logo svg path {
    fill: currentColor;
}

#footer address {
    margin: 0;
}

#footer .footer-contacts {
    list-style: none;
    margin: 0;
    padding: 0;
}

#footer h4 {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    font-family: inherit;
    color: inherit;
    text-transform: uppercase;
    margin-bottom: 0;
}

#footer .footer-links {
    list-style: none;
    margin: 0;
    padding: 0 0 3.9rem;
}

#footer .footer-bottom {
    /* padding-top: 4.4rem; */
    /* padding-bottom: 4.4rem; */
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}

@media (max-width: 991.98px) {
    #footer {
        font-size: 1.6rem;
        line-height: 1.5;
        letter-spacing: 0.1rem;
    }
    #footer .container {
        --bs-gutter-x: 5rem;
    }
    #footer .row {
        --bs-gutter-x: 1.4rem;
    }
    #footer .footer-top {
        padding-top: 3.7rem;
        padding-bottom: 0;
    }
    #footer .footer-logo {
        height: 4.8rem;
        margin-bottom: 2.9rem;
    }
    #footer address {
        margin-bottom: 2.4rem;
    }
    #footer .footer-links {
        padding-bottom: 3.2rem;
    }
    #footer .footer-extra-section {
        padding-top: 3.8rem;
        padding-bottom: 0.4rem;
        border-top: 1px solid rgba(255, 255, 255, 0.3);
    }
    #footer .footer-extra-section .footer-logo {
        margin-bottom: 3.3rem;
    }
    #footer .footer-extra-section .footer-links {
        padding-bottom: 2.6rem;
    }
    #footer .footer-bottom {
        padding-top: 2.7rem;
        padding-bottom: 2.7rem;
    }
}


/************************ end ABaC footer.scss ***************************/

.go_down {
    position: absolute;
    bottom: 0px;
    padding: 50px;
    width: 50px;
    height: 50px;
    color: #fff;
    rotate: 45deg;
}

.go_down::before {
    content: "";
    border-right: 1px solid;
    border-bottom: 1px solid;
    width: 50px;
    height: 50px;
    display: block;
    margin-top: -25px;
    margin-left: -25px;
}

.go_down:hover {
    cursor: pointer;
}

#navegacion {
    /*position: fixed;*/
    left: 0;
    right: 0;
    bottom: 10px;
    text-align: center;
    z-index: 89;
    padding: 30px 0px 30px 0px;
    /* font-family: 'Dosis', sans-serif; */
    font-family: "Hanken Grotesk", sans-serif;
    font-weight: 500;
    font-size: 16;
    line-height: normal;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

#navegacion ul {
    list-style: none;
    padding: 0px;
}

#navegacion li {
    display: inline;
}

#navegacion a {
    font-size: 16px;
    color: #a6a6a6;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    padding: 0 8px;
    position: relative;
}

#navegacion a:hover {
    color: #333;
    /*#eae5d5;*/
    text-decoration: none;
}

#navegacion a:before {
    content: "";
    display: block;
    height: 1px;
    background: #333;
    width: calc(100% - 2px);
    position: absolute;
    bottom: 4.5px;
    right: -15px;
    z-index: 87;
}


/*#navegacion a.nav_5:before*/

#navegacion a.nav_4:before {
    display: none;
}

#navegacion a:after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    /*background: #786a4c;*/
    border: 1px solid #4c3f37;
    margin: 0px auto 0;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    border-radius: 10px;
    z-index: 88;
    position: relative;
}

#navegacion .active {
    color: #333;
}

#navegacion a.active:after {
    background: #333;
}

#navegacion .tit_hover {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 1.5em;
    text-transform: uppercase;
}

.buttons_pay {
    margin: 70px;
}

@media (max-width: 450px) {
    .buttons_pay {
        margin: 50px;
    }
}

@media (max-width: 350px) {
    .footer>span {
        margin: 0px 0px 0px 0px;
    }
}


/******* select fosc ********************************************************/

.btn-dark {
    color: #000;
    background-color: #fff;
    border-color: #000;
}

.btn-dark:focus,
.btn-dark:hover,
.btn-dark:active {
    color: #000;
    text-decoration: none;
    outline: none !important;
    border-color: #000000;
    /* outline negre */
    -webkit-box-shadow: none;
    box-shadow: none;
}

.bootstrap-select button {
    padding-left: 20px;
}

.dropdown-menu {
    background-color: #fff;
    padding: 0;
    margin: 0;
    border-color: #000;
}

.dropdown-menu>li {
    border-top: 1px solid #000;
    text-align: left;
    /* per alinear esquerra igual que el button */
    padding: 3px 10px;
}

.dropdown-menu>li>a {
    background-color: #fff !important;
    color: #000 !important;
}

.dropdown-menu .divider {
    background-color: #000 !important;
}

.bootstrap-select.btn-group .dropdown-toggle .filter-option {
    color: #7a6a49;
    font-size: 20px;
    line-height: 20px;
}


/******* checkbox fosc ********************************************************/

input[type="checkbox"] {
    display: none;
}

input[type="checkbox"]+label span {
    display: inline-block;
    width: 16px;
    height: 17px;
    margin: 0px 4px 4px 0;
    vertical-align: middle;
    background: url("../img/checkbox.png") left top no-repeat;
    cursor: pointer;
}

input[type="checkbox"]:checked+label span {
    background: url("../img/checkbox.png") -19px top no-repeat;
}


/***** position specific elements ***********************************************/

#tpv_replay_share {
    margin: 0px 0px 30px 0px !important;
}

#tpv_replay_share_icons .bola {
    color: #b2b2b2;
}

#tpv_replay_share_icons .icona {
    color: #000000;
}


/***** media *************************************************************/

@media screen and (min-width: 0px) {
    .left_if_big {
        text-align: center;
    }
    .right_if_big {
        text-align: center;
    }
    table.calendar td a {
        font-size: 1.2em;
    }
    table.calendar td.day_name {
        font-size: 0.7em;
    }
}

@media screen and (min-width: 560px) {
    table.calendar td a {
        font-size: 1.3em;
    }
    table.calendar td.day_name {
        font-size: 0.9em;
    }
}

@media screen and (min-width: 768px) {
    .left_if_big {
        text-align: left;
    }
    .right_if_big {
        text-align: left;
    }
    #form_pax_eat .right_if_big {
        text-align: right;
    }
    #div_submit .right_if_big {
        text-align: right;
    }
    #div_submit .left_if_big {
        text-align: left;
    }
    table.calendar td a {
        font-size: 1.8em;
        font-weight: 700;
    }
    table.calendar td.day_name {
        font-size: 0.9em;
    }
}

@media screen and (min-width: 992px) {}

@media screen and (min-width: 1200px) {}


/****************************************************************************************************/

.lead {
    text-shadow: 0.1em 0em 1.7em rgba(255, 255, 255, 1);
}

.text-muted {
    color: #555555;
}

p.bg-danger {
    padding: 15px;
}


/******************************************************************************
 * Calendar
 ******************************************************************************/

table.calendar {
    margin: 0 auto;
    /*background-image: url('../img/calendar_background.png');*/
    background-size: cover;
    background-repeat: no-repeat;
    background-color: transparent;
}


/*
@media screen and (min-width: 0px) {
	table.calendar { width: 100%; }
}
@media screen and (min-width: 560px) {
	table.calendar { width: 90%; }
}
@media screen and (min-width: 768px) {
	table.calendar { width: 80%; }
}
@media screen and (min-width: 992px) {
	table.calendar { width: 70%; }
}
@media screen and (min-width: 1200px) {
	table.calendar { width: 60%; }
}
*/

table.calendar td {
    width: 70px;
    /*height: 50px;*/
    text-align: center;
    vertical-align: middle !important;
    border: none;
    padding: 0px 0px 0px 0px !important;
    background-color: transparent;
    color: #4d5454;
}

.table>thead>tr>th,
.table>tbody>tr>th,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>tbody>tr>td,
.table>tfoot>tr>td {
    border-top: none;
}

table.calendar td a {
    display: block;
    width: 100%;
    padding: 5px 0px;
    color: #4d5454;
    text-decoration: none;
    text-transform: lowercase;
    font-weight: 300;
    font-size: 36px;
    line-height: 54px;
    letter-spacing: -2px;
    color: #000;
}

table.calendar td a:hover {
    color: #000;
    text-decoration: none;
    background-color: #4b4b4b;
}

table.calendar td a:active {
    color: #fff;
    text-decoration: none;
    background-color: #4b4b4b;
}

table.calendar td.month_name {
    background-color: transparent;
    /*font-family: 'Dosis', sans-serif;*/
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 36px;
    line-height: 54px;
    letter-spacing: -2px;
    color: #000;
    border: none;
}

table.calendar td.day_name {
    font-weight: 300;
    /*font-family: 'Dosis', sans-serif;*/
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 24px;
    line-height: 38px;
    letter-spacing: 0px;
    color: #000;
    border: none;
    padding: 10px 0px !important;
}

table.calendar td.month_change {
    background-color: transparent;
    color: #a2a2a2;
    border: none;
}

table.calendar td.month_change button {
    color: #000;
    font-size: 36px;
}

table.calendar td.month_change button>i {
    display: none;
}

table.calendar td.month_change button.calendar_back::before {
    content: "";
    display: block;
    height: 20px;
    width: 20px;
    border-bottom: 1px solid #000;
    border-left: 1px solid #000;
    rotate: 45deg;
}

table.calendar td.month_change button.calendar_forward::before {
    content: "";
    display: block;
    height: 20px;
    width: 20px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    rotate: 45deg;
}

table.calendar td.day {
    background-color: transparent;
    border: 1px solid;
    line-height: 1.6;
}

table.calendar td.day a {
    color: #4d5454;
}

table.calendar td.day a:hover {
    color: #c5c5c5;
    text-decoration: none;
    background-color: #4b4b4b;
}

@media screen and (max-width: 767px) {
    table.calendar td.day_name {
        font-size: 1.1em;
    }
    table.calendar td a {
        font-size: 1.3em;
    }
    table.calendar td.day {
        line-height: 1.8;
    }
}


/* Don't move down to prevent this style to be dominant above the other styles (pastDay, futureDay, closed, etc) */

table.calendar td.full {
    background-color: #9a9a9a;
}

table.calendar td.full a {
    color: #000;
}

table.calendar td.full a:hover,
table.calendar td.full a:active {
    color: #000;
    text-decoration: none;
    background-color: #9a9a9a;
    cursor: default;
}


/* Empty */

table.calendar td.empty {
    background-color: transparent;
    /*#ccc;*/
}


/* Locked */

table.calendar td.locked {
    background-color: #e5e5e5;
}


/* Active */

table.calendar td a.active,
table.calendar td a.active:hover {
    color: #fff;
    text-decoration: none;
    background-color: #4b4b4b;
}


/* Reserved */

table.calendar td.reserved {
    background-color: #000000;
}

table.calendar td.reserved a {
    background-color: #000000;
    color: #ff0000;
}


/* Past day */

table.calendar td.pastDay {
    opacity: 1;
    background: transparent;
    /*#f6f5f4;*/
}

table.calendar td.pastDay a {
    color: #cacaca !important;
    /*#cecece;*/
}

table.calendar td.pastDay a:hover,
table.calendar td.pastDay a:active {
    color: #cacaca !important;
    /*#cecece;*/
    text-decoration: none;
    background-color: #fff;
    /*#ffe9e9;*/
    cursor: default;
}


/* Future day */

table.calendar td.futureDay {
    background-color: #ffe9e9;
    opacity: 0.4;
}

table.calendar td.futureDay a {
    color: #4d5454;
}

table.calendar td.futureDay a:hover,
table.calendar td.futureDay a:active {
    color: #4d5454;
    text-decoration: none;
    background-color: #ffe9e9;
    cursor: default;
}


/* Closed */

table.calendar td.closed {
    background-color: #efeded;
}

table.calendar td.closed a {
    color: #c5c5c5;
    /*#000;*/
}

table.calendar td.closed a:hover,
table.calendar td.closed a:active {
    color: #c5c5c5;
    text-decoration: none;
    background-color: #efeded;
    cursor: default;
}


/* Legend */

table.calendar .calendar-legend>div {
    display: flex;
    align-items: center;
    gap: 12px;
}

table.calendar .calendar-legend b {
    font-weight: 500;
}

table.calendar .calendar-legend .circle {
    content: "";
    display: block;
    width: 19px;
    height: 19px;
    /*background: #786a4c;*/
    border: 1px solid #4c3f37;
    -webkit-border-radius: 19px !important;
    -moz-border-radius: 19px !important;
    -ms-border-radius: 19px !important;
    border-radius: 19px !important;
}

table.calendar .calendar-legend .circle.active {
    background-color: #4b4b4b;
}

table.calendar .calendar-legend .circle.full {
    background-color: #9a9a9a;
}

table.calendar .calendar-legend .circle.closed {
    background-color: #efeded;
}

.disabled-tt {
    opacity: 0.65;
}

#div_hours>div>div:first-child {
    text-align: right;
}

#div_hours>div>div:last-child {
    text-align: left;
}

#form_calendar .hidden-in-calendar {
    display: none;
}

#kids {
    padding: 15px;
    margin-bottom: 10px;
    background-color: #fff;
    border: solid 1px #ddd;
    border-radius: 4px 4px 0 0;
    box-shadow: none;
    font-size: 0.85em;
    width: 80%;
}

.text-black {
    color: #000;
}

#phone-code-list {
    max-width: 100%;
    min-width: 245px;
}

#phone-code-list a {
    color: #777;
    position: relative;
    white-space: initial;
}

#phone-code-list span.cn {
    /*padding-right:60px;*/
    width: 80%;
    display: inline-block;
}

#phone-code-list span.phc {
    position: absolute;
    right: 20px;
    /*color:#FFFFFF;*/
}

.dropdown-menu {
    width: auto;
    max-height: 400px;
    white-space: nowrap;
    overflow: hidden;
    overflow-y: auto;
}

#header .dropdown-menu {
    max-height: auto;
}

a.dropdown-toggle::before {
    content: "";
    display: inline-block;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ccc;
    border-bottom-color: rgba(0, 0, 0, 0.2);
    position: absolute;
    bottom: -2px;
    right: 7px;
    display: none;
}

a.dropdown-toggle::after {
    content: "";
    display: inline-block;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid white;
    position: absolute;
    bottom: -2px;
    right: 8px;
    z-index: 1001;
    display: none;
}

.open>a.dropdown-toggle::before,
.open>a.dropdown-toggle::after {
    display: block;
}

.info-container {
    border: 1px solid #e2e2e2;
    border-radius: 2px !important;
    padding: 15px;
    text-align: left;
}

.valid {
    /*color: #a3ffa3;*/
}

.error {
    color: #f76565;
}

#error-mssg {
    /* background-color: #c1c1c1; */
    /* text-align: left; */
}

#error-mssg label {
    display: block;
    padding: 0px 15px;
}

#error-mssg label:first-child {
    padding-top: 15px;
}

#error-mssg label:last-child {
    padding-bottom: 15px;
}

.gold_text {
    /*font-family: 'Dosis', sans-serif;*/
    font-size: 1.3em;
    font-weight: 400;
    color: #e0e0e0;
}

.bookings_resume {
    background-color: #e0e0e0;
    padding: 40px 25px;
    margin-bottom: 25px;
}

.bookings_resume .title {
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #393939;
}

.bookings_resume .label {
    text-transform: capitalize;
}

.payment_explanation {
    background-color: #efeded;
    padding: 1.5rem;
    font-size: 16px;
    line-height: 16px;
}


/***** modal *************************************************************/

.btn-group-vertical>.btn-group:after,
.btn-group-vertical>.btn-group:before,
.btn-toolbar:after,
.btn-toolbar:before,
.clearfix:after,
.clearfix:before,
.container-fluid:after,
.container-fluid:before,
.container:after,
.container:before,
.dl-horizontal dd:after,
.dl-horizontal dd:before,
.form-horizontal .form-group:after,
.form-horizontal .form-group:before,
.modal-footer:after,
.modal-footer:before,
.modal-header:after,
.modal-header:before,
.nav:after,
.nav:before,
.navbar-collapse:after,
.navbar-collapse:before,
.navbar-header:after,
.navbar-header:before,
.navbar:after,
.navbar:before,
.pager:after,
.pager:before,
.panel-body:after,
.panel-body:before,
.row:after,
.row:before {
    display: table;
    content: " ";
}

.btn-group-vertical>.btn-group:after,
.btn-toolbar:after,
.clearfix:after,
.container-fluid:after,
.container:after,
.dl-horizontal dd:after,
.form-horizontal .form-group:after,
.modal-footer:after,
.modal-header:after,
.nav:after,
.navbar-collapse:after,
.navbar-header:after,
.navbar:after,
.pager:after,
.panel-body:after,
.row:after {
    clear: both;
}

.custom_modal {
    z-index: 9999;
    overflow-y: auto;
}

.custom_modal .modal-dialog {
    width: 60%;
    margin: 20vh auto 0px;
}

.custom_modal .modal-content {
    box-shadow: none;
    -webkit-box-shadow: none;
    border-radius: 0px;
    border: none;
}

.custom_modal .modal-header,
.custom_modal .modal-footer {
    border: none;
}

.custom_modal .modal-header {
    padding: 35px 50px 0px;
}

.custom_modal .modal-header .close {
    background-image: url("../img/cross.png");
    width: 30px;
    height: 30px;
    background-size: cover;
    opacity: 1;
}

.custom_modal .modal-header .close:hover {
    opacity: 0.2;
}

.custom_modal .modal-body {
    padding: 15px 50px;
}

.custom_modal .modal-body .modal-title {
    font-family: "Source Sans Pro", serif;
    margin-bottom: 20px;
}

.custom_modal .modal-body p {
    font-size: 18px;
    font-weight: normal;
}

.custom_modal .modal-body form fieldset {
    margin: 20px 0px;
}

.custom_modal .modal-body form input[type="text"] {
    display: block;
    width: 100%;
    padding: 10px 0px;
    border: none;
    border-top: 1px solid #000;
}

.custom_modal .modal-body form input.last_input {
    border-bottom: 1px solid #000;
}

.custom_modal .modal-body form input[type="text"]::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #333;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.custom_modal .modal-body form input[type="text"]::-moz-placeholder {
    /* Firefox 19+ */
    color: #333;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.custom_modal .modal-body form input[type="text"]:-ms-input-placeholder {
    /* IE 10+ */
    color: #333;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.custom_modal .modal-body form input[type="text"]:-moz-placeholder {
    /* Firefox 18- */
    color: #333;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.custom_modal .modal-body form input[type="submit"] {
    border: none;
    background: transparent;
    letter-spacing: 1px;
}

.custom_modal .modal-footer .btn-primary {
    background-color: #786a4c;
    border-color: #786a4c;
    white-space: normal;
}

@media (max-width: 756px) {
    .custom_modal .modal-dialog {
        width: 95%;
        margin: 15vh auto 0px;
    }
}


/***** media *************************************************************/

@media (max-width: 710px) {
    #div_iframe_tpv {
        height: 760px;
        width: 100%;
    }
    #div_iframe_tpv iframe {
        width: 100% !important;
        height: 100% !important;
    }
}

@media only screen and (max-width: 444px) {
    /*
	.container {
		padding-left:3.38% !important;
		padding-right:3.38% !important;
		margin-left:0;
		margin-right:0;
	}
	*/
    table.calendar {
        width: 100% !important;
    }
    .table-bordered>thead>tr>th,
    .table-bordered>tbody>tr>th,
    .table-bordered>tfoot>tr>th,
    .table-bordered>thead>tr>td,
    .table-bordered>tbody>tr>td,
    .table-bordered>tfoot>tr>td {
        border-width: 0.243% !important;
    }
    table.calendar td {
        width: 13.143% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    a.btn {
        width: 100% !important;
        padding: 6px 0 !important;
    }
}


/***** general ***********************************************/

.w-100 {
    width: 100%;
}

.h-100 {
    height: 100%;
}

.center {
    text-align: center;
}

.align-left {
    text-align: left;
}

.align-right {
    text-align: right;
}

.white {
    color: #ffffff !important;
}

.red {
    color: red;
}

.inline {
    display: inline;
}

.left {
    float: left;
}

.right {
    float: right;
}

.light {
    font-weight: 300;
}

.normal {
    font-weight: 400;
}

.bold {
    font-weight: 700;
}

.nowraptext {
    white-space: nowrap;
}

.capitalize {
    text-transform: capitalize;
}


/* margin-bottom */

.mb0 {
    margin-bottom: 0px;
}

.mb5 {
    margin-bottom: 5px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 60px;
}


/* margin-top */

.mt0 {
    margin-top: 0px;
}

.mt5 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mt60 {
    margin-top: 60px;
}


/* margin-left */

.ml0 {
    margin-left: 0px;
}

.ml5 {
    margin-left: 5px;
}

.ml10 {
    margin-left: 10px;
}

.ml20 {
    margin-left: 20px;
}

.ml30 {
    margin-left: 30px;
}

.ml40 {
    margin-left: 40px;
}

.ml50 {
    margin-left: 50px;
}

.ml60 {
    margin-left: 60px;
}


/* margin-right */

.mr0 {
    margin-right: 0px;
}

.mr5 {
    margin-right: 5px;
}

.mr10 {
    margin-right: 10px;
}

.mr20 {
    margin-right: 20px;
}

.mr30 {
    margin-right: 30px;
}

.mr40 {
    margin-right: 40px;
}

.mr50 {
    margin-right: 50px;
}

.mr60 {
    margin-right: 60px;
}


/* padding-bottom */

.pb0 {
    padding-bottom: 0px;
}

.pb5 {
    padding-bottom: 5px;
}

.pb10 {
    padding-bottom: 10px;
}

.pb20 {
    padding-bottom: 20px;
}

.pb30 {
    padding-bottom: 30px;
}

.pb40 {
    padding-bottom: 40px;
}

.pb50 {
    padding-bottom: 50px;
}

.pb60 {
    padding-bottom: 60px;
}


/* padding-top */

.pt0 {
    padding-top: 0px;
}

.pt5 {
    padding-top: 5px;
}

.pt10 {
    padding-top: 10px;
}

.pt20 {
    padding-top: 20px;
}

.pt30 {
    padding-top: 30px;
}

.pt40 {
    padding-top: 40px;
}

.pt50 {
    padding-top: 50px;
}

.pt60 {
    padding-top: 60px;
}


/* padding-left */

.pl0 {
    padding-left: 0px;
}

.pl5 {
    padding-left: 5px;
}

.pl10 {
    padding-left: 10px;
}

.pl15 {
    padding-left: 15px;
}

.pl20 {
    padding-left: 20px;
}

.pl30 {
    padding-left: 30px;
}

.pl40 {
    padding-left: 40px;
}

.pl50 {
    padding-left: 50px;
}

.pl60 {
    padding-left: 60px;
}


/* padding-right */

.pr0 {
    padding-right: 0px;
}

.pr5 {
    padding-right: 5px;
}

.pr10 {
    padding-right: 10px;
}

.pr15 {
    padding-right: 15px;
}

.pr20 {
    padding-right: 20px;
}

.pr30 {
    padding-right: 30px;
}

.pr40 {
    padding-right: 40px;
}

.pr50 {
    padding-right: 50px;
}

.pr60 {
    padding-right: 60px;
}


/* font size */

.fs6 {
    font-size: 6px;
}

.fs7 {
    font-size: 7px;
}

.fs8 {
    font-size: 8px;
}

.fs9 {
    font-size: 9px;
}

.fs10 {
    font-size: 10px;
}

.fs11 {
    font-size: 11px;
}

.fs12 {
    font-size: 12px;
}

.fs13 {
    font-size: 13px;
}

.fs14 {
    font-size: 14px;
}

.fs15 {
    font-size: 15px;
}

.fs16 {
    font-size: 16px;
}

.fs17 {
    font-size: 17px;
}

.fs18 {
    font-size: 18px;
}

.fs19 {
    font-size: 19px;
}

.fs20 {
    font-size: 20px;
}

.fs21 {
    font-size: 21px;
}

.fs22 {
    font-size: 22px;
}

.fs23 {
    font-size: 23px;
}

.fs24 {
    font-size: 24px;
}

.fs25 {
    font-size: 25px;
}

.fs26 {
    font-size: 26px;
}

.fs27 {
    font-size: 27px;
}

.fs28 {
    font-size: 28px;
}

.fs29 {
    font-size: 29px;
}

.fs30 {
    font-size: 30px;
}

.fs32 {
    font-size: 32px;
}

.fs34 {
    font-size: 34px;
}

.fs36 {
    font-size: 36px;
}

.fs38 {
    font-size: 38px;
}

.fs40 {
    font-size: 40px;
}

.fs1em {
    font-size: 0.1em;
}

.fs2em {
    font-size: 0.2em;
}

.fs3em {
    font-size: 0.3em;
}

.fs4em {
    font-size: 0.4em;
}

.fs5em {
    font-size: 0.5em;
}

.fs6em {
    font-size: 0.6em;
}

.fs7em {
    font-size: 0.7em;
}

.fs8em {
    font-size: 0.8em;
}

.fs9em {
    font-size: 0.9em;
}

.fs10em {
    font-size: 1em;
}

.fs11em {
    font-size: 1.1em;
}

.fs12em {
    font-size: 1.2em;
}

.fs13em {
    font-size: 1.3em;
}

.fs14em {
    font-size: 1.4em;
}

.fs15em {
    font-size: 1.5em;
}

.fs16em {
    font-size: 1.6em;
}

.fs17em {
    font-size: 1.7em;
}

.fs18em {
    font-size: 1.8em;
}

.fs19em {
    font-size: 1.9em;
}

.fs20em {
    font-size: 2em;
}

.lh0 {
    line-height: 0px;
}

.lh6 {
    line-height: 6px;
}

.lh7 {
    line-height: 7px;
}

.lh8 {
    line-height: 8px;
}

.lh9 {
    line-height: 9px;
}

.lh10 {
    line-height: 10px;
}

.lh11 {
    line-height: 11px;
}

.lh12 {
    line-height: 12px;
}

.lh13 {
    line-height: 13px;
}

.lh14 {
    line-height: 14px;
}

.lh15 {
    line-height: 15px;
}

.lh16 {
    line-height: 16px;
}

.lh17 {
    line-height: 17px;
}

.lh18 {
    line-height: 18px;
}

.lh19 {
    line-height: 19px;
}

.lh20 {
    line-height: 20px;
}

.lh21 {
    line-height: 21px;
}

.lh22 {
    line-height: 22px;
}

.lh23 {
    line-height: 23px;
}

.lh24 {
    line-height: 24px;
}

.lh25 {
    line-height: 25px;
}

.lh26 {
    line-height: 26px;
}

.lh27 {
    line-height: 27px;
}

.lh28 {
    line-height: 28px;
}

.lh29 {
    line-height: 29px;
}

.lh30 {
    line-height: 30px;
}

.lh32 {
    line-height: 32px;
}

.lh34 {
    line-height: 34px;
}

.lh36 {
    line-height: 36px;
}

.lh38 {
    line-height: 38px;
}

.lh40 {
    line-height: 40px;
}