/*#region variabler */

:root {
    --focus-background: #3cbd2a;
    --focus-color: #fff;
    --container-background: lightgray;
    --invalid-option-background: darkgrey;
    --valid-option-background: #fff;
}


/*#endregion*/


/*#region multiroom book*/

.roominfo.btn-info {
    height: 50px;
    border: 1px solid black;
    cursor: pointer;
    vertical-align: middle;
    padding: 1rem;
    text-align: center;
    background-color: #fff !important;
}

#roommodal .room:first-of-type .removeroom {
    /*hide the first 'remove button' - to make sure we always have atleast one room */
    display: none;
}


/*#endregion multiroom book*/


/*#region Knapificerede radioknapper og checkboxe */

.btn.btn-info.packageCategory,
.btn.btn-info.facility {
    padding: 0;
    margin: 5px;
}

.btn.btn-info.packageCategory input,
.btn.btn-info.facility input {
    display: none;
}

.btn.btn-info.packageCategory label,
.btn.btn-info.facility label {
    padding: 3px 11px;
    margin: 0px;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.btn.btn-info.packageCategory input:checked+label,
.btn.btn-info.facility input:checked+label {}

.btn.btn-info.packageCategory input+label::after,
.btn.btn-info.facility input+label::after {
    content: "  ";
    font-family: FontAwesome;
    width: 1em;
    display: inline-block;
    padding-left: 0.25em;
    height: 18px;
    /*magic value fontsize +2px.. but why?*/
}

.btn.btn-info.packageCategory input:checked+label::after,
.btn.btn-info.facility input:checked+label::after {
    content: " \f00c";
}


/*#endregion*/


/*#region css for at gøre det muligt at forklare hvordan søgning virker og hvad der er hvad*/


/*#region booking flow items*/

.addonContainer {
    /*     display: grid;
    grid-template-columns: repeat(5, 1fr); */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 2vh 0;
}

.addonContainer .addon {
    max-width: 25vw;
    overflow: hidden;
}

.roomContainer {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 2vh 0;
}

.addonContainer .addon,
.roomContainer .room {
    margin: 1.25rem;
    border: 1px solid;
    padding: 1rem;
    text-align: center;
    position: relative;
    padding-bottom: 30px;
}

.addonContainer .addon.selected,
.roomContainer .room.selected {
    border: 2px solid var(--focus-background);
}

.addonContainer .addon .image,
.roomContainer .room .image {
    max-height: 242px;
    overflow: hidden;
    width: 100%;
}

.addonContainer .addon .image img,
.roomContainer .room .image img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.addonContainer .addon .name,
.roomContainer .room .name {
    font-size: 1.1vw;
    font-weight: 700;
    text-transform: uppercase;
    padding-top: 15px;
    padding-bottom: 15px;
}

.addonContainer .addon .description,
.roomContainer .room .description {
    /*apologies - but I cant beat the '.container #main p'*/
    font-size: 1.2rem !important;
    margin: 0;
    overflow: hidden;
    font-weight: 600;
    padding: 0 30px;
}

.roomContainer .room a.readmore {
    color: var(--focus-background);
    font-size: 1.2rem;
    font-weight: 600;
}

.addonContainer .addon a.chooseaddon,
.roomContainer .room a.chooseroom {
    padding: 1rem 2rem;
    margin: 5px;
    background: var(--focus-background);
    color: var(--focus-color);
    font-weight: bold;
}

.roomContainer .room .limitedAvailability {
    background-image: url(/typo3conf/ext/idefa_spectraintegration/Resources/Public/images/roomlabel.png);
    height: 165px;
    width: 165px;
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    display: block;
    padding: 1rem;
}

.avaText {
    transform: rotate(-45deg);
    display: block;
    margin-left: -30px;
    margin-top: 30px;
    margin-right: 10px;
    font-weight: bold;
    font-size: 15px;
}

.bookingContainer {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: var(--container-background);
    padding: 10px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.bookingContainer>a {
    /* take up all space */
    display: grid;
}

.bookingitem {
    padding: 2px 5px;
    background: var(--valid-option-background);
    cursor: pointer;
    text-align: center;
    min-height: 80px;
}

.bookingitem.norooms {
    background: #fff;
    cursor: not-allowed;
}

.bookingitem:hover,
.bookingitem.selected {
    background: var(--focus-background);
}

.bookingitem.selected {}

.container #main .bookingitem:hover *,
.container #main .bookingitem.selected * {
    color: var(--focus-color);
}

.opholdskort {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 15px;
}

.opholdskort:hover {
    opacity: 0.7;
}


/*#endregion*/

.spectra-top {
    background-image: url(/fileadmin/bookingtop/bookingheader.jpg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    padding-top: 45px;
    padding-bottom: 45px;
}

.tx-idefa-spectraintegration .container {
    background-color: transparent;
}

.spectra-top h2 {
    font-size: 45px !important;
}

.spectra-top .search-input {
    width: 100%;
    border: none;
    height: 50px;
    text-align: center;
    margin-top: 15px;
}

.spectra-top .col-md-3 input {
    padding-left: 5px;
}

.spectra-top .col-md-3 input,
.spectra-top .col-md-3 select {
    width: 100%;
    height: 50px;
    border: none;
    outline: none;
}

.spectra-top .col-md-3 input:focus,
.spectra-top .col-md-3 input:active,
input[type="search"] {
    outline: none !important;
}

.spectra-top .col-md-3 {
    padding-right: 2px;
    padding-left: 2px;
}

.spectra-top .col-md-3:first-child {
    padding-left: 0;
}

.spectra-top .col-md-3:last-child {
    padding-right: 0;
}

.spectra-top .row {
    padding-bottom: 15px;
}

.spectra-top .hasDatepicker {
    background-image: url(../Icons/cal_icon.png);
    background-repeat: no-repeat;
    background-position: right 20px center;
}

.datepicker .datepicker-switch {
    text-align: center;
    cursor: pointer;
}

.datepicker.dropdown-menu {
    padding: 0;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 1.28);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.18);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.18);
}

