@import url(vendor/pure-min.css);
/*@import url(vendor/pure-grids-responsive-min.css);*/

/* VARIABLES
--------------------------------------------------------------------*/
:root {
    --paragraph-font-size: clamp(18px, calc(11px + 0.6944444444vw), 20px);
    --paragraph-font-size-small: clamp(16px, calc(11px + 0.6944444444vw), 18px);
    --border-radius: 2px;
    --color-primary: #138092;
    --color-secondary: rgb(235, 245, 246);
    font-size: 19px;
}
body {
    color: #171717;
}

/* TYPOGRAPHY
--------------------------------------------------------------------*/
h1 {
    font-size: clamp(32px, calc(0px + 4.4444444444vw), 50px);
}
h2 {
    font-size: clamp(25px, calc(10px + 1.5277777778vw), 32px);
}
h3 {
    font-size: clamp(22px, calc(10px + 1.8382352941vw), 26px);
}
p, ul li, ol li {
    font-size: 18px;
    font-size: var(--paragraph-font-size);
}
p {
    margin-top: 0;
    line-height: 1.4;
}
h1:first-child, h2:first-child {
    margin-top: 0;
}
h1:only-child {
    margin-bottom: 0;
}
p:last-child {
    margin-bottom: 0;
}
.lead-text {
    padding-top: 35px;
    padding-bottom: 35px;
    margin: 0 auto;
    line-height: 1.4;
}
@media screen and (min-width: 48em) {
    .lead-text {
        padding-top: 3.7rem;
        padding-bottom: 3.7rem;
        max-width: 880px;
    }
}
.lead-text p {
    font-size: clamp(20px, calc(10px + 1.8382352941vw), 27px);
}
ul {
    padding-left: 20px;
}
ul li {
    padding-bottom: 4px;
}
ul li:last-child {
    padding-bottom: 0;
}
main a {
    text-decoration: none;
    color: var(--color-primary); 
    border-bottom: solid 1px var(--color-primary);
}
main a:hover {
    text-decoration: none;
    color: #323232; 
    border-bottom: solid 1px var(--color-primary);
}

/* WRAPPERS AND CONTAINERS
--------------------------------------------------------------------*/
.page {
    margin-bottom: 2rem;
}
@media screen and (min-width: 48em) {
    .page {
        margin-bottom: 3.7rem;
    }
}
.container {
    margin: 0 auto;
    max-width: 1200px;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}
