:root {
    --blue: #3965F5;
    --red: #FF0000;
    --salad: #A0EF16;
    --grey: #B5B1B7;


    --container-width: 1200px;
    --window-padding: 30px;
    --h1-to-content: 20px;

    --mob-version-width: 800px;
}

* {
    box-sizing: border-box;
}

body {
    font-family: "Open Sans", sans-serif;
    background-color: var(--blue);
    /*background-color: var(--blue);*/
    font-size: 16px;
    margin: 0;
    padding: 0;
}

.left {
    float: left;
}

.mainMenuHolder {
    /*display: none;*/
    float: right;
}

/*!*HEADER*!*/
header {
    height: 70px;
}

#headerContainer {
    width: 100%;
    max-width: var(--container-width);
    height: 70px;
    margin: auto;
    padding: 0 var(--window-padding)
}

/*Do vertical align with this element*/
div.headItem:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

div.headItem {
    height: 100%;
}

img#logo {
    vertical-align: middle;
}

ul#main_menu {
    display: inline-block;
    height: 100%;
    list-style-type: none;
    overflow: hidden;
    vertical-align: middle;
    margin: 0;
    padding: 0;
}

#main_menu li {
    float: left;
    height: 100%;
}

#main_menu li a {
    display: inline-block;
    height: 100%;
    text-align: center;
    padding: 0 16px;
    text-decoration: none;
    color: white;
    font-family: 'Poppins', serif;
    font-weight: bolder;
    font-size: 16px;
}

#main_menu li a:hover {
    text-decoration: underline;
}

#main_menu li a:after {
    content: '';
    height: 100%;
    display: inline-block;
    vertical-align: middle;
}


/* Main content */
main {
    max-width: var(--container-width);
    margin: auto;
}

h1 {
    display: inline-block;
    width: 100%;
    font-size: 30px;
    color: white;
    font-family: 'Poppins', sans-serif;
    font-weight: bolder;
    padding: 0 var(--window-padding);
    margin: 30px 0 0 0;
}


/* Row, holding main content blocks*/
.row {
    /*background-color: red;*/
    margin-top: var(--h1-to-content);
    display: flex;
    flex-flow: row-reverse wrap;
}

div#reservationBox {
    background-color: white;

    flex-basis: 306px;
    min-width: 250px;
    max-width: 366px;
    flex-grow: 1;

    padding: 20px 30px 30px 30px;
    margin-left: var(--window-padding);
}

div#reservationBox H3 {
    color: var(--blue);
    font-family: "Poppins", serif;
    font-size: 24px;
    padding: 0;
    margin: 0 0 5px 0;
}

div#reservationBox p.leftPlaces {
    font-family: "Poppins", serif;
    font-size: 16px;
}

div#reservationBox p.leftPlaces b {
    color: var(--blue);
}

div#reservationBox label {
    margin-top: 20px;
    display: block;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: bold;
}

div#reservationBox label a:hover {
    text-decoration: none;
}

div#reservationBox label .tooltip {
    font-weight: normal;
    font-size: 13px;
}


div#reservationBox input[type=text],
div#reservationBox input[type=email] {
    display: block;
    margin-top: 6px;
    width: 100%;
    height: 45px;
    border: 1px solid var(--grey);
    padding-left: 10px;
    font-size: 16px;
}

/*div#reservationBox input:invalid { border:2px solid red; }*/

.plateNumber {
    text-transform: uppercase;
}

div#reservationBox h3#reservationSummary {
    margin-top: 30px;
    margin-bottom: 10px;
}

div.referenceRow {
    width: 100%;
    display: flex;
    overflow: hidden;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: bold;
    margin-top: 7px;
}

div.referenceRow .title {
    flex: 0 0 auto;
    font-weight: normal;
}

div.referenceRow .dots {
    flex: 1 1 auto;
    margin-top: 15px;
    position: relative;
    font-weight: normal;
}

div.referenceRow .dots:before {
    position: absolute;
    bottom: 5px;
    width: 94%;
    border-bottom: 1px dotted black;
    content: '';
    left: 3%;
}