.datepicker .table-condensed>thead>tr>th,
.datepicker .table-condensed>tbody>tr>th,
.datepicker .table-condensed>tfoot>tr>th,
.datepicker .table-condensed>thead>tr>td,
.datepicker .table-condensed>tbody>tr>td,
.datepicker .table-condensed>tfoot>tr>td {
    padding: 7px;
}

.datepicker-months {
    max-width: 300px;
}

.datepicker-months .month {
    display: block;
    float: left;
    float: left;
    margin-bottom: 5px;
    margin-right: 10px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    padding: 2px 0;
    width: 50px;
    text-align: center;
    cursor: pointer;
}

.datepicker-months .next,
.datepicker-days .next {
    text-align: right;
}

.datepicker-months .prev,
.datepicker-days .prev {
    text-align: left;
}

.datepicker-months .prev:hover,
.datepicker-days .prev:hover {
    cursor: pointer;
}

.datepicker-months .next:hover,
.datepicker-days .next:hover {
    cursor: pointer;
}

.datepicker-days tbody td {
    text-align: center;
}

.datepicker-days tbody td:hover {
    cursor: pointer;
}


/* CUSTOM SELECT */


/* The container must be positioned relative: */

.custom-select,
.custom-select-two {
    position: relative;
    font-family: Arial;
}

.custom-select select,
.custom-select-two select {
    display: none;
    /*hide original SELECT element: */
}

.select-selected {
    background-color: #fff;
    height: 50px;
}


/* Style the arrow inside the select element: */

.select-selected:after {
    position: absolute;
    content: "";
    top: 46px;
    right: 10px;
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-color: rgb(112, 110, 110) transparent transparent transparent;
}


/* Point the arrow upwards when the select box is open (active): */

.select-selected.select-arrow-active:after {
    border-color: transparent transparent rgb(112, 110, 110) transparent;
    top: 40px;
}

.select-items {
    position: absolute;
    z-index: 9999;
    background-color: #fff;
    width: 97%;
}


/* style the items (options), including the selected item: */

.select-items div,
.select-selected {
    color: rgb(112, 110, 110);
    padding: 12px 16px;
    border: 1px solid transparent;
    border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
    cursor: pointer;
}

.spectra-bookingform .select-selected {
    border: 1px solid rgb(112, 110, 110);
}


/*.custom-select.first .select-selected:after {*/

.custom-select .select-selected:after {
    right: 20px !important;
}

.spectra-bookingform {
    padding: 30px 30px 0 30px;
    border: 1px solid rgb(112, 110, 110);
    clear: both;
    margin: 30px auto !important;
}


/* Style items (options): */

.spectra-bookingform .select-items {
    position: absolute;
    background-color: #fff;
    top: 100%;
    left: 9px;
    right: 0;
    z-index: 99;
    margin-left: 2px;
    margin-right: 2px;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 1.28);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.18);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.18);
}

.spectra-bookingform .custom-select.first .select-items {
    position: absolute;
    background-color: #fff;
    top: 100%;
    left: 9px;
    right: 9px;
    z-index: 99;
    margin-left: 2px;
    margin-right: 2px;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 1.28);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.18);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.18);
}


/* Hide the items when the select box is closed: */

.select-hide {
    display: none;
}

.select-items div:hover,
.same-as-selected {
    background-color: rgba(0, 0, 0, 0.1);
}

.submit-container {
    text-align: right;
    padding-right: 2px;
}

.reset-container {
    padding-left: 2px;
}