@media screen and (min-width: 48em) {
    .container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
.section {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
@media screen and (min-width: 48em) {
    .section {
        padding-top: 2.7rem;
        padding-bottom: 2.7rem;
    }
}
.pure-g.w-padding {
    margin-left: -1rem;
    margin-right: -1rem;
}
.pure-g.w-padding .col {
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}
@media screen and (min-width: 48em) {
    .pure-g.w-padding {
        margin-left: -1.2rem;
        margin-right: -1.2rem;
    }
    .pure-g.w-padding .col {
        padding-left: 1.2rem;
        padding-right: 1.2rem;
    }
}
.pure-g.stacked-mt .col {
    margin-top: 2rem;
}
.pure-g.stacked-mt .col:first-child {
    margin-top: 0;
}
@media screen and (min-width: 48em) {
    .pure-g.stacked-mt .col {
        margin-top: 0;
    }
}

/* HEADER
--------------------------------------------------------------------*/
header.header-main {
    background-color: #1A566E;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
} 
.logo img {
    width: 75px;
}
@media screen and (min-width: 48em) {
    .logo img {
        width: 110px;
    }
}
header.header-main .pure-menu-list {
    padding: 0.5em;
    text-align: center;
    box-shadow: none;
    display: flex;
}
header.header-main .menu-main {
    margin-left: auto;
    padding-right: 1em;
}
header.header-main .menu-lang {
    border-left: solid 2px #fff;
}
header.header-main .pure-menu-item {
    border-radius: var(--border-radius);
}
header.header-main .pure-menu-selected {
    background-color: rgba(19,128,146, 0.5) !important;
}
header.header-main  .pure-menu-list a {
    color: #fff !important;
    font-size: 16px;
    font-size: clamp(16px, calc(11px + 0.6944444444vw), 20px);   
}
header.header-main  .pure-menu-list li a:hover,
header.header-main  .pure-menu-list li a:focus {
    background: none;
    border: none;
    color: #AECFE5;
    text-decoration: underline;
}
header.header-main .pure-menu-selected a:hover,
header.header-main .pure-menu-selected a:focus {
    text-decoration: none !important;
}

/* FORMS AND BUTTONS
--------------------------------------------------------------------*/
.pure-form {
    margin: 0 auto;
}


.pure-control-group {
    margin-bottom: 20px;
}
.pure-form .pure-controls {
    margin-top: 40px;
}
.pure-form label {
    font-weight: bold;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
}
.error label {
    color: #C42506;
}
form input:not([type="checkbox"]),textarea,select {
    width: 70%;
    border-radius: var(--border-radius);
    padding: 0.8em 0.7em;
    border-color: #acacac;
    font-size: 18px;
    font-size: var(--paragraph-font-size);
}

.pure-form input[type=color]:focus, .pure-form input[type=date]:focus, .pure-form input[type=datetime-local]:focus, .pure-form input[type=datetime]:focus, .pure-form input[type=email]:focus, .pure-form input[type=month]:focus, .pure-form input[type=number]:focus, .pure-form input[type=password]:focus, .pure-form input[type=search]:focus, .pure-form input[type=tel]:focus, .pure-form input[type=text]:focus, .pure-form input[type=time]:focus, .pure-form input[type=url]:focus, .pure-form input[type=week]:focus, .pure-form select:focus, .pure-form textarea:focus {
    border-color: var(--color-primary);
}
.pure-form .pure-checkbox {
    display: flex;
    font-size: var(--paragraph-font-size);
    font-weight: normal;
    margin-top: 0;
}
.pure-form .pure-checkbox input {
    display: block;
    width: 25px;
    height: 25px;
    margin-right: 8px;
    accent-color: var(--color-primary);
}
.pure-form .select-wrapper {
    position: relative;
} 
.pure-form .select-wrapper::after {
    content: "▼";
    font-size: 0.7rem;
    top: 20px;
    right: 18px;
    position: absolute;
}
.pure-form select {
    height: 2.5em;
    #-webkit-appearance: none;
    #appearance: none;
    border-radius: var(--border-radius);
}
textarea.message {
    height: 6em;
}
textarea.address {
    height: 4em;
}
.pure-button {
    color: var(--color-primary);
    background-color: #fff;
    border-radius: var(--border-radius);
    border: solid 2px var(--color-primary);
    min-height: 36px;
    /*padding: 0.8em 1.2em;*/
    font-weight: bold;
    display: inline-flex;
    align-content: center;
    flex-wrap: wrap;
    font-size: 18px;
    font-size: var(--paragraph-font-size);
    white-space: normal;
}
.pure-button:hover,
.pure-button:focus {
    color: #fff;
    background-color: var(--color-primary);
    border-width: 2px;
    background-image: none;
}
.button-primary, 
.button-outline:hover,
.button-outline:focus {
    color: #fff;
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}
.button-primary:hover,
.button-primary:focus  {
    color: var(--color-primary);
    background-color: #fff;
    border-color: var(--color-primary);
}
.button-outline {
    color: var(--color-primary);
    background-color: #fff;
    border-color: var(--color-primary);
}
.button-success {
    color: #fff;
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}
.button-success:hover,
.button-success:focus  {
    color: var(#fff);
    background-color: rgb(23, 23, 23);
    border-color: var(--color-primary);
}
.button-error {
    color: #fff;
    background-color: #C42506;
}

/* DIALOG
--------------------------------------------------------------------*/
.dialog-info-div {
    margin-bottom: 0.5em;
}

/* TABLES
--------------------------------------------------------------------*/

table.offers-table thead {
}

/* HELPERS 
--------------------------------------------------------------------*/
.border-top {
    border-top: solid 1px #ddd;
}
.text-center {
    text-align: center !important;
}
.text-left {
    text-align: left !important;
}
.text-right {
    text-align: right !important;
}
.text-white {
    color: #fff !important;
}
.text-red {
    color: #C42506 !important;
}
.text-small {
    font-size: var(--paragraph-font-size-small) !important;
}
.flex-align-center {
    align-items: center !important;
}
.justify-content-space-between {
    justify-content: space-between !important;
}
a.disabled {
    pointer-events: none;
}
.bg-highlight-light {
    background-color: #EBF5F6;
}
.mb-0 {
    margin-bottom: 0 !important;
}
.mt-1 {
    margin-top: 0.5rem !important;
}
.mt-2 {
    margin-top: 1rem !important;
}
.show-large {
    display: none;
}
@media screen and (min-width: 48em) {
    .show-large {
        display: block;
    }
}
#berth-map {
    max-width: calc(1200px - 110px); /* container - step-number */
}


