input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0px 1000px transparent inset;
    transition: background-color 5000s ease-in-out 0s;
}

input[type="date"], input[type="time"] { background: #FFF; }
input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="date"], input[type="time"] {
    box-sizing: border-box;
    padding: 0.25em 0.5em;
    height: 40px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 37px!important; }
.select2-selection {
    border: 1px solid #d1d1d1 !important;
    border-radius: 2px!important;
    height: 40px!important;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: #75758b; }
.select2-container--default .select2-selection--single .select2-selection__arrow b { top: calc(50% + 7px)!important; }

.request-form {
    max-width: 900px;
    margin: 0 auto!important;
    font-size: 0.9em;
}

.b-contain { padding-left: 1.7rem; }
.interest .b-contain, .rooms .b-contain { margin-bottom: 0; }
.settings .b-contain span {
    font-size: 1em;
    vertical-align: 2px;
}
.interest .b-contain span, .rooms .b-contain span {
    font-size: 0.9em;
    vertical-align: 6px;
}
.b-contain input[type="checkbox"] ~ .b-input {
    height: 1rem;
    width: 1rem;
    top: 1px;
}
.b-contain input[type="checkbox"] ~ .b-input::after {
    left: 5px;
    top: 2px;
    width: 0.2rem;
    height: 0.5rem
}

.request-form input, .request-form textarea {
    border: 1px solid #d1d1d1;
    font-family: 'Raleway', serif !important;
    font-weight: 400;
}

.date-persons, .room-pick-row, .button-block-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
}
.room-pick-row { margin-top: 1em; }
.date-persons > div, .room-pick-row > div, .button-block-row > div { width: calc(50% - 10px); }

.icon-input { position: relative; }
.icon-input .pre-icon {
    cursor: pointer;
    position: absolute;
    left: 10px;
    top: 8px;
}
.icon-input input {
    box-sizing: border-box;
    cursor: pointer;
    padding: 0.5em 3em;
    width: 100%;
}
.icon-input .post-icon {
    cursor: pointer;
    position: absolute;
    right: 10px;
    top: 7px;
}
.icon-input .input-dropdown {
    display: none;
    background: #fff;
    box-shadow: 0 0 1em 0 #dfdfdf;
    font-size: 0.8em;
    position: absolute;
    left: 0;
    top: 50px;
    right: 0;
    padding: 1.25em;
    z-index: 100;
    flex-direction: column; flex-wrap: wrap; gap: 5px;
}

.number-input-block {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
}
.number-input-block .title { font-weight: bold; }
.number-input-block .number-input {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 7px;
}
.number-input-block .number-input .value input {
    width: 20px;
    padding: 0;
    border: 0;
    min-width: auto;
    margin: 0;
    text-align: center;
    font-weight: bold;
    font-size: 1.1em;
}
.number-input-block .number-input .remove, .number-input-block .number-input .add {
    background: #9b8b83;
    cursor: pointer;
    width: 25px;
    height: 25px;
    text-align: center;
    color: #fff;
}
.number-input-block .number-input .remove.disabled, .number-input-block .number-input .add.disabled {
    background: #cbcbcb;
    cursor: not-allowed;
}
.number-input-block .number-input .remove i, .number-input-block .number-input .add i {
    vertical-align: 0;
    font-size: 1em;
    font-weight: bold;
}
.input-dropdown .submit a {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.25em;
    text-decoration: none;
    color: #fff;
    background: #9b8b83;
    box-sizing: border-box;
    margin-top: 1em;
}
.children-ages {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 7px;
}

.content-link i {
    vertical-align: -5px;
    font-size: 1.3em;
}
.content-link a {
    text-decoration: none;
    color: #9b8b83;
}
.content-link a:hover {
    text-decoration: underline;
}

.alt_intervall_picker { display: none; }

.button-block {
    border: 1px solid #d1d1d1;
    box-sizing: border-box;
    cursor: pointer;
    padding: 0.2em 0.5em;
}
.button-block:hover {
    background: #7E685B!important;
    color: #fff;
}
.button-block.active {
    background: #9b8b83;
    color: #fff;
}
.button-block .content-block {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
}
.button-block .content-block .icon i { vertical-align: middle; }

.rooms-block {
    display: none;
    border: 1px solid #d1d1d1;
    margin-top: 0.5em;
    padding: 1em;
}
.rooms-block h3 {
    margin: 0 0 0.5em;
}
.rooms-block .rooms {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2px 10px;
}
.rooms-block .rooms > div {
    width: calc(33.33% - 7px);
}

