﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

/*------General-------*/

a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

a {
    color: #0366d6;
}

.btn-primary,
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

html, body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    color: #505a78;
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

h1 {
    font-size: 1.7rem;
    color: #20409A;
    margin: 1rem 0;
}

h2 {
    font-size: 1.3rem;
    color: #505a78;
}

.btn-green,
.btn-green.left {
    background-color: #58BEA8;
    font-size: 20px;
    color: white;
    float: right;
    margin-top: 1rem;
}

    .btn-green.left {
        float: left;
    }

.btn:hover,
.btn:focus {
    color: white;
}

.btn.disabled,
.btn:disabled {
    background-color: #c8c8c8;
    cursor: not-allowed;
}

.btn.focus,
.btn:focus {
    box-shadow: unset;
}

.error {
    color: red;
}

.text-danger {
    color: red !important;
}

.underline-descenders {
    display: inline-block;
    border-bottom: 1px solid #000;
    line-height: 0.9;
}

/*----Cookie banner--*/
#cookieConsent {
    position: fixed;
    bottom: 0;
    background-color: white;
    width: 100%;
    text-align: center;
    border: 1px solid #ced4da;
    margin-bottom: 0;
    z-index: 999;
}

    #cookieConsent button {
        float: unset;
        margin: 0.3rem 0rem 0.3rem 2rem;
    }

/*------Header-------*/
.header-logo {
    height: 30px;
    margin-right: 5px;
}

/*------Footer-------*/

.wrapper {
    flex: 1 0 auto;
    margin-bottom: 1rem;
}

.footer-parent {
    flex-shrink: 0;
}

.footer {
    background-color: #ebf6fc;
    padding-top: 10px;
    margin: 0;
    padding-bottom: 10px;
    color: #000;
}

.footer a {
    color: #000;
}

.footer a.footer-contact {
    color: #0366d6;
}

/*---FAQ page---*/
.faq-page p {
    margin-bottom: 0rem;
}

.faq-page ul {
    margin-bottom: 0rem;
    padding-inline-start: 20px;
}

/*---Terms and conditions page---*/
.terms-and-conditions-page ul,
.eu-package-travel-directive-page ul,
.cookie-statement-page ul,
.accessibility-statement-page ul,
.responsible-disclosure-page ul {
    margin-bottom: 0rem;
    padding-inline-start: 20px;
}

.terms-and-conditions-page p,
.eu-package-travel-directive-page p,
.complaints-procedure-page p,
.cookie-statement-page p,
.accessibility-statement-page p,
.responsible-disclosure-page p {
    margin-bottom: 0rem;
}

/* Auto-numbering: clauses (1., 2., ...), reset for each article */
.terms-and-conditions-page ol.tc-clauses {
    counter-reset: tc-clause;
    list-style: none;
    padding-inline-start: 40px;
}

.terms-and-conditions-page ol.tc-clauses > li {
    counter-increment: tc-clause;
    text-indent: -40px;
    margin-bottom: 0.4rem;
}

.terms-and-conditions-page ol.tc-clauses > li::before {
    content: counter(tc-clause) ". ";
    display: inline-block;
    width: 40px;
    text-indent: 0;
    font-weight: normal;
}

.terms-and-conditions-page ol.tc-clauses ol {
    text-indent: 0;
    margin-top: 0.4rem;
}

/*---Validate voucher page---*/
.validate-voucher-text-container {
    margin: 2rem 0rem;
}

.validate-voucher-container .validate-voucher-error {
    margin: 0.6rem 0rem;
}

/*---Reservation overview page---*/
.overview-page .guests-container {
    max-width: 50rem;
    line-height: 1.5;
}

    .overview-page .guests-container .card-body p {
        margin-bottom: 5px;
        word-break: break-word;
    }

.overview-page .card-header {
    padding: 1rem 0 1rem 1rem;
}

.overview-page .card-blue {
    border-color: #3276b1;
}

    .overview-page .card-blue .card-header {
        background-color: #3276b1;
    }