.spectra-bottom {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.map-container {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    padding-right: 0;
    max-height: 395px;
}

.map-content {
    width: 100%;
    height: 100%;
    padding: 30px;
    text-align: center;
    max-height: 395px;
}

.filter-container {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    padding-right: 0;
}

.filter-container div[class*='col-'] {
    padding-left: 0;
    padding-right: 0;
}

.filter-container .col-md-12 {
    height: 100%;
}

.filter-container h3 {
    margin: 0;
    padding: 18px 0;
    font-size: 16px;
    text-align: center;
    color: #fff;
    cursor: pointer;
}

.filter-container h3:after {
    position: absolute;
    content: "";
    top: 22px;
    right: 30px;
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-color: #fff transparent transparent transparent;
}

.facilities-tab {
    display: none;
}

.cat-header {
    background-color: #604b4b;
}

.header-container {
    height: 8%;
    min-height: 47px;
}

#c67444{
    margin-top: 0;
}

.categories-tab {
    background-color: #604b4b;
    padding: 30px;
    min-height: 347px;
}

.fac-header {
    background-color: #8d6b6b;
}

.facilities-tab {
    background-color: #8d6b6b;
    padding: 30px;
    min-height: 347px;
}

.filter-container .btn-info {
    background-color: #ffffff;
    border-color: #fff !important;
    border: 1px solid #fff !important;
    color: #fff;
    width: 31%;
}

.filter-container .btn-info:hover {
    background-color: #ffffff;
    border-color: #fff !important;
    border: 1px solid #fff !important;
    color: #fff;
    opacity: 0.7;
}

.filter-container .btn-info label {
    font-size: 16px;
    color: rgb(112, 110, 110);
}

#spectrastart {
    width: 100%;
    clear: both;
}


/* BOOKING - HOTELS */

.hotel {
    width: 100%;
    background-color: #f2f2f0;
    padding: 15px 0;
    display: flex;
    flex-wrap: wrap;
}

.hotel:before,
.hotel:after {
    display: none !important;
}

.hotel .forklelse {
    position: absolute;
    top: 0;
    left: 15px;
    z-index: 9;
    background-image: url(/typo3conf/ext/idefa_spectraintegration/Resources/Public/images/Forklelse.png);
    width: 165px;
    height: 165px;
    cursor: pointer;
}

.hotel .Oplevelser {
    position: absolute;
    top: 0;
    left: 15px;
    z-index: 9;
    background-image: url(/typo3conf/ext/idefa_spectraintegration/Resources/Public/images/Oplevelser.png);
    width: 165px;
    height: 165px;
    cursor: pointer;
}

.hotel .Vandkanten {
    position: absolute;
    top: 0;
    left: 15px;
    z-index: 9;
    background-image: url(/typo3conf/ext/idefa_spectraintegration/Resources/Public/images/Vandkanten.png);
    width: 165px;
    height: 165px;
    cursor: pointer;
}

.hotel .Klassisk {
    position: absolute;
    top: 0;
    left: 15px;
    z-index: 9;
    background-image: url(/typo3conf/ext/idefa_spectraintegration/Resources/Public/images/Klassisk.png);
    width: 165px;
    height: 165px;
    cursor: pointer;
}

.ophold.row {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 15px;
    display: flex;
    flex-wrap: wrap;
}

.opholdskort>a {
    background-color: #fff;
    display: block;
    height: 100%;
}

.hotel h2 {
    font-size: 1.5vw !important;
    width: 100%;
    text-align: center;
    margin-top: 0;
}

.hotel .manchet {
    padding-top: 15px;
    width: 100%;
    text-align: center;
    padding-right: 30px;
    padding-left: 30px;
}

.hotel .col-md-6 {
    display: flex;
    flex-direction: column;
}

.hotel .col-md-6:nth-child(2) {
    padding-right: 0;
}

.hotel .col-md-6:nth-child(3) {}

.hotel-text-content {
    background-color: #e5e5e3;
    padding-top: 45px;
    height: 100%;
}

.ophold-image {
    width: 360px;
    height: 200px;
    overflow: hidden;
}

.ophold-content {
    padding: 15px;
    text-align: center;
    color: #706e6e;
    font-size: 13px;
    padding-bottom: 10px;
}

.ophold-content .btn-primary {
    margin-top: 0 !important;
}

.ophold-content h3 {
    font-size: 20px;
    font-weight: 700;
    margin-top: 15px;
    margin-bottom: 0 !important;
    color: #706e6e;
}

.ophold-manchet {
    font-family: 'Just Another Hand', cursive !important;
    display: block;
    padding-bottom: 15px;
    font-size: 25px;
}

.hotel-items {
    margin-top: 45px;
}


/* PACKAGE VIEW */

.bookingbelt-description {
    text-align: center;
    padding-top: 30px;
}

.booking-top {
    background-color: #E1D3D3;
    margin-bottom: 0;
    clear: both;
}

