/*
 * Style for magnum services page.
 */

/* Different style for nautical page */
div.banner.bgBlue a.button.bgWhite {
    color: var(--sea);
}

/* Service page style */
div#previewHeader i {
    padding-top: 2em;
    margin-left: 1em;
}

div#previewHeader .title {
    padding-top: 1em;
    padding-bottom: 3em;
}

div#previewHeader .button {
    margin-bottom: 3em;
}

div#filters {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    padding: 4em var(--gutter) 0;
}

div#filters .button {
    border: 1px solid;
    margin: .5em 1%;
    cursor: pointer;
    font-size: 1em;
    background-color: transparent;
    scroll-margin-top: 10em; /* menu links (#filter) land below the fixed header */
}

/* Outline filter chips — active state set inline by JS */
div#filters a.orange {
    color: var(--teal);
    border-color: var(--teal);
}

div#filters a.blue {
    color: var(--sea);
    border-color: var(--sea);
}

div#filters a.orange:hover {
    background-color: var(--teal);
    color: var(--white);
}

div#filters a.blue:hover {
    background-color: var(--sea);
    color: var(--white);
}

/* boxes in each row stretch to the tallest one, so text never overflows */
div#previewServices {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    padding: 4em var(--gutter);
}

div#previewServices > a {
    width: 17.3%;
    margin: 3%;
    padding: 5%;
    position: relative;
    background-color: var(--white);
    border-radius: 0;
    box-shadow: var(--shadow);
    transition: transform .25s ease, background-color .25s ease;
}

div#previewServices > .bgGrey {
    background-color: var(--white);
}

div#previewServices > .bgGrey:hover,
div#previewServices > a:hover {
    background-color: var(--sand);
    transform: translateY(-8px);
}

/* Service label badge (UE / Extra UE, EU / Non-EU on foreign registries) */
.serviceLabel {
    display: inline-block;
    padding: .3em .8em;
    border: 1px solid var(--sea);
    border-radius: 2em;
    font-family: 'Montserrat', sans-serif;
    font-size: .72em;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    line-height: 1.4;
    color: var(--sea);
    background-color: var(--white);
}

.serviceLabel:before {
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    content: "\f0ac"; /* globe */
    margin-right: .5em;
}

.serviceLabel.ue,
.serviceLabel.eu {
    color: var(--white);
    background-color: var(--sea);
}

.serviceLabel.ue:before,
.serviceLabel.eu:before {
    content: "\f7a2"; /* earth-europe */
}

div#previewServices > a .serviceLabel {
    position: absolute;
    top: 1.2em;
    right: 1.2em;
}

div#previewServices > a h2 {
    text-transform: uppercase;
    margin-bottom: 1em;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--ink);
}

/* Internal page */
section#serviceInternal {
    padding-top: 9em;
    margin-right: var(--gutter);
    margin-left: var(--gutter);
    overflow: hidden;
}

section#serviceInternal h1 {
    margin: 1em 0;
    width: 80%;
}

section#serviceInternal .serviceLabel {
    margin-top: 2em;
}

section#serviceInternal .serviceLabel + h1 {
    margin-top: .6em;
}

section#serviceInternal div.wide div#body {
    margin-right: 15%;
}

section#serviceInternal div.wide div#body .center {
    text-align: center;
}

section#serviceInternal div.wide div#body p {
    margin-bottom: 1em;
}

section#serviceInternal div.wide div#body ul {
    letter-spacing: 0;
    margin-bottom: 1em;
    line-height: 1.2em;
    max-width: 95%;
}

section#serviceInternal div.wide div#body ul li {
    list-style-type: square;
    margin: .5em 4.2em;
}

section#serviceInternal div.wide div#body h4 {
    font-size: 1.2em;
    line-height: 1.2em;
    margin-bottom: .8em;
}

section#serviceInternal div.wide div#body a {
    text-decoration: underline;
}

section#serviceInternal div.wide div#socialShare {
    text-align: center;
    padding: 3em;
    margin-right: 15%;
}

section#serviceInternal div.wide div#socialShare h2 {
    font-size: 1.5em;
    margin-bottom: 1em;
}

section#serviceInternal div.close {
    margin-top: 3.5em;
}

section#serviceInternal div.close h3 {
    font-size: 2em;
    text-transform: uppercase;
    margin-bottom: 1.5em;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--ink);
}

section#serviceInternal div.close div {
    margin-bottom: 1em;
}


section#serviceInternal div.close div ul li {
    list-style-type: disc;
    margin: .5em 1.2em;
    letter-spacing: 0;
}

section#serviceInternal div.close div ul li a, section#serviceInternal div.close div p a {
    text-decoration: underline;
}

section#serviceInternal div.close div#download a {
    display: block;
}

section#serviceInternal div.close div#download a > * {
    display: inline-block;
    margin-left: 2%;
    margin-bottom: .3em;
}

section#serviceInternal div.close a#iconBack {
    text-align: center;
    display: block;
    padding-top: 2em;
    padding-bottom: 3em;
    width: 80%;
    margin: 2em auto;
}

section#serviceInternal div.close a#iconBack p {
    text-transform: uppercase;
    margin-top: 1em;
}

/* Form different style */
div#form div.right div {
    width: 100%;
    display: inline-block;
    margin-bottom: .5em;
}

div#form label.checkbox input[type="checkbox"] {
    margin-left: 1.5em;
}

/* Screen size adjustments */
@media screen and (max-width: 780px) {

    div#previewHeader .button {
        margin-left: 0;
    }

    div#previewServices > a {
        width: 33.3%;
    }

    div#previewServices > a .serviceLabel {
        position: static;
        margin-bottom: .8em;
    }

    div#previewServices > a h2 {
        font-size: 1.4em;
    }
}

/* Screen size adjustments */
@media screen and (max-width: 500px) {

    div#filters .button {
        font-size: 1em;
        margin: .5em 1%;
    }

    /* Form different style */
    div#form div.right div > * {
        float: none;
    }
}