@import "reset_gutenberg.css";

/** CSS Overview
*
* 1.0 - General
*   1.1 - Typography
*     1.1.1 - Headings
*     1.1.2 - Text and links
*     1.1.3 - Lists
*     1.1.4 - Breadcrumbs
*   1.2 - Buttons
*   1.3 - Columns and sections
*     1.3.1 - Max-widths
*     1.3.2 - Paddings and margins
*     1.3.3 - Columns
*   1.4 - Grids
*   1.5 - Background colors
*   1.6 - Iframe
*   1.7 - Accordion
*   1.8 - Icons and social icons
*     1.8.1 – Icons
*     1.8.2 – Social icons
* 2.0 - Header and main navigtion
*   2.1 - Header
*   2.2 - Desktop navigation
*   2.3 - Submenu / Dropdown menu
*   2.4 - Hamburger navigation
*     2.4.1 - Hamburger icon
*     2.4.2 - Hamburger animation
*     2.4.3 - Hamburger overlay
* 3.0 – Sections
*   3.1 – Hero
*   3.2 – Subhero
*   3.3 – CTA
*     3.3.1 – CTA with text
*     3.3.2 – CTA with background image
*   3.4 – Blog / News
*     3.4.1 – Pagination
*     3.4.2 – Single news-post
*   3.5 - Custom post types (CPT)
*     3.5.1 - Partners
*     3.5.2 - Medarbetare
*   3.6 – Read more on max-height
*   3.7 – Contactinfo
*   3.8 – Treatment buttons
* 4.0 - Forms
*   4.1 - Text and fields
*   4.2 - Error messages
*   4.3 - Acceptance
*   4.4 - Submit
*   4.5 - Custom forms
* 5.0 - Footer
*   5.1 - Footer top
*   5.2 - Footer bottom
*   5.3 - Footer text and logo
*   5.4 - Footer menu navigation
*
**/

:root {
    --heading-font: "Karla", sans-serif;
    --heading-clr: #000000;
    --heading-clr-secondary: #ffffff;
    --heading-lineheight: 1.2;
    --text-font: "Karla", sans-serif;
    --text-lineheight: 1.5;
    --text-clr: #000000;
    --text-clr-light: #8a8a8a;
    --text-clr-invert: #ffffff;
    --accent: #ff4713;
    --font-regular: 400;
    --font-medium: 500;
    --font-bold: ;
    --bg-body: #ffffff;
    --bg-primary: #f9f9f9;
    --bg-secondary: ;
    --bg-gradient: ;
    --btn-filled: #000000;
    --btn-filled-hover: var(--btn-primary);
    --btn-filled-secondary: #00de8e;
    --btn-filled-secondary-hover: #000000;
    --btn-outline: transparent;
    --btn-outline-hover: #000000;
    --btn-outline-secondary: transparent;
    --btn-outline-secondary-hover: #000000;
    --btn-text-dark: var(--text-clr);
    --btn-text-light: var(--text-clr-invert);
    --wd-container-header: 165rem;
    --wd-container-footer: 114rem;
    --wd-container-default: var( --wd-container-small);
    /* max-width most common width, e.g. width of <main> */
    --wd-container-small: 84.5rem;
    /* max-width smaller text-container */
    --wd-container-large: 135rem;
    /* max-width bigger text-container */
    --wd-container-full: none;
    /* max-width container full-width */
    --gap-default: 5rem;
    --section-padding: 12rem;
    --header-height: 8rem;
    --header-height-scrolled: 8rem;
    --header-height-mobile: 8rem;
}


/* ==========================================================================
1.0 General
========================================================================== */

*,
::after,
::before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    font-size: 62.5%;
    font-style: normal;
    line-height: var(--text-lineheight);
    font-family: var(--text-font);
    font-weight: var(--font-regular);
    background-color: var(--bg-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

img {
    max-width: 100%;
    height: auto;
}

figure,
.wp-block-image {
    margin: 0;
}

figure,
.wp-block-image.size-large img {
    margin-bottom: 1rem;
}

.stretch-image,
.stretch-image figure {
    height: 100%;
}

.stretch-image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.grecaptcha-badge {
    visibility: hidden;
}

.CookieDeclarationTable,
#CookieDeclarationUserStatusLabel {
	font-size: initial !important;
}

@media only screen and (min-width: 1440px) {
    .error404 main {
        min-height: 60vh;
		align-items: center;
		display: flex;
		justify-content: center;
    }
}


/* 1.1 Typography
-------------------------------------------------------------------------- */


/* 1.1.1 Headings */

h1,
h2,
h3,
h4,
h5,
h6,
.small-heading,
.is-style-small-heading {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-style: normal;
    line-height: var(--heading-lineheight);
    font-weight: var(--font-regular);
    font-family: var(--heading-font);
    color: var(--heading-clr);
    margin: 0 0 2rem;
}

h1 {
    font-size: clamp(3.2rem, 7vw, 6rem);
}

h2 {
    font-size: clamp(2.3rem, 4vw, 3.2rem);
}

h3 {
    font-size: clamp(2.1rem, 4vw, 2.5rem);
    margin-bottom: 1.5rem;
}

h4 {
    font-size: clamp(1.8rem, 3vw, 1.8rem);
}

.small-heading,
.is-style-small-heading {
    font-size: clamp(2.2rem, 4vw, 2.5rem);
    margin-bottom: 1.5rem;
}

.is-style-eyebrow {
    font-size: clamp(2.2rem, 4vw, 2.5rem);
    line-height: normal;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1.5rem !important;
}


/* 1.1.2 Text and links */

p,
a {
    font-size: clamp(1.8rem, 3vw, 1.8rem);
    color: var(--text-clr);
    line-height: var(--text-lineheight);
    letter-spacing: normal;
    font-style: normal;
}

p {
    margin: 0 0 1em 0;
}

p:last-of-type:not(.is-style-eyebrow, .footer-heading) {
    margin-bottom: 0;
}

a,
a:hover {
    text-decoration: none;
    -webkit-transition: all 150ms linear;
    -o-transition: all 150ms linear;
    transition: all 150ms linear;
}

p a {
    border-bottom: 1px solid;
    border-color: initial;
    -webkit-transition: all 150ms linear;
    -o-transition: all 150ms linear;
    transition: all 150ms linear;
    font-weight: inherit;
}

p a:hover {
    border-color: var(--accent);
    color: var(--accent);
}

strong {
    color: var(--heading-clr);
    margin-bottom: 2.5rem;
    font-weight: var(--font-medium);
}

.is-style-paragraph-big {
    font-size: clamp(2rem, 3vw, 2rem);
}

.is-style-bold-uppercase {
    font-weight: var(--font-medium);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}


/* 1.1.3 Lists */

ul,
ol {
    color: var(--text-clr);
    font-size: clamp(1.8rem, 3vw, 1.8rem);
}

ul:not(footer ul) li,
ol:not(footer ol) li {
    padding-left: 1rem;
    list-style: square;
}

::marker {
    color: var(--accent);
}


/* 1.1.4 Breadcrumbs */

.wp-block-group.breadcrumbs {
    margin-top: var(--header-height);
}

.breadcrumbs .wp-block-group__inner-container {
    max-width: 114rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    grid-gap: 0.5rem var(--gap-default);
}