.spectra-bookingform {
    background-image: url(images/bookingheader.jpg);
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.spectra-bookingform h2 {
    margin-top: 0 !important;
    margin-bottom: 30px !important;
}

.tx-idefa-spectraintegration .container {
    background-color: transparent;
}

.spectra-bookingform h2 {
    font-size: 45px !important;
}

.spectra-bookingform .search-input {
    width: 100%;
    border: none;
    height: 50px;
    text-align: center;
    margin-top: 15px;
}

.spectra-bookingform .col-md-2 input,
.spectra-bookingform .col-md-3 input {
    padding-left: 5px;
}

.spectra-bookingform .col-md-2 input,
.spectra-bookingform .col-md-2 select,
.spectra-bookingform .col-md-3 input,
.spectra-bookingform .col-md-3 select {
    width: 100%;
    height: 50px;
    outline: none;
    border-color: rgb(112, 110, 110);
    border-width: 1px !important;
    border-style: solid !important;
}

.spectra-bookingform .col-md-2 input:focus,
.spectra-bookingform .col-md-2 input:active,
.spectra-bookingform .col-md-3 input:focus,
.spectra-bookingform .col-md-3 input:active,
input[type="search"] {
    outline: none !important;
}

.spectra-bookingform .col-md-2,
.spectra-bookingform .col-md-4,
.spectra-bookingform .col-md-3 {
    padding-right: 10px;
    padding-left: 10px;
}

.spectra-bookingform .col-md-2:first-child,
.spectra-bookingform .col-md-3:first-child {
    padding-left: 0;
}

.spectra-bookingform .col-md-2:last-child,
.spectra-bookingform .col-md-3:last-child {
    padding-right: 0;
}

.spectra-bookingform .row {
    padding-bottom: 15px;
}

.spectra-bookingform .hasDatepicker {
    background-image: url(../Icons/cal_icon.png);
    background-repeat: no-repeat;
    background-position: right 20px center;
}


/* PACKAGE VIEW END */

.bookingitem.selected,
.bookingitem.selected strong,
.bookingitem.selected p {
    color: #fff;
}

.bookingitem:hover strong,
.bookingitem:hover,
.bookingitem:hover p {
    color: #fff;
}

.booking-carousel {
    display: flex;
    flex-wrap: wrap;
}

.nextbooking,
.prevbooking {
    background: var(--container-background) !important;
    border: none !important;
    justify-content: center;
    display: flex;
    flex-direction: column;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.nextbooking:hover,
.prevbooking:hover {
    background: var(--container-background);
}

.nextbooking img,
.prevbooking img {
    margin: 0 auto;
}

.nextbooking:hover img,
.prevbooking:hover img {
    opacity: 0.7;
}

.roomContainer .pricefrom,
.addonContainer .pricefrom {
    margin: 30px 0;
    display: block;
}

.hotel-items {
    margin-top: 45px !important;
}

.room .price,
.addon .price {
    font-size: 30px;
    font-weight: 700;
}

.basket-room div[class*='col'] {
    padding-left: 0;
}

.basket-room {
    padding-top: 30px;
}

.basket-room td {
    padding-right: 30px;
    padding-bottom: 10px;
    font-weight: 600;
}

.dropdown-item img {
    height: 22px;
    margin-right: 10px;
}

.package-top-image {
    max-height: 600px;
    width: 100% !important;
}

body .title-no-padding .arrow-subtitle.subtitle-singlebooking{
    font-weight: 600 !important;
    font-size: 40px !important;
    margin-top: 30px;
}

body .title-singlebooking{
    font-size: 40px !important;
}

.package-top-image img {
    height: auto;
}

.btn-success {
    padding: 10px 15px;
    color: #fff !important;
    background-color: #3cbd2a !important;
    border-color: #3cbd2a;
    margin-top: 15px;
    margin-bottom: 15px;
}

.btn-success:hover {
    background-color: #3cbd2a !important;
    border-color: #3cbd2a !important;
    color: #fff !important;
    opacity: 0.7;
}

.btn-primary {
    /* padding: 3px 15px !important; */
}

.basketshare {
    text-align: center;
    padding-top: 30px;
    width: 50%;
    float: none;
    padding-right: 10px;
    margin: 0 auto;
}

.basketremove {
    width: 50%;
    padding-top: 15px;
    text-align: center;
    margin: 0 auto;
    float: none;
}

.basketremove a {
    text-decoration: underline !important;
    color: #706e6e !important;
}

.reservation-item {
    display: flex;
    flex-wrap: wrap;
}

.reservation-item.container h5{
    font-size: 22px !important;
    text-align: left !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: 'Just Another Hand',cursive;
}

.reservation-item .header-subheader{
    margin-top: 5px !important;
}

.reservation-item table td {
    padding-right: 30px;
    font-weight: 600;
    padding-bottom: 10px;
    font-size: 14px;
}

.res-item-price {
    font-weight: 700;
    font-size: 22px;
}

.res-right {
    padding-top: 64px;
}

.res-left {
    border-right: 1px solid #eee;
}

.reservations {}

.total-price-container {
    text-align: center;
    width: 100%;
    font-size: 40px;
    font-weight: 700;
}

.payment-action {
    text-align: center;
}

.res-right h4 {
    padding-left: 15px;
    margin-top: 0;
}

.res-right input[type='text'],
.res-right input[type='email'] {
    height: 50px !important;
}

.submit-container .btn-primary {
    padding: 10px 15px !important;
}

.form_search_label {
    font-size: 11px;
    background-color: #604B4B;
    color: #fff;
    padding: 2px 10px;
}

.f-col .footer-widget:first-child {
    margin-bottom: 0 !important;
}

.no-padding-color-boxes .col-md-3>div,
.no-padding-color-boxes .col-md-3 .parallax,
.no-padding-color-boxes .col-md-3 .nobackground {
    height: 100%;
}

.datepicker .active.day {
    background-color: #eb212d !important;
    color: #fff !important;
}

.cleartabs {
    display: block;
    text-align: center;
    color: #fff;
    padding-top: 5px;
    text-decoration: underline;
    cursor: pointer;
}

.pack-submit .btn-primary, .pack-submit .btn-secondary {
    padding: 0 15px !important;
    height: 50px;
    margin: 24px 0 0 0 !important;
}

.bookingContainer strong {
    border-bottom: 1px solid #706e6e;
    width: 80%;
    display: block;
    margin: 0 auto;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 5px;
}

.bookingitem.selected strong {
    border-color: #fff !important;
}

.bookingitem p {
    margin: 0 !important;
}

.modal-small-images {
    width: 100%;
    clear: both;
    padding-bottom: 30px;
}

.modal-small-images ul {
    margin: 0;
    padding: 0;
}

.modal-small-images ul li {
    list-style-type: none;
    float: left;
    margin: 15px;
    width: 150px;
    height: 100px;
    overflow: hidden;
}

.modal-small-images ul li.active {
    border: 3px solid #f2132d;
}

.modal-small-images ul li img {
    cursor: pointer;
}

.modal-large-image {
    max-width: 910px;
    overflow: hidden;
}

.modal-body .modal-title {
    font-size: 30px;
    text-transform: uppercase;
    font-weight: 800;
    text-align: left;
}

.modal-body .description {
    text-align: left;
    padding-left: 0 !important;
    font-size: 16px;
}

.modal-body .description p {
    font-size: 16px;
}

.modal-body .fac-right {
    text-align: left;
    padding-left: 15px;
}

.modal-footer {
    border-top: none !important;
}

.modal-body .facilities {
    margin-top: 46px;
    border-left: 1px solid #e5e5e5;
}

.modal-header {
    border-bottom: none !important;
}

.modal-header .close {
    font-size: 15px;
    opacity: 1;
}

.modal-header .close:after {
    content: "x";
    padding: 0 10px 4px 10px;
    color: #fff;
    font-size: 20px;
    background-color: #f2132d;
    line-height: 20px;
    vertical-align: middle;
    font-weight: normal;
}

.modal-header .close span {
    padding-top: 4px;
    display: block;
    float: left;
    padding-right: 5px;
}

.modal-small-images ul {
    padding-left: 0 !important;
}

.modal-small-images ul li:first-child {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.addToBasket {
    padding: 10px 15px !important;
}

.basketremove .btn-success {
    padding: 10px 15px !important;
}

.infoform {
    margin: 0 auto;
    float: none;
}

.buyerinfo input[type='text'],
.buyerinfo input[type='email'],
.buyerinfo select {
    height: 50px;
}

.payment-action {
    float: none;
    margin: 0 auto;
}

.bask_back {
    text-align: center;
}

.bask_share {
    text-align: left;
}

.ophold-list .ophold-image {
    width: 100% !important;
    height: auto !important;
}

.map-content.hotels {
    min-height: 375px;
    width: 100%;
}

.ophold-description {
    min-height: 90px;
}

.ophold-content h3 {
    min-height: 44px;
}

#addon_items,
#room_items {
    clear: both;
}

#salesmodal {
    text-align: left !important;
}

.opholdskort h3 {
    min-height: 82px !important;
}

.bookingbelt-description ul {
    padding-left: 0;
    margin-bottom: 0;
}

.bookingbelt-description ul li {
    list-style-type: none;
    font-weight: normal;
}

.bookingbelt-description .modal-content ul li {
    list-style-type: disc !important;
    font-weight: 700;
}


/* .bookingbelt-description ul:after, .bookingbelt-description ul:before{
    content:"";
    width: 40px;
    border-bottom: 1px solid #333;
    margin: 10px auto;
    opacity: 0.2;
    display: block;
} */

.bookingbelt-description ul {
    width: fit-content;
    margin: 0 auto;
    text-align: left;
    border-top: 1px #706E6E solid;
    border-bottom: 1px #706E6E solid;
    border-left: none;
    margin-top: 15px;
    margin-bottom: 15px;
    padding: 20px 30px;
    width: 400px;
}

.bookingbelt-description ul li:last-child:after {
    display: none;
}

.bookingbelt {
    padding: 10px 0 !important;
}

.room {
    clear: none !important;
    float: none !important;
    width: auto !important;
}

.missingvalue {
    border-color: #dc3545 !important;
}

.packDesc {
    min-height: 84px;
}

.payment-action {
    clear: both;
}

.ophold-image {
    max-height: 210px;
    overflow: hidden;
}

.room .image {
    max-height: 225px !important;
    overflow: hidden;
}

.hotellist .opholdskort h3 {
    min-height: 28px !important;
}


/* LABELS FOR HOTEL LIST */

.opholdskort .forklelse {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
    background-image: url(/typo3conf/ext/idefa_spectraintegration/Resources/Public/images/Forklelse.png);
    width: 165px;
    height: 165px;
    cursor: pointer;
}

.opholdskort .Oplevelser {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
    background-image: url(/typo3conf/ext/idefa_spectraintegration/Resources/Public/images/Oplevelser.png);
    width: 165px;
    height: 165px;
    cursor: pointer;
}

.opholdskort .Vandkanten {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
    background-image: url(/typo3conf/ext/idefa_spectraintegration/Resources/Public/images/Vandkanten.png);
    width: 165px;
    height: 165px;
    cursor: pointer;
}

.opholdskort .Klassisk {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
    background-image: url(/typo3conf/ext/idefa_spectraintegration/Resources/Public/images/Klassisk.png);
    width: 165px;
    height: 165px;
    cursor: pointer;
}

.hotellist .ophold-content .btn-primary {
    margin-bottom: 0 !important;
}

.greenfee-content h3 i {
    position: relative;
}

h3 i .greenfree-tooltip {
    position: absolute;
    top: 98%;
    right: 8px;
    background-color: #333;
    color: #fff;
    border-radius: 5px;
    min-width: 200px;
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
    padding: 10px;
    display: none;
}

h3 i:hover {
    cursor: help;
}

h3 i:hover .greenfree-tooltip {
    display: block;
}

.mapplacephone{
    margin-top: 5px;
}

.mapplaceweb{
    margin-top: 10px;
}

.mapplacetitle {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

.hotel-search-left-top {
    padding-right: 7.5px;
}

.hotel-search-right-top {
    padding-left: 7.5px;
}

.ophold.row>div:nth-child(1) {
    padding-left: 0 !important;
}

.index_0,
.index_3,
.index_6,
.index_9,
.index_12,
.index_15,
.index_18,
.index_21,
.index_24,
.index_27 {
    padding-left: 0 !important;
}

.index_2,
.index_5,
.index_8,
.index_11,
.index_14,
.index_17,
.index_20,
.index_23,
.index_26,
.index_29,
.index_32 {
    padding-right: 0 !important;
}

.index_0 .ophold-image,
.index_3 .ophold-image,
.index_6 .ophold-image,
.index_9 .ophold-image,
.index_12 .ophold-image,
.index_15 .ophold-image,
.index_18 .ophold-image,
.index_21 .ophold-image,
.index_24 .ophold-image,
.index_27 .ophold-image {
    width: 365px;
}

.index_2 .ophold-image,
.index_5 .ophold-image,
.index_8 .ophold-image,
.index_11 .ophold-image,
.index_14,
.index_17 .ophold-image,
.index_20 .ophold-image,
.index_23 .ophold-image,
.index_26 .ophold-image,
.index_29 .ophold-image,
.index_32 .ophold-image {
    width: 365px;
}

.force_date_message {
    display: none;
}

.ekstratekst p {
    font-size: 14px !important;
}

.booking-carousel {
    display: none;
}

.roompop .modal.fade .modal-dialog {
    width: 50%;
}

.datepicker {
    z-index: 9999 !important;
}

.datepicker .prev {
    visibility: visible !important;
}

.total-price-small {
    font-size: 22px !important;
}

.modal-large-image img {
    max-height: 500px;
}

#termLabel:hover {
    cursor: pointer !important;
}

h3 .forceDays_show {
    font-size: 19px !important;
    display: block;
    font-family: 'Just Another Hand', cursive;
    letter-spacing: 3px !important;
    font-weight: 500 !important;
}

h3.noarrow::after {
    display: none !important;
}

h3.noarrow {
    text-align: center;
}

.marketing .kundeklub{
    display: none !important;
}

.subscribe-kundekroner{
    padding-top: 30px;
    display: none;
}

#getkundekrkode, #getkundekr{
    height: 49px;
    margin-top: 0;
    line-height: 28px;
}