div.referenceRow .value {
    flex: 0 0 auto;
}

div.cancelationFree {
    margin-top: 15px;
    color: red;
}
div.cancelationExpl {
    margin-top: 15px;
    font-size: 14px;
    font-weight: 400;
}


input#submitBtn {
    display: block;
    height: 50px;
    width: 100%;
    cursor: pointer;
    background-color: var(--salad);
    border-radius: 30px;
    margin-top: 30px;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 16px;
    font-family: Poppins, serif;
    border: none;
}

img#paysera {
    display: block;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    width: 150px;
}


/*CHECKBOX*/
div#reservationBox label.container {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-weight: normal;
}

/* Hide the browser's default checkbox */
.container input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
    height: 20px;
    width: 10px;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 20px;
    border: 1px solid var(--grey);
    /*background-color: var(--grey);*/
}

/* On mouse-over, add a grey background color */
.container:hover input ~ .checkmark {
    background-color: var(--blue);
    border-color: var(--blue);
}

/* When the checkbox is checked, add a blue background */
.container input:checked ~ .checkmark {
    background-color: var(--blue);
    border: none;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.container input:checked ~ .checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.container .checkmark:after {
    left: 7px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}


div#rightColumn {
    flex-basis: 350px;
    min-width: 350px;
    max-width: 800px;
    flex-grow: 1;
}

div#rightColumn .sliderRow {
    margin: 0 var(--window-padding) 0 30px;
}


iframe#mapFrame {
    height: 500px;
    width: 100%;
}

div#rightColumn .textRow {
    margin: 0 var(--window-padding) 0 30px;
}
div#rightColumn .textRow p, ul, ol {
    line-height: 145%;
}

div#rightColumn .textRow, div#rightColumn .textRow a {
    color: white;
}

div#rightColumn .textRow a:hover {
    text-decoration: none;
}

div#rightColumn .pricingRow {
    margin: 0 var(--window-padding) 0 30px;
}

div#rightColumn .pricingRow h2 {
    color: white
}

div#rightColumn .pricingRow .options {
    display: grid;
    grid-column-gap: 20px;
    width: 100%;
}

div#rightColumn .pricingRow .options .optionBox {
    flex-grow: 1;
    background-color: white;
    height: 80px;
    text-align: center;
    font-size: 16px;
    font-family: "Open Sans", sans-serif;
    padding-top: 15px;
}

div#rightColumn .pricingRow .options .optionBox b {
    font-weight: 900;
    font-size: larger;
}

.theCenter {
    background-color: azure;
    padding: 25px;
    margin: 40px;
}



@media only screen and (min-width: 1025px) {
    .theCenter {
        margin-left: auto;
        margin-right: auto;
        max-width: 450px;
    }
} 

.theCenter h1 {
    text-align: center; 
    color: black;
    display: inline;
}

.statusImages {
    width: 100px;
}

footer {
    max-width: var(--container-width);
    margin: auto;
    padding: 20px var(--window-padding);
    color: white;
    line-height: 160%;
}

footer a {
    color: white;
}


/*Caleran picker*/
.caleran-not-in-month {
    visibility: hidden;
}

/*TEXT PAGE*/
.wysiwygMain {
    margin-top: var(--h1-to-content);
    margin-left: var(--window-padding);
    margin-right: var(--window-padding);
    color: white;
}

.wysiwygMain a {
    color: white;
}

@media only screen and (max-width: 750px) {
    div#reservationBox {
        max-width: 100%;
        margin: 0;
    }

    div.mainMenuHolder {
        display: none;
    }

    h1 {
        text-align: center;
        font-size: 24px;
    }

    iframe#mapFrame {
        height: 250px;
    }

    div#rightColumn {
        margin-bottom: 30px;
        min-width: 250px;
    }

    div#rightColumn .sliderRow {
        margin: 0;
    }

    div#rightColumn .pricingRow h2 {
        text-align: center;
        font-size: smaller;
    }


    div#rightColumn .pricingRow .options {
        grid-column-gap: 15px;
    }

    div#rightColumn .pricingRow .options .optionBox {
        font-size: 14px;
    }
}