.breadcrumbs :is(span, a, p) {
    font-size: 1.6rem;
    font-weight: var(--font-regular);
    font-family: var(--text-font);
    color: var(--heading-clr);
    letter-spacing: 0.05em;
    border-bottom: none;
    font-weight: var(--font-medium);
    text-transform: uppercase;
    margin-bottom: 0;
}

.breadcrumbs a {
    margin: 0 0.1em;
    border-bottom: 1.5px solid transparent;
}

.breadcrumbs :not(.breadcrumb_last) a {
    color: #444444;
}

.breadcrumbs a:hover {
    color: var(--accent);
}

.breadcrumbs span.breadcrumb_last {
    padding: 0 0.2em;
}


/* 1.2 Buttons
-------------------------------------------------------------------------- */

.wp-block-buttons {
    margin-top: 3rem;
	flex-wrap: wrap;
}

.wp-block-button__link {
    font-size: 1.6rem;
    text-transform: uppercase;
    text-decoration: unset;
    font-weight: var(--font-medium);
    letter-spacing: 0.1em;
    line-height: normal;
    border-radius: 0;
    padding: 1.1rem 3rem;
    -webkit-transition: all 150ms linear;
    -o-transition: all 150ms linear;
    transition: all 150ms linear;
    display: inline-block;
}

.button-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    grid-gap: 1.5rem;
}


/* Button with dropdown select on mobile */

.dropdown {
    margin-top: 3rem;
    display: none;
}

#btn-treatment.hide {
    display: none;
}

#btn-treatment.show {
    display: inline-button;
}

select.select-dropdown {
    max-width: 30rem;
    width: 100%;
    padding: 1.1rem 1.25rem;
    color: var(--clr-text);
    font-size: 1.6rem;
    font-weight: inherit;
    border: 1px solid #444444;
    -webkit-appearance: none;
    background: rgba(255, 255, 255, 1) url('../images/icon-chevron-down.svg') no-repeat 95% 50%;
    cursor: pointer;
    border-radius: 0;
}