#getkundekrkode:hover, #getkundekr:hover{
    color: #fff !important;
}

.btn-primary.sub-checked{
    background-color: #3cbd2a !important;
    border-color: #3cbd2a !important;
    position: relative;
}

.btn-primary.sub-checked:before{
    content: "";
    display: block;
    background-image: url(../images/checkmarkwhite.png);
    width: 20px;
    height: 20px;
    background-size: cover;
    background-repeat: no-repeat;
    left: 10px;
    top: 50%;
    transform: translate(0, -50%);
    position: absolute;
}

.btn-primary.disabled{
    background-color: #ccc !important;
    border-color: #ccc !important;
}

.code-button-container{
    padding-bottom: 15px;
}

.inputload{
    background-image: url(../images/loading.gif);
    background-repeat: no-repeat;
    background-position: right 20px center;

}

.code-invalid{
    background-color: #f8d7da !important;
}

.krone-input{
    min-height: 50px;
    border-left: 1px solid #d2d2d2;
}

.krone-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 15px;
}

.krone-label{
    font-size: 25px;
    min-height: 55px;
    display: flex;
    align-items: center;
}

.krone-input-container{
    min-height: 55px;
    display: flex;
    align-items: center;
}

.krone-input-container input{
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 0 !important;
}

.kundekrcodebox legend,
.paymentoptionsbox legend{
    background-color: #eb212d;
    color: #fff;
    padding: 5px;
}