.add-stay { margin-top: 1.25em; }
.small-button {
    text-decoration: none;
    background: #9b8b83;
    color: #fff;
    padding: 0.5em 1.5em;
}
.small-button:hover {
    background: #7E685B;
    color: #fff;
}
.small-button i { vertical-align: -6px; }

.comment { margin-top: 1em; }

.splitter {
    border-bottom: 1px solid #ededed;
    margin: 2em 0;
}
.stays .stay:last-of-type .splitter { display: none; }
.stay { position: relative; }
.delete-stay {
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 10px;
    background: #9b8b83;
    color: #fff;
    padding: 1em;
    box-sizing: border-box;
    width: 10px;
    height: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}
.delete-stay:hover { background: #7E685B; }
.stays .stay:first-of-type .delete-stay { display: none; }

.firstnamelastname, .phonemail {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 15px;
}
.firstnamelastname > div { width: calc(50% - 8px); }
.phonemail > div { width: calc(33.33% - 10px); }
.firstnamelastname input, .phonemail input, .comment textarea, .phoneaccess .select2 { width: 100%!important; }

.phonemail .phone { position: relative; }
.phonemail .phone .select2 {
    width: 62px!important;
    position: absolute!important;
    left: 0!important;
    top: 0!important;
}
.phonemail .phone input { padding-left: 70px; }
.phonemail .phone .select2-selection { padding-top: 1px !important; }

.personaldata input, .personaldata select, .personaldata .select2, .personaldata textarea { margin-bottom: 1em; }
.phonemail input, .phonemail select, .phonemail .select2 { margin-bottom: 0; }
.personaldata textarea {
    height: 80px;
    padding: 0.5em;
    box-sizing: border-box;
}

.address-block .address {
    display: none;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px;
}
.address-block .address input { width: 100%; }
.address-block .address input, .address .select2 { margin-bottom: 0; }
.address-block .address .street { width: calc(40% - 11px); }
.address-block .address .cap { width: calc(15% - 11px); }
.address-block .address .location { width: calc(25% - 12px); }
.address-block .address .country { width: calc(20% - 12px); }

.alternative-streetdata { margin-bottom: 2px; }

.interests {
    display: none;
    flex-flow: wrap;
    border: 1px solid #d1d1d1;
    padding: 0.5em 1em;
    margin-top: 0.5em;
}
.interests .interest {
    display: flex;
    width: 33.33%;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: baseline;
}

#marketing-container, #whatsapp-container, #privacy-container { line-height: 1.2; }
#marketing-container, #whatsapp-container { margin-bottom: 0.5em; }
#privacy-container { margin-bottom: 1.25em; }

.country .select2 {
    width: 100%!important;
    margin-bottom: 0;
}

.offer {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
}
.offer .title {
    background: #998b84;
    color: #fff;
    padding: 0.25em 0.5em;
    min-width: 300px;
    max-width: calc(100% - 40px);
}
.offer .del-offer {
    width: 30px;
    cursor: pointer;
}
.offer .del-offer i { vertical-align: middle; }

.set-interests.button-block .content-block .icon i { vertical-align: -7px; }
.select2-dropdown { border: 1px solid #d1d1d1!important; }

@media screen and (max-width: 1200px) {
    .button-block { padding: 0.35em 0.5em; }
}
@media screen and (max-width: 750px) {
    .interests .interest { width: 50%; }
}
@media screen and (max-width: 700px) {
    .phonemail > div { width: 100%; }
    .rooms-block .rooms > div { width: calc(50% - 5px); }
}
@media screen and (max-width: 540px) {
    .address-block .address { gap: 15px 10px; }
    .address-block .address .street { width: 100%; }
    .address-block .address .cap { width: calc(50% - 5px); }
    .address-block .address .location { width: calc(50% - 5px); }
    .address-block .address .country { width: 100%; }
    .firstnamelastname { gap: 0 10px; }
    .firstnamelastname > div { width: 100%; }
    .date-persons, .room-pick-row, .button-block-row { gap: 15px; }
    .date-persons > div, .room-pick-row > div, .button-block-row > div { width: 100%; }
    .rooms-block .rooms > div { width: 100%; }
    .interests .interest { width: 100%; }
}
@media screen and (max-width: 350px) {
    .address-block .address .cap { width: 100%; }
    .address-block .address .location { width: 100%; }
}