.overview-page .overview-agree-terms.container,
.overview-page .overview-agree-terms .agree-terms-container .container {
    padding: 0;
}

.overview-page .overview-agree-terms input {
    margin-right: 0.7rem;
    transform: scale(1.3);
}

.overview-page .overview-agree-terms .agree-terms-container > * {
    display: inline-block;
}

.overview-page .agree-terms-validation-message {
    display: block;
}

/*------Add guests page-------*/
.add-guests-page .add-guests-arrival-info {
    margin-top: 4%;
    margin-bottom: 3%;
}

.add-guests-page .registration-amenities .form-check {
    transform: scale(1.5);
    margin-left: 3px;
}

.add-guests-page .add-guests-trip-date {
    font-size: 1rem;
    color: #20409A;
}

.add-guests-page #at-least-one-adult-guest-message {
    display: inline-block;
    margin-top: 1rem;
}

/*----------------------Calendar----------------------------*/
.fc-day-today {
    background-color: #fff !important;
    border-radius: 4px !important;
    border: 2px solid rgba(80, 90, 120, 0.3) !important;
}

.fc .fc-daygrid-day.fc-day:not(.fc-day-today) {
    padding: 5px !important;
    border: 2px solid #fff !important;
    border-radius: 4px !important;
}

.fc .fc-daygrid-day-frame {
    max-height: 50px !important;
    min-height: 50px !important;
}

.fc .fc-daygrid-day-number {
    padding: 1px 4px !important;
}

.calendar-navigation {
    margin-bottom: -30px;
    position: relative;
    z-index: 999;
}

.container.calendar-container {
    max-width: 1600px;
}

.calendar-footer-text {
    margin-left: 25px;
}

.legend {
    list-style: none;
    margin-top: 15px;
    display: inline-block;
    padding-left: 26px;
}

    .legend li {
        float: left;
        margin-right: 35px;
    }

    .legend span {
        border: 1px solid #ccc;
        float: left;
        width: 50px;
        height: 25px;
        margin-right: 5px;
    }

    .legend .blue-legend {
        background-color: #5da5e6;
    }

    .legend .purple-legend {
        background-color: #74138e;
    }

    .legend .green-legend {
        background-color: #00af3f;
    }

    .legend .light-green-legend {
        background-color: #a8d08d;
    }

    .legend .light-blue-legend {
        background-color: #8eaadb;
    }

    .legend .light-purple-legend {
        background-color: #d5abff;
    }

    .legend .light-yellow-legend {
        background-color: #ffd965;
    }

/*----------------------Media queries-----------------------*/
@media only screen and (max-width: 1200px) {
    #cookieConsent button {
        display: block;
        margin: 1.5rem auto 0.5rem auto;
    }
}

@media only screen and (max-width: 767px) {
    .calendar-container .calendar-footer-text span {
        float: left !important;
    }

    .btn,
    .overview-agree-terms a.btn.btn-green.left {
        font-size: 18px;
    }
}

@media only screen and (max-width: 576px) {
    h1 {
        font-size: 1.4rem;
    }

    .add-guests-page .registration-fields .form-group.row {
        display: unset;
    }

    .add-guests-page .registration-fields .form-group div.col {
        padding: 0px;
    }

    .add-guests-page .registration-fields .container-fluid {
        padding-bottom: 0;
    }

    .overview-page .card-body {
        padding: 0.5rem 1.25rem
    }

    .overview-page .guests-container {
        line-height: 2;
    }

        .overview-page .guests-container .card-text {
            margin-bottom: 0;
        }

    .fc .fc-daygrid-day-top {
        justify-content: center;
    }

    .fc .fc-daygrid-day-frame {
        max-height: 60px !important;
        min-height: 60px !important;
    }

    .fc .fc-bg-event .fc-event-title {
        margin-top: auto !important;
    }

    .agree-terms-container {
        text-align: left !important;
    }
}