@media only screen and (max-width: 980px) {
    .dropdown {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        line-height: normal;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .button-group {
        display: none;
    }
}


/* Button filled primary */

.wp-block-button__link {
    background-color: #000000;
    border: 1.5px solid transparent;
    color: var(--btn-text-light);
}

.wp-block-button__link:hover {
    background-color: #444444;
    border-color: transparent;
    color: var(--btn-text-light);
}


/* Button filled secondary */

.is-style-fill-secondary .wp-block-button__link {
    background-color: #ff4713;
    border-color: transparent;
    color: var(--btn-text-light);
}

.is-style-fill-secondary .wp-block-button__link:hover {
    background-color: #000000;
    border-color: transparent;
    color: var(--btn-text-light);
}


/* Button outline primary */

.is-style-outline .wp-block-button__link {
    background-color: var(--btn-outline);
    border-color: #ffffff;
    color: var(--btn-text-light);
}

.is-style-outline .wp-block-button__link:hover {
    background-color: #444444;
    border-color: transparent;
    color: var(--btn-text-light);
}


/* Button outline secondary */

.is-style-outline-secondary .wp-block-button__link {
    background-color: transparent;
    border-color: #000000;
    color: var(--btn-text-dark);
}

.is-style-outline-secondary .wp-block-button__link:hover {
    background-color: #444444;
    border-color: #444444;
    color: var(--btn-text-light);
}


/* Button on cover image */

.is-style-fill-on-cover .wp-block-button__link {
    background-color: #ffffff;
    border-color: #ffffff;
    color: var(--btn-text-dark);
}

.is-style-fill-on-cover .wp-block-button__link:hover {
    background-color: #444444;
    border-color: #444444;
    color: var(--btn-text-light);
}


/* Button transparent with hover */

.is-style-transparent .wp-block-button__link {
    background-color: transparent;
    border-color: transparent;
    color: var(--btn-text-light);
}

.is-style-transparent .wp-block-button__link:hover {
    background-color: transparent;
    border-color: transparent;
    color: var(--btn-text-light);
}

.is-style-transparent .wp-block-button__link::after {
    content: "";
    width: 0px;
    height: 1px;
    display: block;
    background: #ffffff;
    -webkit-transition: 250ms;
    -o-transition: 250ms;
    transition: 250ms;
}

.is-style-transparent .wp-block-button__link:hover::after {
    width: 100%;
}


/* 1.3 Columns and sections
-------------------------------------------------------------------------- */


/* 1.3.1 Max-widths */

.wp-block-group__inner-container {
    max-width: var(--wd-container-default);
    margin: 0 auto;
}

.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover__inner-container {
    max-width: var(--wd-container-small);
}

.container-small .wp-block-group__inner-container,
.is-style-container-small .wp-block-group__inner-container {
    max-width: var(--wd-container-small);
}

.container-large .wp-block-group__inner-container,
.is-style-container-large .wp-block-group__inner-container {
    max-width: var(--wd-container-large);
}

.container-full .wp-block-group__inner-container,
.is-style-container-full .wp-block-group__inner-container {
    max-width: var(--wd-container-full);
}


/* 1.3.2 Paddings and margins */

main>.wp-block-group:not(.is-style-container-full,
.is-style-hero,
.is-style-subhero) {
    padding: var(--section-padding) 2rem 0;
}

main>.wp-block-group:first-of-type:not(.is-style-hero,
.is-style-subhero) {
    margin-top: var(--header-height);
}

main>.wp-block-group:last-of-type:not(.single-post-navigation,
.is-style-cta-cover) {
    padding-bottom: var(--section-padding);
}

.wp-block-group .wp-block-group:not(:last-of-type) {
    margin-bottom: var(--gap-default);
}

main>.is-style-cta-cover.wp-block-group {
    padding: 0;
    margin-top: var(--section-padding);
}

.is-style-cta-cover .wp-block-group__inner-container {
    max-width: var(--wd-container-full);
}

main>.has-background.wp-block-group {
    padding-bottom: var(--section-padding);
}

.wp-block-cover,
.wp-block-cover-image {
    padding: var(--section-padding) 2rem;
}

.is-style-cta-cover .wp-block-cover__background {
	height: 100%;
    width: 100%;
    position: absolute;
    background: black;
    z-index: 1;
    opacity: 0.2;
}

@media only screen and (max-width: 1070px) {
    main>.wp-block-group:first-of-type:not(.is-style-hero,
    .is-style-subhero) {
        margin-top: calc(var(--section-padding) * 0.5);
    }
    main>.wp-block-group:not(.is-style-container-full,
    .is-style-hero,
    .is-style-subhero,
    .is-style-cta-cover) {
        padding-top: calc(var(--section-padding) * 0.5);
    }
    main>.wp-block-group:last-of-type:not(.single-post-navigation,
    .is-style-cta-cover) {
        padding-bottom: calc(var(--section-padding) * 0.5);
    }
    main>.is-style-cta-cover.wp-block-group {
        margin-top: calc(var(--section-padding) * 0.5);
        padding-bottom: 0;
    }
    .wp-block-cover,
    .wp-block-cover-image {
        padding: calc(var(--section-padding) * 0.5) 2rem;
    }
    main>.has-background.wp-block-group {
        margin-top: calc(var(--section-padding) * 0.5);
        padding-bottom: calc(var(--section-padding) * 0.5);
    }
}


/* 1.3.3 Columns */

div.wp-block-columns {
    margin-bottom: 0;
    grid-gap: var(--gap-default) var(--gap-default);
    display: grid;
}

.wp-block-column:not(:first-child) {
    margin: unset !important;
}


/* Logoslider */

main>.logoslider.wp-block-group {
    padding-top: var(--section-padding);
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.logoslider.wp-block-group img {
    -webkit-filter: grayscale();
    filter: grayscale();
	width: 10rem;
	height: 5rem;
	-o-object-fit: contain;
	   object-fit: contain;
}


/* 3.11 Read more on max-height
-------------------------------------------------------------------------- */

div[data-readmore] {
    position: relative;
}

div[data-readmore] .readmore-wrapper {
    position: relative;
    overflow: hidden;
    -webkit-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    margin-bottom: 1rem;
}

div[data-readmore] .readmore-is-active {
    height: 14rem;
}

div[data-readmore].is-open {
    max-height: auto;
}

div[data-readmore] .wp-block-button {
    padding: 0 0 2rem;
    -webkit-transition: opacity 0.1s ease-in-out;
    -o-transition: opacity 0.1s ease-in-out;
    transition: opacity 0.1s ease-in-out;
}

div[data-readmore] .readmore-link {
    cursor: pointer;
    font-weight: var(--font-medium);
    width: 100% !important;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

div[data-readmore] .readmore-link::before {
    content: '+';
    margin-right: 1rem;
    font-size: 120%;
    -webkit-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
}

div[data-readmore] .readmore-link.is-open::before {
    content: '\2212';
}

.readmore-overlay::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5rem;
    background: -o-linear-gradient( bottom, var(--bg-primary), rgba(255, 255, 255, 0));
    background: -webkit-gradient( linear, left bottom, left top, from(var(--bg-primary)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient( 0deg, var(--bg-primary), rgba(255, 255, 255, 0));
    -webkit-transition: height 0.1s ease-in-out;
    -o-transition: height 0.1s ease-in-out;
    transition: height 0.1s ease-in-out;
}

.readmore-overlay.is-open::after {
    height: 0;
}


/* 1.4 Grids
-------------------------------------------------------------------------- */

div.grid-cols-2,
div.has-2-columns {
    grid-template-columns: repeat(2, 1fr);
}

div.grid-cols-3,
div.has-3-columns {
    grid-template-columns: repeat(3, 1fr);
}

div.grid-cols-4,
div.has-4-columns {
    grid-template-columns: repeat(4, 1fr);
}

div.grid-cols-5,
div.has-5-columns {
    grid-template-columns: repeat(5, 1fr);
}

div.grid-cols-6,
div.has-6-columns {
    grid-template-columns: repeat(6, 1fr);
}

@media only screen and (max-width: 1440px) {
    div.grid-cols-5,
    div.has-5-columns,
    div.grid-cols-6,
    div.has-6-columns {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media only screen and (max-width: 1150px) {
    div.grid-cols-4,
    div.has-4-columns,
    div.grid-cols-5,
    div.has-5-columns,
    div.grid-cols-6,
    div.has-6-columns {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media only screen and (max-width: 900px) {
    div.grid-cols-3,
    div.grid-cols-4,
    div.has-3-columns,
    div.has-4-columns,
    div.grid-cols-5,
    div.has-5-columns,
    div.grid-cols-6,
    div.has-6-columns {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media only screen and (max-width: 768px) {
   div .grid-cols-2,
    div.has-2-columns {
        grid-template-columns: 1fr;
        /* grid-gap: calc(var(--gap-default) * 0.5); */
    }
    /* Reverse column order mobile */
    div.is-style-cols-reverse .wp-block-column:last-of-type {
        grid-row: 1;
    }
}

@media only screen and (max-width: 600px) {
    div.grid-cols-3,
    div.grid-cols-4,
    div.has-3-columns,
    div.has-4-columns,
    div.grid-cols-5,
    div.has-5-columns,
    div.grid-cols-6,
    div.has-6-columns {
        grid-template-columns: repeat(1, 1fr);
        grid-gap: calc(var(--gap-default) * 0.5);
    }
}

/* 1.5 Background colors
-------------------------------------------------------------------------- */

.has-background {
    margin-top: var(--section-padding);
    padding: var(--section-padding) 2rem;
}

@media only screen and (max-width: 650px) {
    .has-background {
        margin-top: calc(var(--section-padding) * 0.75);
        padding: calc(var(--section-padding) * 0.75) 2rem;
    }
}

.bg-primary,
body.bg-primary {
    background-color: var(--bg-primary);
}

.bg-secondary {
    background-color: var(--bg-secondary);
}

main>.wp-block-group.bg-gradient {
    background: -o-linear-gradient(#02024e, #02022e);
    background: -webkit-gradient(linear, left top, left bottom, from(#02024e), to(#02022e));
    background: linear-gradient(#02024e, #02022e);
    padding-bottom: var(--section-padding);
    max-width: var(--wd-container-full);
}

main>.wp-block-group.bg-waves {
    background-image: url("../images/assetbook-bg-waves.svg"), -o-linear-gradient(#02024e, #02022e);
    background-image: url("../images/assetbook-bg-waves.svg"), -webkit-gradient(linear, left top, left bottom, from(#02024e), to(#02022e));
    background-image: url("../images/assetbook-bg-waves.svg"), linear-gradient(#02024e, #02022e);
    background-size: 100%, 100%;
    background-position: 50% 100%;
    background-repeat: no-repeat;
    padding-bottom: var(--section-padding);
    max-width: var(--wd-container-full);
}

.bg-waves *,
.bg-gradient * {
    color: var(--text-clr-invert);
}

@media only screen and (max-width: 768px) {
    main>.wp-block-group.bg-gradient,
    main>.wp-block-group.bg-waves {
        padding-bottom: calc(var(--section-padding) * 0.75);
    }
}


/* 1.6 Iframe
-------------------------------------------------------------------------- */

.iframe-wrapper,
.video-wrapper,
.wp-block-embed__wrapper {
    position: relative;
    padding-top: 56.25%;
}

.iframe-wrapper iframe,
.video-wrapper iframe,
.wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* 1.7 Accordion
-------------------------------------------------------------------------- */

.accordion {
    display: grid;
    grid-template-columns: 1fr;
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
}

.answer {
    max-height: 0;
    will-change: max-height;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    overflow: hidden;
    max-width: 85rem;
}

.accordion-inner {
    border-bottom: 1px solid #000000;
}

.accordion-bg {
    padding: 2rem 0;
}

.toggle * {
    pointer-events: none;
}

p.toggle {
    display: grid;
    grid-template-columns: auto auto;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-weight: var(--font-bold);
    color: var(--heading-clr);
    cursor: pointer;
    line-height: normal;
    grid-gap: 2rem;
    font-size: clamp(2.5rem, 4vw, 3.2rem);
}

.toggle span {
    height: 3.6rem;
    width: 3.6rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.toggle img {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    position: relative;
    width: 2.5rem;
    height: 2.5rem;
    -webkit-transition: 150ms all linear;
    -o-transition: 150ms all linear;
    transition: 150ms all linear;
}

.toggle.is-open img {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.answer * {
    font-size: 1.6rem;
}

.answer.is-open {
    margin-top: 1rem;
}

@media (max-width: 768px) {
    .accordion {
        padding-bottom: 0;
        margin-bottom: 2rem !important;
    }
}


/* 1.8 Icons and social icons
-------------------------------------------------------------------------- */


/* 1.8.1 Icons */

.icon:not(:last-of-type) {
    margin-right: 1rem;
}

.icon::before {
    content: "";
    display: inline-block;
    vertical-align: sub;
    width: 2rem;
    height: 2rem;
    background-repeat: no-repeat !important;
}

.published::before {
    background: url("../images/icon-calendar.svg");
    background-size: 2rem 2rem;
}

.category::before {
    background: url("../images/icon-category.svg");
    background-size: 2rem 2rem;
}

.address::before {
    background: url("../images/icon-address.svg");
    background-size: 2rem 2rem;
}

.phone::before {
    background: url("../images/icon-phone.svg");
    background-size: 2rem 2rem;
}

.email::before {
    background: url("../images/icon-email.svg");
    background-size: 2rem 2rem;
}


/* 1.8.2 Social icons */

.facebook::before {
    background: url("../images/icon-fb-black.svg");
    background-size: 2rem 2rem;
}

.instagram::before {
    background: url("../images/icon-in-black.svg");
    background-size: 2rem 2rem;
}

.twitter::before {
    background: url("../images/icon-tw-black.svg");
    background-size: 2rem 2rem;
}

.linkedin::before {
    background: url("../images/icon-li-black.svg");
    background-size: 2rem 2rem;
}


/* ==========================================================================
2.0 Header and navigation
========================================================================== */

.header-nav-wrapper {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    grid-gap: var(--gap-default);
}

.header-buttons {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    grid-gap: 2rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header-buttons .wp-block-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    grid-gap: unset;
    margin: unset;
}

.header-buttons .wp-block-button {
    margin: unset;
}

.header-buttons .wp-block-button:not(:last-of-type) {
    margin: 0 1.5rem 0 0;
}

.header-buttons .wp-block-buttons a {
    font-size: 1.4rem;
}

@media only screen and (max-width: 530px) {
    .header-buttons {
        display: none !important;
    }
}


/* 2.1 Header
-------------------------------------------------------------------------- */


/* 2.1.2 Header transparent */

.header-transparent header {
    background-color: transparent;
    border-bottom: none;
}

.header-transparent #menu-top-menu li a {
    color: var(--text-clr-invert);
}

.header-transparent header:not(.is-scrolled) #menu-top-menu>li.menu-item-has-children>a::after {
    -webkit-filter: invert(1);
            filter: invert(1);
}

.header-transparent header.is-scrolled {
    background-color: var(--bg-body);
    border-bottom: 1.5px solid #f3f3f3;
}

.header-transparent header.is-scrolled #menu-top-menu li a,
.header-transparent header #menu-top-menu.menu>li.menu-item-has-children .sub-menu a {
    color: var(--text-clr);
}

header {
    position: fixed;
    z-index: 100;
    -webkit-transition: all 300ms linear;
    -o-transition: all 300ms linear;
    transition: all 300ms linear;
    background-color: var(--bg-body);
    width: 100%;
    height: var(--header-height);
    padding: 0 2rem;
    top: 0;
    border-bottom: 1px solid #f3f3f3;
}

header.is-scrolled {
    height: var(--header-height-scrolled);
}

.header-container {
    max-width: var(--wd-container-header);
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    grid-gap: var(--gap-default);
}

.header-logo {
    width: 30rem;
    max-width: 100%;
    -webkit-transition: all 300ms linear;
    -o-transition: all 300ms linear;
    transition: all 300ms linear;
}

.header-logo img {
    vertical-align: middle;
}

@media only screen and (max-width: 1210px) {
    .header-container {
        grid-gap: 1.5rem;
    }
    header {
        height: var(--header-height-mobile);
    }
}

@media only screen and (max-width: 530px) {
    .header-logo {
        margin-left: 1rem;
    }    
}

@media only screen and (max-width: 510px) {
    header {
        top: 0;
    }
}


/* 2.2 Desktop navigation
-------------------------------------------------------------------------- */

nav.header-nav {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.desktop-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.desktop-menu #menu-top-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#menu-top-menu {
    padding: 0;
    margin: 0;
}

#menu-top-menu li {
    position: relative;
    list-style: none;
}

#menu-top-menu li:not(:last-of-type) {
    margin-right: 2rem;
}

#menu-top-menu li a {
    font-weight: var(--font-medium);
    font-size: 1.6rem;
    line-height: var(--header-height);
    color: var(--heading-clr);
    border-bottom: 1px solid transparent;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

#menu-top-menu a:hover {
    text-decoration: none;
    border-color: initial;
}

@media only screen and (max-width: 1210px) {
    .desktop-menu {
        display: none;
    }
    #menu-top-menu>li.menu-item-has-children:after {
        top: 28px;
        right: 20px;
        -webkit-filter: invert(1);
        filter: invert(1);
        -webkit-transform-origin: 50%;
        -ms-transform-origin: 50%;
        transform-origin: 50%;
    }
    #menu-top-menu>li.menu-item-has-children.open:after {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
    }
}


/* 2.3 Submenu / Dropdown menu
-------------------------------------------------------------------------- */

#menu-top-menu>li.menu-item-has-children>a::after {
    content: "";
    background: url("../images/icon-chevron-down.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 12px;
    height: 7px;
    margin-left: 10px;
    margin-bottom: 2px;
    display: inline-block;
}

.sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--bg-primary);
    list-style: none;
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    padding: 0.5rem 1rem;
    -webkit-box-shadow: none;
    box-shadow: none;
    line-height: 0;
}

.menu-dropdown {
    height: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#menu-top-menu.menu>li.menu-item-has-children:hover .sub-menu {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    -webkit-box-shadow: none;
    box-shadow: none;
    grid-gap: 1rem;
    padding: 2rem 2rem;
}

#menu-top-menu.menu>li.menu-item-has-children .sub-menu li {
    line-height: 1.2;
}

#menu-top-menu.menu>li.menu-item-has-children .sub-menu a {
    padding: unset;
    line-height: normal;
    font-size: 1.6rem;
    text-transform: unset;
    letter-spacing: 0.02em;
}

@media only screen and (max-width: 1210px) {
    .sub-menu {
        position: initial;
        padding: 1.5rem 2rem;
        margin-top: 1rem;
    }
    
    .menu>li.menu-item-has-children .sub-menu {
        display: block;
    }
}


/* 2.3.1 Mega menu
-------------------------------------------------------------------------- */

#menu-top-menu.menu>li.mega-menu.menu-item-has-children>.sub-menu {
    grid-template-columns: repeat(4, 1fr);
    position: fixed;
    top: 8rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    max-width: 100rem;
}

#menu-top-menu.menu>li.mega-menu li {
    padding-left: 0;
}

#menu-top-menu.menu>li.mega-menu.menu-item-has-children:hover>.sub-menu {
    display: grid;
}

#menu-top-menu.menu>li.mega-menu.menu-item-has-children>.sub-menu .sub-menu {
    display: block;
    position: initial;
    padding: 1rem 0;
}

#menu-top-menu.menu>li.mega-menu.menu-item-has-children>.sub-menu .sub-menu>li>a {
    font-weight: var(--font-regular);
    text-transform: initial;
    display: inline-block;
}

#menu-top-menu.menu>li.mega-menu.menu-item-has-children>.sub-menu .sub-menu li:not(:first-of-type) a {
    padding-top: .5rem;
}


/* 2.3.2 Grid menu
-------------------------------------------------------------------------- */

#menu-top-menu.menu>li.grid-menu.menu-item-has-children>.sub-menu {
    grid-template-columns: repeat(4, 1fr);
    position: fixed;
    top: 8rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    max-width: 100rem;
}


/* 2.4 Hamburger navigation
-------------------------------------------------------------------------- */

.hamburger-wrapper {
    display: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 1;
}

.hamburger-menu ul.menu {
    padding-left: 0;
}

.hamburger-menu ul.menu li {
    list-style: none;
    line-height: normal;
    text-align: left;
    padding: 1.5rem 0;
    margin: unset;
}

.hamburger-menu ul.menu li>a {
    text-transform: unset;
    font-size: 1.6rem;
    font-weight: var(--font-medium);
    font-family: var(--text-font);
    color: inherit;
}

.hamburger-menu ul.menu li>a:hover {
    border-bottom: 1px solid var(--clr-text-default);
}

.hamburger-menu-bottom {
    background: var(--bg-gradient);
    margin: 0;
    position: absolute;
    width: 100%;
    bottom: 3rem;
    height: 6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 2rem;
}

.hamburger-menu-bottom p {
    color: var(--text-clr-invert);
    letter-spacing: 0.5px;
}

.hamburger-menu a {
    color: #264127;
    border-bottom: none;
    -ms-flex-item-align: center;
    align-self: center;
}

.hamburger-menu img {
    height: 2.5rem;
    width: auto;
    vertical-align: middle;
    padding: 0 1rem;
}

.hamburger-menu .email {
    position: absolute;
    bottom: 7rem;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.menu-top-menu-container {
    padding: 8rem 2rem;
}

.hamburger-menu {
    width: 35rem;
    height: 100vh;
    padding: 0;
    position: fixed;
    top: 0 !important;
    left: 0;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
    z-index: 0;
    top: 7rem;
    display: block;
    background-color: var(--bg-body);
}

.hamburger-menu::before {
    content: '';
    height: var(--header-height-mobile);
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    border-bottom: 1px solid #f3f3f3;
}

.hamburger-menu.is-open {
    -webkit-transform: translateX(0) !important;
    -ms-transform: translateX(0) !important;
    transform: translateX(0) !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    overflow-x: scroll;
}

.hamburger-menu li {
    position: relative;
}

.expand-sub-menu {
    display: none;
}

.hamburger-menu li.menu-item-has-children>a>.expand-sub-menu {
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(-90deg);
    -ms-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg);
    height: 3rem;
    width: 3rem;
    background: url('../images/icon-chevron-down.svg') no-repeat;
    background-size: 40%;
    background-position: 50%;
}

.submenu-back {
    display: none;
    padding: 0 0 2rem;
}

.submenu-back a {
    position: relative;
    font-size: initial;
    color: inherit;
    font-weight: var(--font-medium);
}

.submenu-back a::before {
    content: '';
    display: inline-block;
    margin: 0 1rem 0.1rem 0px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    height: 0.8rem;
    width: 1rem;
    background: url('../images/icon-chevron-down.svg') no-repeat;
    background-size: contain;
    background-position: 50%;
}

.hamburger-menu .sub-menu.is-open {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

@media only screen and (max-width: 1210px) {
    .hamburger-menu .sub-menu {
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%);
        padding: 8rem 2rem;
        background-color: var(--bg-body);
        z-index: 1;
        margin: 0;
    }
    .hamburger-menu .mega-menu>.sub-menu .sub-menu {
        position: fixed;
    }

    .hamburger-wrapper.is-open::after {
        display: block;
    }

    .submenu-back {
        display: block;
        padding: 1.5rem 0;
        margin-top: 2rem;
    }
}

.hamburger-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: auto;
    height: 5rem;
    cursor: pointer;
    -webkit-transition: all 350ms linear;
    -o-transition: all 350ms linear;
    transition: all 350ms linear;
}