.kundekrcodebox legend{
    font-size: larger;
}

.code-subsubtext, .code-subtext{
    display: block;
    padding: 5px;
}

.code-subsubtext{
    display: none;
}

.yulsn-readmore{
    font-weight: bold;
    cursor:pointer;
}

div[data-title='Weekendophold special (1 nat) v1']{
    display: none;
}

div[data-title='Weekendophold special (1 nat) v2']{
    display: none;
}

div[data-title='Weekendophold special (2 nætter) v1']{
    display: none;
}

div[data-title='Weekendophold special (2 nætter) v2']{
    display: none;
}

div[data-title='Miniferie special (3 nætter) v1']{
    display: none;
}

div[data-title='Miniferie special (3 nætter) v2']{
    display: none;
}

.multiroom-close{
    width: 40px;
    height: 40px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../Icons/close.png);
    background-size: cover;
    background-repeat: no-repeat;
    cursor: pointer;
}

.spectra-bookingform #roommodal{
    overflow: visible !important;
}

.room.row h5{
    font-size: 16px !important;
    text-align: left !important;
}

.multiroom-alert{
    display: none;
    margin-top: 15px;
}

.labelPackages{
    position: absolute;
    background-color: #eb212d !important;
    color: #fff;
    right: 0;
    bottom: 0;
    padding: 3px 5px;
}