.hamburger-icon span {
    width: 3rem;
    height: 2px;
    background-color: #000000;
    -webkit-transition: all 350ms linear;
    -o-transition: all 350ms linear;
    transition: all 350ms linear;
}

.hamburger-icon span::before,
.hamburger-icon span::after {
    content: '';
    position: absolute;
    width: 3rem;
    height: 2px;
    background-color: #000000;
    -webkit-transition: all 350ms linear;
    -o-transition: all 350ms linear;
    transition: all 350ms linear;
}

.header-transparent header:not(.is-scrolled) .hamburger-icon:not(.is-open) span,
.header-transparent header:not(.is-scrolled) .hamburger-icon:not(.is-open) span::before,
.header-transparent header:not(.is-scrolled) .hamburger-icon:not(.is-open) span::after {
    background-color: #ffffff;
}

@media only screen and (max-width: 1210px) {
    .hamburger-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media only screen and (max-width: 1280px) {
    .hamburger-menu {
        width: 100%;
        height: 100%;
    }
}


/* Hamburger animation */

.hamburger-icon span::before {
    -webkit-transform: translateY(-1rem);
    -ms-transform: translateY(-1rem);
    transform: translateY(-1rem);
}

.hamburger-icon span::after {
    -webkit-transform: translateY(1rem);
    -ms-transform: translateY(1rem);
    transform: translateY(1rem)
}

.hamburger-icon.is-open span {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    background-color: transparent;
}

.hamburger-icon.is-open span::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0;
}

.hamburger-icon.is-open span::after {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    top: 0;
}


/* Overlay */

#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 0;
    display: none;
    -webkit-transition: -webkit-transform .3s ease-in-out;
    transition: -webkit-transform .3s ease-in-out;
    -o-transition: transform .3s ease-in-out;
    transition: transform .3s ease-in-out;
    transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
    cursor: pointer;
}

#overlay.is-open {
    display: block;
}


/* ==========================================================================
3.0 Sections
========================================================================== */


/* 3.1 Hero
-------------------------------------------------------------------------- */

.is-style-hero .wp-block-group__inner-container {
    max-width: var(--wd-container-full);
}

.is-style-hero .wp-block-cover,
.is-style-hero .wp-block-cover-image {
    min-height: 100vh;
}

/* 3.2 Subhero
-------------------------------------------------------------------------- */

.is-style-subhero .wp-block-cover__background {
	height: 100%;
    width: 100%;
    position: absolute;
    background: black;
    z-index: 1;
    opacity: 0.3;
}

.is-style-subhero .wp-block-group__inner-container {
    max-width: var(--wd-container-full);
}

.is-style-subhero .wp-block-cover,
.is-style-subhero .wp-block-cover-image {
    min-height: 45rem;
}

.is-style-subhero {
    margin-top: var(--header-height);
}

@media only screen and (max-width: 768px) {
    .is-style-subhero .wp-block-cover,
    .is-style-subhero .wp-block-cover-image {
        min-height: 35rem;
    }
}


/* 3.3 CTA
-------------------------------------------------------------------------- */