.ophold-image{
    position: relative;
}

.hp-cats .ophold.row{
    justify-content: center;
}

/* .hp-cats .ophold.row .opholdskort{
    flex: auto;
    max-width: 33.3333%;
    margin: 0 auto;
} */

.room.row > div{
    padding-left: 0;
}

/* NEW BOOKING CALENDAR */
.main-booking-container{
    display: grid;
    grid-template-columns: 45% 55%;
    max-width: 1600px;
    margin: 0 auto;
}

.calendar .calendar-top{
    display: grid;
    grid-template-columns: 20% 60% 20%;
    width: 100%;
}

.calendar .calendar-days{
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    width: 100%;
    margin-bottom:3px;
}

.calendar-booking-items{
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 3px;
}

.booking-container-left > .container.booking-carousel.nr1{
    width: 100%;
}

.calendar-booking-items .bookingitem{
  
}

.bookingitem.norooms.otherMonth{
    background-color: #f1f1f1;
    color: rgba(112,110,110,0.3);
}
.bookingitem.otherMonth{
    background-color: #f1f1f1;
    color: rgba(112,110,110,1);
}

.bookingitem.norooms.currentMonth{
    background-color: rgb(227, 232, 223,0.4);
    color: rgba(112,110,110,0.3);
}




.calendar-price{
    font-size: 15px;
    display: block;
    font-weight: bold;
}

.calendar-booking-items a > div, .bookingitem.currentMonth.loading:not(.selected){
    background-color: #e3e8df;
}

.bookingitem.norooms{
    position: relative;
}

.calendar-norooms, .bookingitem.error span{
    display: flex;
    justify-items: center;
    align-items: center;
    font-size: 11px;
}


.bookingitem.norooms:hover strong{
    color: rgba(112,110,110,0.3) !important;
}



#room_items{
    padding-bottom: 0 !important;
}

#room-content .roomContainer{
    margin-top: 0 !important;
    display: flex;
    flex-direction: column;
}



.addonContainer .addon .image img, .roomContainer .room .image img{
    aspect-ratio: 1;
}

.addonContainer .addon, .roomContainer .room{
    padding-bottom: 0 !important;
    padding: 0 !important;
}

.roomContainer > div{
    width: 100%;
}