/* 3.3.1 CTA with text and button */

main>.wp-block-group.cta-text-button {
    margin-top: var(--section-padding);
    padding: calc(var(--section-padding) * 0.5) 2rem;
}

.cta-text-button .wp-block-columns {
    grid-template-columns: repeat(2, auto);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.cta-text-button .wp-block-column * {
    margin: unset;
    line-height: normal;
}

.cta-text-button .wp-block-buttons {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

@media only screen and (max-width: 768px) {
    main>.wp-block-group.cta-text-button {
        margin-top: calc(var(--section-padding) * 0.75);
    }
    .cta-text-button .wp-block-columns {
        grid-template-columns: 1fr;
    }
    .cta-text-button .wp-block-buttons {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}


/* CTA for hero julie */

.cta-app {
    max-width: 21.5rem;
    border-radius: 2.7rem;
    -webkit-box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.15);
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.15);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1rem;
}

.stretch-container {
    max-width: none !important;
    padding: 10rem 0 0 2rem !important;
}

.stretch-container>.wp-block-group__inner-container {
    max-width: none;
}

.stretch-text {
    max-width: calc( var(--wd-container-default) / 2 - var(--gap-default) / 2) !important;
    margin: 0 0 0 auto !important;
}

.stretch-image {
    width: 100%;
}

@media only screen and (max-width: 768px) {
    .cta-content * {
        max-width: 100%;
    }
    .cta-content {
        padding: 8rem 4rem;
    }
}

@media only screen and (max-width: 650px) {
    .cta {
        margin-top: calc(var(--section-padding) * 0.75);
        padding-bottom: calc(var(--section-padding) * 0.75);
    }
    .cta-content {
        padding: 6rem 2rem;
    }
}


/* CTA with text */

.cta-text {
    padding-top: 6rem;
    padding-bottom: 7rem;
}

.cta-text * {
    color: var(--text-clr-invert);
    font-size: clamp(2.5rem, 4vw, 2.5rem);
    font-weight: var(--font-bold);
    line-height: normal;
}

.cta-text a {
    border-color: white;
}

@media only screen and (max-width: 768px) {
    .cta-text.wp-block-group {
        padding-bottom: 7rem;
        padding-top: 6rem !important;
    }
}


/* CTA with cover */

.cta-background * {
    text-align: center;
    color: var(--text-clr-invert);
}

.cta-background .wp-block-cover {
    padding: var(--section-padding) 2rem;
}

@media only screen and (max-width: 768px) {
    .cta-background .wp-block-cover {
        padding: calc(var(--section-padding) * 0.75) 2rem;
    }
}


/* 3.4 Blog / News
-------------------------------------------------------------------------- */

.news {
    margin-top: var(--gap-default);
}

@media only screen and (min-width: 1440px) {
    .page main {
        min-height: 60vh;
    }
}


/* 3.4.1 News card */

.news .wp-block-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.news .card-image {
    height: 24rem;
}

.news .card-content {
    padding: 3rem;
    background-color: var(--bg-body);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.news .card-content .date {
    color: #444444;
    font-size: 1.6rem;
}

.news .card-content .link {
    margin: auto 0 0;
}

.news .card-content a {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: var(--font-medium);
    -webkit-transition: all 150ms linear;
    -o-transition: all 150ms linear;
    transition: all 150ms linear;
}

.news .card-content a::after {
    content: ">";
    margin-left: 0.75rem;
    font-size: 110%;
    vertical-align: baseline;
}

@media only screen and (max-width: 768px) {
    .news {
        grid-gap: 4rem;
    }
    .news .wp-block-column {
        grid-template-columns: 1fr;
    }
}


/* 3.4.2 Pagination */

.pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: var(--gap-default);
}

.page-numbers {
    font-size: clamp(1.8rem, 3vw, 2.2rem);
    font-weight: var(--font-regular);
    line-height: unset;
    color: var(--text-clr-light);
}

.page-numbers {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: var(--font-regular);
    margin: 0 0.5rem;
    border: 1.5px solid transparent;
}

.page-numbers.current {
    border: 1.5px solid #8a8a8a;
    background-color: var(--bg-body);
    color: var(--text-clr);
}

.page-numbers:not(.prev,
.next):hover {
    border: 1.5px solid #8a8a8a;
}

.page-numbers :is(.prev,
.next) {
    color: var(--text-clr);
}


/* 3.4.3 Single news-post */

.single-post h1 {
    font-size: clamp(3.2rem, 7vw, 5rem);
}

.single-post h2 {
    font-size: clamp(3rem, 4vw, 3.2rem);
    margin-bottom: 1.5rem;
    margin-top: clamp(4rem, 4vw, 5rem);
}

.single-post h3 {
    font-size: clamp(2.2rem, 4vw, 2.5rem);
    margin-top: clamp(4rem, 4vw, 5rem);
}


/* 3.4.4 Single post navigation */

main>.wp-block-group.single-post-navigation {
    border-top: 1px solid #c5c5c5;
    margin: var(--section-padding) 2rem 0;
    padding-top: calc(var(--section-padding) * 0.4);
    padding-left: 0;
    padding-right: 0;
    max-width: 114rem;
    margin-left: auto;
    margin-right: auto;
}

.single-post-navigation .wp-block-group__inner-container {
    max-width: 114rem;
}

.post-navigation {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 2rem;
}

.post-navigation a span {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid;
    border-color: initial;
    -webkit-transition: all 150ms linear;
    -o-transition: all 150ms linear;
    transition: all 150ms linear;
    font-weight: var(--font-medium);
    font-size: clamp(1.6rem, 3vw, 1.8rem);
}

.post-navigation a:hover span {
    border-color: var(--accent);
    color: var(--accent);
}

.post-navigation a[rel="prev"] {
    grid-column: 1/2;
    text-align: left;
}

.post-navigation a[rel="next"] {
    grid-column: 2/3;
    text-align: right;
}

.post-navigation .meta-nav {
    color: #444444;
}

@media only screen and (max-width: 1141px) {
    main>.wp-block-group.single-post-navigation {
        margin-left: 2rem;
        margin-right: 2rem;
    }
}

@media only screen and (max-width: 1070px) {
    main>.wp-block-group.single-post-navigation {
        margin-top: calc(var(--section-padding) * 0.5);
    }
}


/* 3.5 Custom post types (CPT)
-------------------------------------------------------------------------- */


/* 3.5.1 Försäkringsbolag */

.insurance img {
    width: 12rem;
    height: 7rem;
    -o-object-fit: contain;
    object-fit: contain;
}

.insurance .wp-block-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    grid-gap: 2rem;
}


/* 3.5.2 Medarbetare */

.medarbetare {
    grid-gap: var(--gap-default);
}

.medarbetare .card {
    text-align: center;
}

.medarbetare .card-image {
    margin-bottom: 2rem;
}

.medarbetare .card-image img {
    border-radius: 50rem;
    height: 25rem;
    width: 25rem;
    -o-object-fit: cover;
    object-fit: cover;
}

.medarbetare :is(p.email,
p.phone) {
    margin-bottom: 0;
}

.medarbetare .name {
    margin-bottom: 0.5rem;
}


/* 3.7 Contactinfo
-------------------------------------------------------------------------- */