.calendar-loading{

    display: flex;
  
    height: 100%;
    width: 100%;
    min-height: 495px;
    margin-top: 1.25rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.calendar-loading h3{
  
}


.calendar-loading svg{ 
    width: 100px;
    height: 100px;
}

.calendar{
    display: none;
}

.booking-container-left{
    min-height: 624px;
}

body .spectra-search.spectra-bookingform{
    background-image: none;
    border: none;
    background-color: #f3f3f3;
}

.rooms-header{
    padding-bottom: 30px;
}

.main-booking-container .calendar{
    width: 100%;
}

.calendar-booking-items .bookingitem{
    position: relative;
}

.calendar-price{
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translate(-50%, 0);
}


.bookingitem.otherMonth:hover strong, .bookingitem.otherMonth:hover, .bookingitem.otherMonth:hover p{
    color: #706e6e;
    opacity: 0.5;
}

body .bookingitem.norooms.otherMonth:hover strong, body .bookingitem.norooms.otherMonth:hover, body .bookingitem.norooms.otherMonth:hover p{

    opacity: 1 !important;
}

.calendar-top {
    padding-top: 10px;
    margin-top: 1.25rem;
}

.calendar-top, .calendar-days > div{
    background-color: #e3e8df;
}

body .bookingitem.norooms.selected{
    background-color: #fcf8e3 !important;

}

body .bookingitem.norooms.selected strong, body .bookingitem.norooms.selected, body .bookingitem.norooms.selected p{
    color: #706e6e !important;
}

body .roominfo.btn-info{
    background-color: #fff !important;
}

@media screen and (min-width:993px){
    .container.booking-carousel.nr1{
        position: sticky;
        top: 50px;
        
}

    
.room-row{
    display: grid;
    grid-template-columns: 30% 40% 30%;
    padding: 10px;
}

.room-row-description{
    padding-left: 10px;
    text-align: left;
}
}



.modal-large-image img{
    aspect-ratio: 16/9;
    object-fit: cover;
    width:100%;
}


.modal-small-images{
    margin-top: 10px;
}

.modal-small-images ul{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 10px;
}

.modal-small-images ul li{
    margin: 0 !important;
    width: 100%;
    height: 100%;
}

.modal-small-images ul li img{
    aspect-ratio: 16/9;
    object-fit: cover;
    width:100%;
}

.room-row-end{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.roomContainer .pricefrom, .addonContainer .pricefrom{
    margin: 0 0 30px 0;
}

body .bookingitem.header{
    min-height: 0;
}

body .addonContainer .addon .name, body .roomContainer .room .name{
    padding-top: 0;
    line-height: normal;
}

.calendarTitle{
    font-weight: bold;
}

.main-booking-container.no-rooms{
    display: block !important;
}

.norooms-mobile{
    display: none;
}


.radio-container{
    display: grid;
    grid-template-columns: 30px auto;
    margin-bottom: 15px;
}

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

.ophold-list .opholdskort > a{
    position: relative;
}

body.modal-open{
    overflow: hidden !important;
}

body.modal-open #roommodal{
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
    min-height: 90% !important;
    padding-right: 0 !important;
}

#roommodal .modal-dialog{
    margin: 0 !important;
}


/* width */
body.modal-open #roommodal::-webkit-scrollbar {
    width: 10px;
    top:30px;
  }
  
  /* Track */
  body.modal-open #roommodal::-webkit-scrollbar-track {
    background: #f1f1f1; 
  }
   
  /* Handle */
  body.modal-open #roommodal::-webkit-scrollbar-thumb {
    background: #888; 
  }
  
  /* Handle on hover */
  body.modal-open #roommodal::-webkit-scrollbar-thumb:hover {
    background: #555; 
  }


.picknewdate {
    background-color: #e3e8df;
    border: 0;
    padding: 1em;
    margin: 0 auto;
    width: fit-content;
    border-radius: 0.25em;
    font-size: large;
    text-transform: UPPERCASE;
    font-weight: 800;
}



body .spectra-bookingform h2.booking-boks-header{
    margin-bottom: 0 !important;
    font-size: 35px !important;
}

.bookingbelt-description.istwocolumn{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}



body .booking-boks-subheader{
    margin-top: 0 !important;
    margin-bottom: 30px !important;
}

.istwocolumn .bookingbelt-col1{
    border: 1px solid #333;
    padding: 20px;
}


.istwocolumn .bookingbelt-col2{

    padding: 20px;
}

.istwocolumn .bookingbelt-col2 a[class*='btn']{
    width: 70%;
    margin-bottom: 0;
    margin-top: 0;
}

.istwocolumn{
    padding-bottom: 30px;
}

@media screen and (max-width: 1100px){
    .bookingbelt-description.istwocolumn{
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media screen and (max-width: 768px){

    .arrow-subtitle.subtitle-singlebooking{
        word-break: break-all;
    }

  

    body .spectra-bookingform h2.booking-boks-header{
        margin-bottom: 0 !important;
        font-size: 35px !important;
    }
    
    body .booking-boks-subheader{
        margin-top: 0 !important;
        margin-bottom: 30px !important;
    }
}

.btn-secondary{
    background-color: #3cbd2a !important;
    border-color: #3cbd2a !important;
    color: #fff !important;
    border-style: solid;
}

body .addonContainer .addon a.chooseaddon, body .roomContainer .room a.chooseroom{
    background-color: #3cbd2a !important;
    border-color: #3cbd2a !important;
    color: #fff !important;
}

.no-rooms .booking-container-left{
    display: none;
}