.contactinfo p {
    margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
    .contactinfo .wp-block-columns {
        grid-gap: var(--gap-default)
    }
}


/* 3.8 Google maps
-------------------------------------------------------------------------- */

main>.wp-block-group.map {
    margin-top: var(--section-padding) !important;
    padding-bottom: 0 !important;
}

@media only screen and (max-width: 768px) {
    main>.wp-block-group.map {
        margin-top: calc(var(--section-padding) * 0.5) !important;
    }
}


/* 3.9 Fullwidth services
-------------------------------------------------------------------------- */

div.fullwidth-services {
    grid-gap: 2rem;
    padding-top: 2rem;
}

div.fullwidth-services .wp-block-column {
    position: relative;
    overflow: hidden;
    max-height: 40rem;
    height: 100%;
    min-height: 32rem;
    -webkit-transition: 0.55s;
    -o-transition: 0.55s;
    transition: 0.55s;
}

div.fullwidth-services .wp-block-column img {
    transform: scale(1.01);
    transition: all 0.3s linear;
}

div.fullwidth-services .wp-block-column:hover img {
    transform: scale(1.05);
    transition: all 0.3s linear;
}

div.fullwidth-services .service-heading {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0 2rem 4rem;
    text-align: center;
    margin-bottom: 0;
    color: var(--text-clr-invert);
    font-size: clamp(2.5rem, 3vw, 3rem);
}

div.fullwidth-services img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%;
    min-height: 32rem;
    -webkit-transition: 0.55s;
    -o-transition: 0.55s;
    transition: 0.55s;
}

@media only screen and (max-width: 900px) {
    div.fullwidth-services {
        grid-template-columns: 1fr;
    }
    div.fullwidth-services .wp-block-column {
        max-height: 30rem;
    }
}


/* 3.10 Google reviews plugin
-------------------------------------------------------------------------- */

.wp-gr .grw-slider .grw-slider-header-inner,
.wp-gr .grw-slider .grw-slider-review-inner {
    background-color: white !important;
    padding: 40px 30px !important;
}

.wp-gr .grw-slider .grw-slider-review-inner>svg {
    display: none !important;
}

.wp-gr .grw-slider-review .wp-google-left {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-family: var(--heading-font) !important;
    font-size: 20px !important;
}

.wp-gr.wpac a.wp-google-name {
    color: #000000 !important;
}

.wp-gr .grw-slider .wp-google-feedback * {
    font-size: 16px !important;
    font-family: var(--text-font) !important;
}

.wp-gr .grw-slider .wp-google-review {
    text-align: center !important;
}

.wp-gr.wpac .wp-google-left img {
    margin: 0 auto 10px !important;
    display: none !important;
}

.wp-gr .grw-slider .wp-google-stars {
    margin: 5px 0 20px !important;
}

.wp-gr.wpac .wp-google-review .wp-star svg {
    -webkit-filter: invert(39%) sepia(80%) saturate(3095%) hue-rotate(349deg) brightness(97%) contrast(109%);
    filter: invert(39%) sepia(80%) saturate(3095%) hue-rotate(349deg) brightness(97%) contrast(109%);
}


/* 3.11 Lista med vanliga symptom
-------------------------------------------------------------------------- */

.list-symptom {
    display: grid;
    grid-template-columns: 35rem auto;
    max-width: 117rem;
    margin: 0 auto;
    grid-gap: clamp(5rem, 5vw, 8rem);
}

.symptom-heading {
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 2.5;
    border-bottom: 1px solid #c5c5c5;
    cursor: pointer;
    -webkit-transition: all 150ms linear;
    -o-transition: all 150ms linear;
    transition: all 150ms linear;
}

.is-open .symptom-heading,
.symptom-heading:hover {
    color: var(--accent);
    -webkit-transition: all 150ms linear;
    -o-transition: all 150ms linear;
    transition: all 150ms linear;
}

.is-open .symptom-heading img,
.symptom-heading:hover img {
    -webkit-transition: all 150ms linear;
    -o-transition: all 150ms linear;
    transition: all 150ms linear;
    -webkit-filter: invert(39%) sepia(80%) saturate(3095%) hue-rotate(349deg) brightness(97%) contrast(109%);
    filter: invert(39%) sepia(80%) saturate(3095%) hue-rotate(349deg) brightness(97%) contrast(109%);
}

.symptom-heading img {
    -webkit-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3);
    -webkit-transition: all 150ms linear;
    -o-transition: all 150ms linear;
    transition: all 150ms linear;
}

.is-open .symptom-heading img {
    -webkit-transform: scale(1.3) rotate(-90deg);
    -ms-transform: scale(1.3) rotate(-90deg);
    transform: scale(1.3) rotate(-90deg);
}

@media only screen and (max-width: 980px) {
    .dropdown {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    select.select-dropdown {
        max-width: 100%;
        background-position: 98% 50%;
    }
    .list-symptom {
        grid-template-columns: 1fr;
    }
    .controls {
        display: none;
    }
}


/* ==========================================================================
4.0 Forms
========================================================================== */

.is-style-form .wp-block-group__inner-container {
    background-color: var(--bg-primary);
    padding: 7.5rem 10rem;
}

@media only screen and (max-width: 768px) {
    main>.wp-block-group.is-style-form {
        padding-left: 0;
        padding-right: 0;
    }
    .is-style-form .wp-block-group__inner-container {
        padding: 6rem 2rem;
    }
}


/* 4.1 Text and fields
-------------------------------------------------------------------------- */

.wpcf7-form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 1rem 2rem;
    margin-top: 3rem;
}

.wpcf7-form * {
    text-align: left;
}

.wpcf7-form label {
    display: none;
}

.wpcf7-form p {
    margin-bottom: unset;
}

.wpcf7-form p:nth-of-type(n+5) {
    grid-column: 1/3;
}

.wpcf7-form .acceptance,
.wpcf7-form .acceptance a {
    font-size: 1.6rem;
    line-height: normal;
}

.wpcf7-form p span :is(select,
textarea,
input:not([type="checkbox"])) {
    width: 100%;
    padding: 1.1rem 0;
    border: none;
    color: var(--text-clr);
    font-size: 1.6rem;
    font-weight: inherit;
    margin: 0.75rem 0;
    border-bottom: 1px solid #000000;
    background-color: transparent;
}

.wpcf7-form ::-webkit-input-placeholder {
    color: #444444;
}

.wpcf7-form ::-moz-placeholder {
    color: #444444;
}

.wpcf7-form :-ms-input-placeholder {
    color: #444444;
}

.wpcf7-form ::-ms-input-placeholder {
    color: #444444;
}

.wpcf7-form ::placeholder {
    color: #444444;
}

.wpcf7-form p span select {
    -webkit-appearance: menulist-button;
}

.wpcf7-radio .wpcf7-list-item {
    display: grid;
    grid-template-columns: 2rem auto;
    grid-gap: 1rem;
    font-size: 1.6rem;
}

.wpcf7-list-item {
    margin-left: unset;
}

@media only screen and (max-width: 600px) {
    .wpcf7-form p {
        grid-column: 1/3;
    }
}


/* 4.2 Error message
-------------------------------------------------------------------------- */

.wpcf7-not-valid-tip,
.wpcf7 form .wpcf7-response-output {
    color: #dc3232;
    font-size: 1.2rem;
    font-weight: inherit;
    display: block;
    border: none;
    margin: 0;
    padding: 0;
    text-align: left;
}

.wpcf7 form .wpcf7-response-output {
    border: 1.5px solid #dc3232 !important;
    padding: 0 0.5em;
    color: #dc3232;
}

.wpcf7 form .wpcf7-response-output:last-of-type {
    margin-top: 1em;
}

.wpcf7 form.sent .wpcf7-response-output {
    border: 1.5px solid #46b450 !important;
    padding: 0 0.5em;
    color: #46b450;
}


/* 4.3 Acceptance
-------------------------------------------------------------------------- */

input[type="checkbox"] {
    vertical-align: middle;
}

.wpcf7-form .wpcf7-acceptance label {
    display: inline-block;
}

.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
    margin: unset;
}

.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label,
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label a {
    font-size: 1.6rem;
}


/* 4.4 Submit
-------------------------------------------------------------------------- */

.wpcf7-form .submit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    grid-column: 1/3;
}

input.wpcf7-submit {
    margin-top: 2rem;
}

.wpcf7-form input[type="submit"],
.wpcf7-form input[type="submit"]:disabled {
    font-size: 1.6rem;
    font-weight: var(--font-medium);
    letter-spacing: 0.05em;
    line-height: normal;
    text-transform: uppercase;
    background-color: #000000;
    color: var(--btn-text-light);
    padding: 1.1rem 3rem;
    text-align: center;
    -webkit-transition: 150ms all linear;
    -o-transition: 150ms all linear;
    transition: 150ms all linear;
    border: 2px solid transparent;
}

.wpcf7-spinner {
    display: none;
}

.wpcf7-form input[type="submit"]:hover {
    cursor: pointer;
    background-color: #444444;
    color: var(--btn-text-light);
}

.wpcf7 .wpcf7-submit:disabled,
.wpcf7-form input[type="submit"]:disabled {
    cursor: not-allowed;
}


/* 4.5 Custom forms
-------------------------------------------------------------------------- */


/* ==========================================================================
6.0 Footer
========================================================================== */


/* 6.1 Footer top
-------------------------------------------------------------------------- */

.footer-top {
    padding: var(--section-padding) 2rem 8rem;
    position: relative;
}

.footer-container {
    max-width: var(--wd-container-large);
    margin: 0 auto;
    border-top: 1px solid #c5c5c5;
    padding-top: 5rem;
}

.footer-inner-container {
    max-width: var(--wd-container-footer);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 35rem repeat(3, 1fr);
    grid-gap: var(--gap-default);
}

.footer-col:first-of-type {
    max-width: 35rem;
}

@media only screen and (max-width: 980px) {
    .footer-inner-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media only screen and (max-width: 768px) {
    .footer-inner-container {
        grid-template-columns: 1fr;
        grid-gap: 3rem;
    }
    .footer-top {
        padding-top: calc(var(--section-padding) * 0.5);
        position: relative;
    }
}


/* 6.2 Footer bottom
-------------------------------------------------------------------------- */

.footer-bottom {
    padding: 0 2rem 2rem;
}

.footer-divider {
    height: 1px;
    background-color: #c5c5c5;
    max-width: var(--wd-container-footer);
    margin: 0 auto;
    margin-bottom: 1.5rem;
}

.footer-bottom .footer-inner-container {
    grid-template-columns: 1fr;
    grid-gap: 1.5rem;
    text-align: center;
}

@media only screen and (max-width: 768px) {
    .footer-bottom .footer-inner-container {
        grid-template-columns: 1fr;
        grid-gap: 1rem;
        text-align: center;
    }
}


/* 6.3 Footer text and logo
-------------------------------------------------------------------------- */

.footer-logo img {
    max-width: 28rem;
    height: auto;
    margin-bottom: 1rem;
}

footer p,
footer a {
    font-size: 1.4rem;
    color: var(--text-clr);
    text-transform: initial;
    letter-spacing: normal;
    font-weight: var(--font-regular);
}

footer a {
    -webkit-transition: all 150ms linear;
    -o-transition: all 150ms linear;
    transition: all 150ms linear;
    border-bottom: 1px solid transparent;
}

footer .footer-col:not(:last-of-type) a:hover {
    border-color: var(--accent);
    color: var(--accent);
}

footer .footer-logo a,
footer .footer-logo a:hover {
    border-bottom: none;
    opacity: unset;
}

footer .footer-heading {
    margin-bottom: 2rem;
    font-weight: var(--font-medium);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}


/* 6.4 Footer navigation
-------------------------------------------------------------------------- */

.footer-menu ul {
    padding: unset;
    margin: unset;
    list-style: none;
}

.footer-menu li {
    padding: unset;
    margin: unset;
}

footer .footer-menu li a {
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


/* ==========================================================================
7.0 Split section
========================================================================== */


/* 7.1 General settings
-------------------------------------------------------------------------- */

.split-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    grid-gap: var(--gap-default);
    min-height: 45rem;
}

.split-wrapper.has-margin-top {
    margin-top: var(--section-padding);
}

.split-wrapper.has-margin-bottom {
    margin-bottom: var(--section-padding);
}

@media only screen and (min-width: 1500px) {
    .split-wrapper {
        min-height: 50vh;
    }
}

@media only screen and (max-width: 1070px) {
    .split-wrapper.has-margin-top {
        margin-top: calc(var(--section-padding) * 0.5);
    }
    .split-wrapper.has-margin-bottom {
        margin-bottom: calc(var(--section-padding) * 0.5);
    }
}


/* Split image */

.split-image {
    width: 50%;
    position: relative;
    overflow: hidden;
}

.split-image img {
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    max-width: unset !important;
    -o-object-fit: cover;
    object-fit: cover;
}


/* Split content */

.split-wrapper .split-content {
    width: calc(50% - var(--gap-default));
    padding: var(--section-padding) 2rem var(--section-padding) 0;
    -ms-flex-item-align: center;
    -ms-flex-item-align: center;
    align-self: center;
    max-width: calc((var(--wd-container-large) * 0.52) - 3rem);
}

@media screen and (max-width: 1070px) {
    .split-wrapper .split-content,
    .split-wrapper.reverse .split-content {
        padding-top: calc(var(--section-padding) * 0.5);
        padding-bottom: calc(var(--section-padding) * 0.5);
    }
}

@media screen and (max-width: 768px) {
    .split-wrapper {
        grid-gap: unset;
    }
    .split-wrapper .split-content {
        width: 100%;
        max-width: 100%;
        padding: calc(var(--section-padding) * 0.5) 2rem !important;
    }
    .split-image {
        width: 100%;
        padding: 0;
        height: 40rem;
    }
}


/* Reverse column order */

.split-wrapper.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.split-wrapper.reverse .split-content {
    padding: var(--section-padding) 0 var(--section-padding) 2rem;
}

@media screen and (max-width: 1070px) {
    .split-wrapper.reverse .split-content {
        padding-top: calc(var(--section-padding) * 0.5);
        padding-bottom: calc(var(--section-padding) * 0.5);
    }
}

@media screen and (max-width: 768px) {
    .split-wrapper.reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }
}


/* Align-items top */

.split-wrapper.align-top .split-content {
    -ms-flex-item-align: start;
    align-self: flex-start;
    padding-top: 0;
}