/*
Theme Name: Call Aviation to Action
Author: Bram Peerlings
Author URI: https://bram.peerlings.me
Version: 1.0
Text Domain: call
*/

/*
**
** RESET
**
** */

/* Box sizing rules */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-wrap: stable;
}

/* Prevent font size inflation */
html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h4, h5, p,
figure, blockquote, dl, dd {
    margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
    list-style: none;
}

/* Set core body defaults */
body {
    min-height: 100vh;
    line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h4, h5,
button, input, label {
    line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h4, h5 {
    text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
    text-decoration-skip-ink: auto;
    color: currentColor;
}

/* Make images easier to work with */
img,
picture {
    max-width: 100%;
    display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
    font-family: inherit;
    font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
    min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
    scroll-margin-block: 5ex;
}


/*
**
** FONTS
**
** */



/* Webfont: Nohemi-Regular */
@font-face {
    font-family: 'Nohemi';
    src: url('fonts/Nohemi-Regular.eot'); /* IE9 Compat Modes */
    src: url('fonts/Nohemi-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('fonts/Nohemi-Regular.woff') format('woff'), /* Modern Browsers */ url('fonts/Nohemi-Regular.woff2') format('woff2'), /* Modern Browsers */ url('fonts/Nohemi-Regular.ttf') format('truetype'); /* Safari, Android, iOS */
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

@font-face {
    font-family: 'Nohemi';
    src: url('fonts/Nohemi-Medium.eot'); /* IE9 Compat Modes */
    src: url('fonts/Nohemi-Medium.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('fonts/Nohemi-Medium.woff') format('woff'), /* Modern Browsers */ url('fonts/Nohemi-Medium.woff2') format('woff2'), /* Modern Browsers */ url('fonts/Nohemi-Medium.ttf') format('truetype'); /* Safari, Android, iOS */
    font-style: normal;
    font-weight: 500;
    text-rendering: optimizeLegibility;
}

@font-face {
    font-family: 'Nohemi';
    src: url('fonts/Nohemi-SemiBold.eot'); /* IE9 Compat Modes */
    src: url('fonts/Nohemi-SemiBold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('fonts/Nohemi-SemiBold.woff') format('woff'), /* Modern Browsers */ url('fonts/Nohemi-SemiBold.woff2') format('woff2'), /* Modern Browsers */ url('fonts/Nohemi-SemiBold.ttf') format('truetype'); /* Safari, Android, iOS */
    font-style: normal;
    font-weight: 600;
    text-rendering: optimizeLegibility;
}

@font-face {
    font-family: 'Nohemi';
    src: url('fonts/Nohemi-Bold.eot'); /* IE9 Compat Modes */
    src: url('fonts/Nohemi-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('fonts/Nohemi-Bold.woff') format('woff'), /* Modern Browsers */ url('fonts/Nohemi-Bold.woff2') format('woff2'), /* Modern Browsers */ url('fonts/Nohemi-Bold.ttf') format('truetype'); /* Safari, Android, iOS */
    font-style: normal;
    font-weight: bold;
    text-rendering: optimizeLegibility;
}



@font-face {
    font-family: 'Gelica';
    src: url('fonts/Gelica-Light.eot');
    src: url('fonts/Gelica-Light.eot?#iefix') format('embedded-opentype'),
    url('fonts/Gelica-Light.woff2') format('woff2'),
    url('fonts/Gelica-Light.woff') format('woff'),
    url('fonts/Gelica-Light.ttf') format('truetype'),
    url('fonts/Gelica-Light.svg#Gelica-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gelica';
    src: url('fonts/Gelica-Regular.eot');
    src: url('fonts/Gelica-Regular.eot?#iefix') format('embedded-opentype'),
    url('fonts/Gelica-Regular.woff2') format('woff2'),
    url('fonts/Gelica-Regular.woff') format('woff'),
    url('fonts/Gelica-Regular.ttf') format('truetype'),
    url('fonts/Gelica-Regular.svg#Gelica-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}



@font-face {
    font-family: 'Gelica';
    src: url('fonts/Gelica-Italic.eot');
    src: url('fonts/Gelica-Italic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Gelica-Italic.woff2') format('woff2'),
    url('fonts/Gelica-Italic.woff') format('woff'),
    url('fonts/Gelica-Italic.ttf') format('truetype'),
    url('fonts/Gelica-Italic.svg#Gelica-Italic') format('svg');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}


@font-face {
    font-family: 'Gelica';
    src: url('fonts/Gelica-MediumItalic.eot');
    src: url('fonts/Gelica-MediumItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Gelica-MediumItalic.woff2') format('woff2'),
    url('fonts/Gelica-MediumItalic.woff') format('woff'),
    url('fonts/Gelica-MediumItalic.ttf') format('truetype'),
    url('fonts/Gelica-MediumItalic.svg#Gelica-MediumItalic') format('svg');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gelica';
    src: url('fonts/Gelica-SemiBoldItalic.eot');
    src: url('fonts/Gelica-SemiBoldItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Gelica-SemiBoldItalic.woff2') format('woff2'),
    url('fonts/Gelica-SemiBoldItalic.woff') format('woff'),
    url('fonts/Gelica-SemiBoldItalic.ttf') format('truetype'),
    url('fonts/Gelica-SemiBoldItalic.svg#Gelica-SemiBoldItalic') format('svg');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}




@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Regular.eot');
    src: url('fonts/Poppins-Regular.eot?#iefix') format('embedded-opentype'),
    url('fonts/Poppins-Regular.woff2') format('woff2'),
    url('fonts/Poppins-Regular.woff') format('woff'),
    url('fonts/Poppins-Regular.ttf') format('truetype'),
    url('fonts/Poppins-Regular.svg#Poppins-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-BoldItalic.eot');
    src: url('fonts/Poppins-BoldItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Poppins-BoldItalic.woff2') format('woff2'),
    url('fonts/Poppins-BoldItalic.woff') format('woff'),
    url('fonts/Poppins-BoldItalic.ttf') format('truetype'),
    url('fonts/Poppins-BoldItalic.svg#Poppins-BoldItalic') format('svg');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Bold.eot');
    src: url('fonts/Poppins-Bold.eot?#iefix') format('embedded-opentype'),
    url('fonts/Poppins-Bold.woff2') format('woff2'),
    url('fonts/Poppins-Bold.woff') format('woff'),
    url('fonts/Poppins-Bold.ttf') format('truetype'),
    url('fonts/Poppins-Bold.svg#Poppins-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-MediumItalic.eot');
    src: url('fonts/Poppins-MediumItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Poppins-MediumItalic.woff2') format('woff2'),
    url('fonts/Poppins-MediumItalic.woff') format('woff'),
    url('fonts/Poppins-MediumItalic.ttf') format('truetype'),
    url('fonts/Poppins-MediumItalic.svg#Poppins-MediumItalic') format('svg');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Medium.eot');
    src: url('fonts/Poppins-Medium.eot?#iefix') format('embedded-opentype'),
    url('fonts/Poppins-Medium.woff2') format('woff2'),
    url('fonts/Poppins-Medium.woff') format('woff'),
    url('fonts/Poppins-Medium.ttf') format('truetype'),
    url('fonts/Poppins-Medium.svg#Poppins-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-SemiBold.eot');
    src: url('fonts/Poppins-SemiBold.eot?#iefix') format('embedded-opentype'),
    url('fonts/Poppins-SemiBold.woff2') format('woff2'),
    url('fonts/Poppins-SemiBold.woff') format('woff'),
    url('fonts/Poppins-SemiBold.ttf') format('truetype'),
    url('fonts/Poppins-SemiBold.svg#Poppins-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-ExtraBold.eot');
    src: url('fonts/Poppins-ExtraBold.eot?#iefix') format('embedded-opentype'),
    url('fonts/Poppins-ExtraBold.woff2') format('woff2'),
    url('fonts/Poppins-ExtraBold.woff') format('woff'),
    url('fonts/Poppins-ExtraBold.ttf') format('truetype'),
    url('fonts/Poppins-ExtraBold.svg#Poppins-ExtraBold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Italic.eot');
    src: url('fonts/Poppins-Italic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Poppins-Italic.woff2') format('woff2'),
    url('fonts/Poppins-Italic.woff') format('woff'),
    url('fonts/Poppins-Italic.ttf') format('truetype'),
    url('fonts/Poppins-Italic.svg#Poppins-Italic') format('svg');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-LightItalic.eot');
    src: url('fonts/Poppins-LightItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Poppins-LightItalic.woff2') format('woff2'),
    url('fonts/Poppins-LightItalic.woff') format('woff'),
    url('fonts/Poppins-LightItalic.ttf') format('truetype'),
    url('fonts/Poppins-LightItalic.svg#Poppins-LightItalic') format('svg');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-ExtraBoldItalic.eot');
    src: url('fonts/Poppins-ExtraBoldItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Poppins-ExtraBoldItalic.woff2') format('woff2'),
    url('fonts/Poppins-ExtraBoldItalic.woff') format('woff'),
    url('fonts/Poppins-ExtraBoldItalic.ttf') format('truetype'),
    url('fonts/Poppins-ExtraBoldItalic.svg#Poppins-ExtraBoldItalic') format('svg');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-SemiBoldItalic.eot');
    src: url('fonts/Poppins-SemiBoldItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Poppins-SemiBoldItalic.woff2') format('woff2'),
    url('fonts/Poppins-SemiBoldItalic.woff') format('woff'),
    url('fonts/Poppins-SemiBoldItalic.ttf') format('truetype'),
    url('fonts/Poppins-SemiBoldItalic.svg#Poppins-SemiBoldItalic') format('svg');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

/*
**
** MAIN
**
** */

:root {
    --bright: #FFFFFF;
    --background: #F8F6F5;
    --foreground: #11133A;
    --spot: #FF632B;
    --sky-gradient-light: #AAD0FF;
    --sky-gradient-dark: #75A0DA; /* #447ECA; */
    --sun-gradient-light: #FAB993;
    --sun-gradient-dark: #BFB1F0;
    --light-grey: #707189; /* #878791; */
    --dark-grey: #505169;
    --very-light-grey: #CFD0D8;
    --spacing-x-large: 200px;
    --spacing-large: 100px;
    --spacing-medium: 50px;
    --spacing-small: 25px;
    --spacing-x-small: 10px;
    --fade-out: 300px;
    --fade-out-quick: 150px;
    --fade-out-slow: 600px;
    /*--font-hero: 10vh;*/
    /*--font-sub-hero: 5vh;*/
    /*--font-heading: 4em;*/
    /*--font-sub-heading: 2em;*/
    /*--font-large: 1.8em;*/
    /*--font-text: 1.2em;*/
    /*--font-sub: 1em;*/
}

body {
    background: var(--background);
    margin: 0;
}

a:hover {
    text-decoration: none;
}

h1, h2, h3 {
    /* Page title (uppercase / lowercase) */
    color: var(--foreground);
    font-family: "Nohemi";
    font-weight: 600;
    font-size: 3em;
    text-wrap: stable;
}

h1 {
    text-transform: uppercase;
    line-height: 85%;
    letter-spacing: -2px;
}

h2, h3 {
    font-weight: 500;
}

h3 {
    font-size: 2em;
}

h4 {
    /* Serif heading */
    color: var(--foreground);
    font-family: Gelica;
    font-weight: 300;
    font-size: 2em;
    letter-spacing: -2px;
    line-height: 130%;
    text-wrap: stable;
}

h5 {
    /* Sans-serif headings */
    color: var(--foreground);
    font-family: Poppins;
    font-size: 1.5em;
    font-weight: 400;
    text-wrap: stable;
}

h6 {
    color: var(--spot);
    font-family: Gelica;
    font-size: 1em;
    font-weight: lighter;
    text-wrap: stable;
}

h6.grey {
    color: var(--light-grey);
}

h6.blue{
    color: var(--foreground);
}

h5.spacing, h6.spacing{
    margin-top: var(--spacing-small);
}

p {
    font-size: 1.2em;
}

.body-text p + p{
    margin-top: var(--spacing-small);
}

p.large {
    font-size: 1.8em;
    font-family: Nohemi;
    font-weight: 500;
}

p.small {
    font-size: 1em;
}

.body-text strong{
    font-weight: 600;
    letter-spacing: 0.15pt;
    color: var(--dark-grey);
}


/* CONTENT ************************************************************************************************************/

div#container {
    width: 100%;
    color: var(--foreground);
    font-family: Poppins, sans-serif;
}

div.top {
    background-size: 100% 100%;
    background-position: 0 0, 0 0, 0 0;
    /*background-image: linear-gradient(0deg, #F8F6F5 0%, #F8F6F500 100%),radial-gradient(75% 75% at 50% 90%, #FAB993D6 0%, #BFB1F0D6 75%, #BFB1F000 99%),linear-gradient(0deg, #F8F6F5 0%, #AAD0FF 30%, #75A0DA 100%);*/
    background-image: radial-gradient(62.5% 62.5% at 50% 75%, #FAB993 0%, #BFB1F0D6 75%, #BFB1F000 100%), linear-gradient(0deg, #F8F6F5 0%, #AAD0FF 30%, #75A0DA 100%);
    min-height: 150vh;
}

div.top.small {
    background-size: 100% 150%;
    min-height: 100vh;
}

div.top.container {
    min-height: 0;
}

.content {
    padding-left: 12.5%;
    padding-right: 12.5%;
    padding-top: var(--spacing-x-large);
}

div.top.container .content.float {
    padding-top: var(--spacing-large);
    padding-bottom: var(--spacing-large);
}

.content.narrow {
    padding-left: 25%;
    padding-right: 25%;
}

.content.close {
    padding-top: var(--spacing-medium);
}

.content.space-below{
    padding-bottom: var(--spacing-x-large);
}

.overlap + div {
    margin-top: calc(-1 * var(--spacing-x-large));
    padding-top: var(--spacing-x-large);
}

.overlap.extra + div {
    padding-top: calc(2 * var(--spacing-x-large));
}

div.breaker {
    background-color: var(--background);
    background-image: url('data:image/svg+xml,<svg width="1920" height="386" viewBox="0 0 1920 386" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M374 2.56402e-06L161.091 2.51039e-08C158.398 -7.00338e-09 155.82 1.08572 153.938 3.01157L2.84726 157.655C1.02191 159.523 2.55155e-06 162.031 2.52041e-06 164.643L0 376C-6.58557e-08 381.523 4.47714 386 10 386H222.814C225.563 386 228.191 384.868 230.08 382.87L381.266 222.976C383.022 221.119 384 218.661 384 216.106L384 10C384 4.47715 379.523 2.62988e-06 374 2.56402e-06Z" fill="%23FF632B"/><path d="M763 2.62364e-06L542.986 0C541.639 -1.60535e-08 540.35 0.542847 539.409 1.50577L385.424 159.112C384.511 160.046 384 161.3 384 162.606V381C384 383.761 386.239 386 389 386H608.967C610.342 386 611.656 385.434 612.6 384.435L766.633 221.53C767.511 220.602 768 219.373 768 218.095L768 5C768 2.23859 765.761 2.65657e-06 763 2.62364e-06Z" fill="%23FF632B"/><path d="M1142 2.56402e-06L929.091 2.51039e-08C926.398 -7.0032e-09 923.82 1.08572 921.938 3.01157L770.847 157.655C769.022 159.523 768 162.031 768 164.643V376C768 381.523 772.477 386 778 386H990.814C993.563 386 996.191 384.868 998.08 382.87L1149.27 222.976C1151.02 221.119 1152 218.661 1152 216.106V10C1152 4.47715 1147.52 2.62988e-06 1142 2.56402e-06Z" fill="%23FF632B"/><path d="M1526 2.56402e-06L1313.09 2.51039e-08C1310.4 -7.00338e-09 1307.82 1.08572 1305.94 3.01157L1154.85 157.655C1153.02 159.523 1152 162.031 1152 164.643V376C1152 381.523 1156.48 386 1162 386H1374.81C1377.56 386 1380.19 384.868 1382.08 382.87L1533.27 222.976C1535.02 221.119 1536 218.661 1536 216.106V10C1536 4.47715 1531.52 2.62988e-06 1526 2.56402e-06Z" fill="%23FF632B"/><path d="M1910 2.56402e-06L1697.09 2.51039e-08C1694.4 -7.00338e-09 1691.82 1.08572 1689.94 3.01157L1538.85 157.655C1537.02 159.523 1536 162.031 1536 164.643V376C1536 381.523 1540.48 386 1546 386H1758.81C1761.56 386 1764.19 384.868 1766.08 382.87L1917.27 222.976C1919.02 221.119 1920 218.661 1920 216.106V10C1920 4.47715 1915.52 2.62988e-06 1910 2.56402e-06Z" fill="%23FF632B"/></svg>');
    min-height: calc(5 / 6 * 386 / 1920 * 100vw);
    background-size: contain;
}

.rounded img {
    border-radius: var(--spacing-small);
}

figure.content.wp-block-gallery, .content figure.wp-block-gallery, .image-grid {
    gap: var(--spacing-small);
    flex-wrap: nowrap;
}

figure.content.wp-block-gallery figure.wp-block-image {
    flex: 1;
    width: auto;
}

figure.wp-block-image.filter-desaturate img{
    filter: saturate(70%);
}

figure.wp-block-image img:hover{
    filter: none;
}

hr.wp-block-separator{
    border-top: 1px solid var(--very-light-grey);
    margin: var(--spacing-large) 0;
}

.spot {
    color: var(--spot);
}

.cta-button > a, .cta-button input, .sub-button > a, span.sub-button {
    border-radius: calc(var(--spacing-x-small) + var(--spacing-small));
    padding: var(--spacing-x-small) var(--spacing-small);
    font-weight: 600;
    cursor: pointer;
}

.cta-button.medium > a {
    border-radius: calc(var(--spacing-small) + var(--spacing-medium));
    padding: var(--spacing-small) var(--spacing-medium);
}

.cta-button.large > a {
    border-radius: 100px;
    padding: 38px 75px;
}

.cta-button > a, .cta-button.spot:hover > a, .cta-button input, .cta-button.spot:hover input, span.sub-button:hover {
    border-color: var(--bright);
    background-color: var(--bright);
    color: var(--foreground);
    display: inline-block;
    text-decoration: none !important;
    text-transform: uppercase;
    cursor: pointer;
}

.cta-button.spot > a, .cta-button:hover > a, .cta-button.spot input, .cta-button:hover input {
    border-color: var(--spot);
    background-color: var(--spot);
    color: var(--foreground) !important;
}

.sub-button > a {
    background: none;
    border-style: solid;
    border-width: 1px;
    border-color: var(--spot);
    color: var(--foreground);
    display: inline-block;
    font-size: 1em;
    font-weight: 500;
    text-decoration: none !important;
}

.sub-button:hover > a {
    color: var(--spot);
}

ul.menu li {
    list-style-type: none;
}

ul.menu li a {
    text-decoration: none;
    font-weight: 600;
    display: inline-block;
    text-align: center;
}

ul.menu li a:hover {
    text-decoration: underline;
}


/* HEADER *************************************************************************************************************/

div.header {
    color: var(--foreground);
    position: absolute;
    padding-top: var(--spacing-small);
    top: 0;
    width: 100%;
    z-index: 999;
    transition: 0.2s ease-in-out;
}

div.header.nav-down {
    position: fixed;
}

div.header.small {
    padding-top: var(--spacing-x-small);
    padding-bottom: var(--spacing-x-small);
}

div.header.solid {
    background: var(--sky-gradient-dark);
}

div.header ul.menu {
    display: flex;
    flex-direction: row;
    /*grid-template-columns: 2fr 2fr 2fr 3fr 2fr 2fr 2fr;*/
    grid-column-gap: var(--spacing-medium);
    align-items: center;
    /*justify-items: center;*/
    justify-content: right;
}

div.header ul.menu li.logo {
    margin-right: auto;
}

/*div.header ul.menu li {*/
/*    justify-self: center;*/
/*}*/

/*div.header ul.menu li.left {*/
/*    justify-self: left;*/
/*}*/
/**/
/*div.header ul.menu li.right {*/
/*    justify-self: right;*/
/*}*/

div.header img {
    height: 100px;
}

div.header.small img {
    height: 65px;
}

div.header ul.menu li.toggle {
    display: none;
    cursor: pointer;
}

/* HERO ***************************************************************************************************************/

div.hero {
    margin: calc(-154vh + var(--spacing-x-large)) auto 0;
    text-align: center;
    width: 55%; /* 62.5%; */
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    min-height: calc(100vh - var(--spacing-x-large) - var(--spacing-large))
}

div.hero, div.hero h1, div.hero p, p.large {
    text-wrap: balance;
}

div.hero.small {
    margin: calc(-100vh + var(--spacing-x-large)) auto 0;
    padding: var(--spacing-medium) 0;
    min-height: 0;
}

div.top.container div.hero {
    margin: 0 auto;
    padding-top: 250px; /* manual alignment */
}

div.hero.small h1 {
    font-size: 3em;
}

div.hero.join {
    min-height: 0;
    padding-bottom: 0;
}

div.hero h1 {
    font-size: max(10vh, 5em);
    margin-bottom: var(--spacing-medium);
}

div.hero div.cta-button a {
    margin-top: var(--spacing-medium);
    align-self: center;
}

div.hero p a {
    color: var(--foreground);
}

div.hero .links{
    margin-bottom: var(--spacing-small);
}

div.hero .links #hide{
    display: none;
}


/* INTRO **************************************************************************************************************/

div.intro {
    background-size: 100% 100%;
    background-position: 0 0, 0 0, 0 0;
    background-image: linear-gradient(180deg, #F8F6F500 0%, #F8F6F5 var(--fade-out));
    padding-bottom: var(--spacing-large);
    padding-top: var(--spacing-medium);
    text-align: center;
}

div.intro p, div.quote p {
    font-family: Nohemi;
    font-weight: 500;
    margin-bottom: var(--spacing-medium);
}

div.intro p.sub, div.quote p.sub {
    font-family: Gelica;
    padding: 0 7.5vw;
}

/* ACTIONS + CALL *****************************************************************************************************/

div.fade-out {
    background-size: 100% 100%;
    background-position: 0 0, 0 0, 0 0;
    background-image: linear-gradient(180deg, #F8F6F500 0%, #F8F6F5 var(--fade-out));
    padding-top: var(--spacing-large);
}

div.fade-out.quick {
    background-image: linear-gradient(180deg, #F8F6F500 0%, #F8F6F5 var(--fade-out-quick));
}

div.faq {
    margin-top: var(--spacing-large);
    margin-bottom: var(--spacing-large);
    background: var(--background);
    padding-top: 0;
}

div.faq + div.faq {
    margin-top: var(--spacing-small);
}

div.actions h2 {
    width: 62.5%;
    margin-bottom: var(--spacing-medium);
}

div.call ul.menu {
    grid-column: 2;
    display: flex;
    justify-self: right;
    gap: var(--spacing-small);
    color: var(--light-grey);
}

div.list-grid > div, li.wp-block-post {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-column-gap: var(--spacing-small);
    grid-row-gap: var(--spacing-large);
}

div.list-grid h4 {
    margin-top: -7px;
}

div.actions h6 {
    padding-top: 52px; /* Manual alignment */
}

div:has(> div.wp-block-post-date) {
    padding: var(--spacing-x-small) 0;
}

div.wp-block-post-date, div.wp-block-post-terms {
    font-family: Gelica;
    font-size: 1em;
    font-weight: lighter;
    text-wrap: stable;
    color: var(--spot);
    display: inline-block;
}

div.wp-block-post-terms p{
    font-size: 1em;
}

figure.wp-block-post-featured-image {
    margin-top: var(--spacing-x-small);
    margin-right: var(--spacing-medium);
}

div.actions details {
    border-bottom: 1px solid var(--sky-gradient-light);
}

details > summary {
    list-style: none;
}

details > summary::marker, /* Latest Chrome, Edge, Firefox */
details > summary::-webkit-details-marker, details summary::-webkit-details-marker /* Safari */ {
    display: none;
}

div.actions summary, div.call summary, div.faq summary, div.call .details {
    color: var(--foreground);
    font-family: Poppins;
    display: flex;
    justify-content: space-between;
    text-wrap: stable;
    align-items: flex-start;
}

div.actions summary {
    font-size: 1.5em;
    font-weight: 400;
    margin: var(--spacing-medium) 0;
}

div.call summary, div.faq summary {
    font-size: 1.2em;
    margin: var(--spacing-small) 0 0;
}

div.call summary:first-child, div.faq summary:first-child {
    margin-top: 0;
}

div.call summary strong, div.faq summary strong, div.call .details strong, div.faq .details strong, div.call strong {
    font-weight: 600;
}

div.actions summary::after, div.call summary::after, div.faq summary::after {
    content: "+";
    color: var(--background);
    border-radius: 100%;
    padding: 2px 0;
    background-color: var(--spot);
    border: 1px solid var(--spot);
    width: 24px;
    display: block;
    text-align: center;
    font-size: 1em;
    line-height: 1em;
    flex-shrink: 0;
    margin-left: var(--spacing-small);
}

div.actions summary::after {
    width: 28px;
}

div.actions summary:hover::after, div.call summary:hover::after, div.faq summary:hover::after {
    background-color: var(--background);
    color: var(--spot);
}

div.actions details[open] summary::after, div.call details[open] summary::after, div.faq details[open] summary::after {
    content: "-";
    border-style: dashed;
    background-color: var(--background);
    color: var(--spot);
}

/*div.call li:first-child button.accordion {*/
/*    margin-top: 0;*/
/*}*/

div.actions details p, div.call details li, div.call details p, div.faq details {
    color: var(--light-grey);
}

.post div.wp-block-post-content p, .post div.wp-block-post-content .wp-block-list {
    margin-bottom: var(--spacing-small);
}

.post div.wp-block-post-content p:has(+ .wp-block-list) {
    margin-bottom: 0;
}

.post .wp-block-list {
    margin-left: var(--spacing-medium)
}

div.wp-block-post-content .wp-block-list li {
    font-size: 1.2em;
    list-style-type: '- ';
    padding-left: var(--spacing-x-small);
}

div.actions details p, div.faq details p {
    margin-right: var(--spacing-medium);
    margin-left: var(--spacing-medium);
}

div.faq details p{
    margin-right: var(--spacing-small);
}

div.actions details p {
    margin-bottom: var(--spacing-small)
}

div.actions details p.has-text-align-right {
    margin-bottom: var(--spacing-medium);
}

div.call details, div.faq details, div.call .details, div.faq .details {
    margin-bottom: var(--spacing-small);
    margin-left: var(--spacing-small);
    /*margin-right: var(--spacing-medium);*/
}

div.call .details, div.faq .details{
    padding-right: 24px; /* compensate for lack of toggle */
}

div.call details ul, div.faq details ul, div.faq details ol {
    padding-bottom: var(--spacing-x-small);
    padding-left: var(--spacing-small);
}

div.call details p, div.faq details p {
    font-size: 1em;
    margin-left: var(--spacing-x-small);
    margin-top: var(--spacing-x-small);
}

div.faq details p{
    margin-left: 0;
}

div.call details ul, div.faq details ul {
    list-style-type: disclosure-closed;
    padding-bottom: var(--spacing-x-small);
}

div.call details ul, div.faq details ul {
    margin: var(--spacing-x-small) var(--spacing-medium) 0 var(--spacing-x-small);
}

div.call .ol {
    padding-left: var(--spacing-small);
    counter-reset: itemCounter;
}

div.call .ol p, div.call .ol details p {
    margin-bottom: var(--spacing-small);
    padding-right: var(--spacing-medium);
}

div.call .ol details summary {
    list-style-type: none;
    padding-left: var(--spacing-x-small);
    counter-increment: itemCounter;
    position: relative;
}

div.call .ol details summary:before {
    content: counter(itemCounter) ".";
    margin-left: calc(-1 * var(--spacing-small));
    position: absolute;
}

div.call .ol details div {
    margin-right: calc(var(--spacing-large) - var(--spacing-small));
}


/* JOIN ***************************************************************************************************************/

div.join {
    background-size: 100% 100%;
    background-position: 0 0, 0 0, 0 0;
    background-image: linear-gradient(180deg, #F8F6F500 0%, #F8F6F5 var(--fade-out-slow));
    padding-top: var(--spacing-large);
    margin: calc(-100vh + var(--spacing-x-large)) auto 0;
}

div.join > div {
    display: grid;
    grid-template-columns: 3fr 5fr;
    grid-gap: var(--spacing-medium);
}

div.join > div > div {
    margin-bottom: var(--spacing-large);
}

div.join div.info p {
    margin-top: 1em;
}

div.join div.info p.sub {
    font-size: 0.8em;
}

div .nf-form-cont {
    background-color: var(--foreground);
    border-radius: var(--spacing-small);
    color: var(--bright);
    padding: var(--spacing-medium);
}

div form div.nf-form-content .nf-field .field-wrap, div form div.nf-form-content .nf-after-field nf-section {
    display: grid;
    grid-template-columns: 2fr 3fr;
    grid-column-gap: var(--spacing-small); /* todo check responsive impact */
}

div.nf-form-layout form div.nf-field-container {
    margin-bottom: var(--spacing-small);
}

div.nf-form-layout form div.nf-field-label{
    flex-grow: 1;
}

div.nf-form-layout form .nf-form-fields-required {
    display: none;
}

div.nf-form-layout form .ninja-forms-req-symbol {
    color: var(--bright);
    font-weight: normal;
}

div.nf-form-layout form .nf-field-description{
    font-size: 0.8em;
    order: 20;
    grid-column: 2;
    color: var(--light-grey);
}

div.nf-form-layout form textarea::placeholder{
    color: var(--light-grey);
}

div.nf-form-layout form .nf-help {
    background: none;
}

div.nf-form-layout form .nf-help:before {
    content: "?";
    font-size: 75%;
    vertical-align: super;
    font-weight: normal;
}

.jBox-wrapper.jBox-Tooltip .jBox-container {
    border-radius: var(--spacing-x-small);
    box-shadow: none;
    background-color: var(--background);
    color: var(--foreground);
    font-family: Poppins, sans-serif;
    max-width: 20vw;
}

.jBox-wrapper.jBox-Tooltip .jBox-container p {
    font-size: 1em;
}

div.nf-form-layout form label {
    line-height: 2em;
}

div.nf-form-layout form input, div.nf-form-layout form textarea {
    background: none;
    border: 0;
    border-bottom: 1px solid var(--bright);
    color: var(--bright);
}

div.nf-form-layout form input {
    line-height: 2em;
}

div.nf-form-layout form input:focus, div.nf-form-layout form textarea:focus {
    outline: none;
    color: var(--spot);
    border-bottom-color: var(--spot)
}

div.nf-form-layout form div.input {
    display: grid;
    grid-template-columns: 25px auto;
    grid-column-gap: 10px;
}

div.nf-form-layout form .listradio-wrap ul li input {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background: none;
    border: 1px solid var(--bright);
    border-radius: 100%;
    width: 1em !important;
    height: 1em;
    margin-top: 8px;
}

div.nf-form-layout form .listradio-wrap ul li input:focus, div.nf-form-layout form input[type="checkbox"]:focus {
    border-color: var(--spot);
}

.nf-form-layout form .listradio-wrap ul li input:checked {
    background: var(--bright);
}

div.nf-form-layout form input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 1px solid var(--bright);
    height: 20px;
    width: 20px !important;
    margin-top: 7px;
}

div.nf-form-layout form input[type="checkbox"]::before {
    content: '';
    margin-top: -7px;
    margin-left: 2px;
    font-weight: bold;
    position: absolute;
}

div.nf-form-layout form input[type="checkbox"]:checked::before {
    content: '\2713';
    color: var(--bright)
}

div.nf-form-layout form .list-checkbox-wrap label{
    margin-left: 3em;
}

div.nf-form-layout form .nf-error .ninja-forms-field {
    border-color: var(--spot);
}

div.nf-form-layout form .nf-error .ninja-forms-field:not([type="checkbox"]){
    border-left-width: 0;
    border-right-width: 0;
    border-top-width: 0;
    border-color: var(--spot);
}

div.nf-form-layout form .nf-error .ninja-forms-field[type="radio"] {
    border-left-width: 1px;
    border-right-width: 1px;
    border-top-width: 1px;
}

div.nf-form-layout form .nf-error-msg {
    color: var(--spot);
}

div.nf-form-layout form .submit-container .nf-field-element {
    grid-column: 2;
    justify-self: end;
    display: inline-block;
    text-align: right;
}

div.nf-form-layout form .submit-container input {
    border: none;
}

div.nf-form-layout .nf-response-msg p, div .nf-response-msg ul {
    margin-bottom: var(--spacing-small);
}

div.nf-form-layout .nf-response-msg ul {
    padding-left: var(--spacing-medium);
    margin-top: calc(-1 * var(--spacing-small));
}

div .nf-response-msg p{
    margin-bottom: var(--spacing-small);
}

div .nf-response-msg ol{
    padding-left: var(--spacing-medium);
    padding-bottom: var(--spacing-small);
    font-size: 1.2em;
}

div .nf-response-msg img{
    width: 30%;
    display: inline-block;
    margin-right: var(--spacing-small);
}

/* SIGNATORIES ********************************************************************************************************/

div.signatories {
    background-color: var(--foreground);
    padding-bottom: var(--spacing-large);
    text-align: center;
}

div.signatories h2 {
    color: var(--bright);
    margin-top: var(--spacing-large);
    font-size: max(10vh, 5em);
    text-align: center;
}

div.signatories p.highlight {
    display: inline-block;
    color: var(--bright);
    background-color: var(--spot);
    border: 5px solid var(--spot);
}

div.signatories-list > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: var(--spacing-medium);
    margin-bottom: var(--spacing-small);
}

div.signatories-card{
    background: #40405F; /* fallback for older browsers */
    /*background: color-mix(in srgb, #11133A 20%, transparent); !* hardcoded color, due to https://stackoverflow.com/a/78064183/4098490 *!*/
    border-radius: var(--spacing-small);
    color: var(--bright);
    padding: var(--spacing-x-small) var(--spacing-small);
    text-align: center;
    align-content: center;
    flex: 0 0 calc(20% - var(--spacing-small));
    margin: calc(var(--spacing-small) / 2);
}

div.signatories-list > div * {
    display: block;
    text-align: center;
    font-size: 1em;
}

div.signatories-list > div p:first-child {
    font-weight: bold;
    margin-bottom: var(--spacing-x-small);
}

div.signatories-list span{
    font-size: 0.8em;
    color: var(--very-light-grey);
    text-wrap: balance;
}

div.signatories p.browse-all a {
    text-align: center;
    color: var(--light-grey);
    text-decoration: none;
}

div.signatories p.browse-all a:hover {
    text-decoration: underline;
}

div.signatories.all{
    padding-top: var(--spacing-small);
    padding-bottom: var(--spacing-small);
}

/* TESTIMONIALS ******************************************************************************************************/

div.testimonials {
    background-size: 100% 100%;
    background-position: 0 0, 0 0, 0 0;
    background-image: radial-gradient(62.5% 62.5% at 50% 7.5%, #FAB993D6 0%, #BFB1F0D6 75%, #BFB1F000 100%), linear-gradient(0deg, var(--sky-gradient-dark) 0%, var(--sky-gradient-light) 70%, var(--background) 100%);
}

div.join + div.testimonials {
    background: var(--background);
    padding-top: var(--spacing-large);
}

div.card-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: var(--spacing-small);
}

div.card-grid, div.no-card-grid {
    display: grid;
    grid-gap: var(--spacing-large);
}

div.no-card-grid{
    margin-bottom: var(--spacing-large);
}

div.testimonials-slider {
    margin-top: var(--spacing-medium);
    overflow: hidden;
}

div.testimonials-list{
    display: flex;
    transition: transform 0.5s ease-in-out;
    gap: 20px; /* = var(--spacing-small), but hardcoded due to link in JS */
    min-height: 200px; /* fallback in case JS hasn't set height yet */
}

div.testimonial-card, div.card-grid > div {
    border-radius: var(--spacing-small);
    background: var(--bright);
}

div.testimonial-inner, div.card-grid > div{
    padding: var(--spacing-small);
}

div.card-grid > div {
    padding: var(--spacing-medium);
}

div.testimonial-card p {
    margin: var(--spacing-small) 0;
}

div.testimonial-card p.by {
    color: var(--spot);
    text-transform: uppercase;
    font-size: 1em;
    margin-bottom: 0;
}

div.card-grid p, div.no-card-grid p, div.no-card-grid summary {
    font-size: 1em;
    color: var(--light-grey);
    margin: var(--spacing-small) 0;
}

div.no-card-grid details p{
    margin-left: var(--spacing-small);
}

div.card-grid .sub-button {
    background: var(--bright);
}

.testimonials-slider-nav {
    text-align: center;
    margin-top: 10px;
}

.testimonials-slider-nav button {
    /*margin: 0 5px;*/
    /*background: none;*/
    /*border: none;*/
    /*font-size: 1.5em;*/
    /*color: var(--dark-grey);*/
    display: none;
}

.testimonials-slider-dots {
    text-align: center;
    margin-top: 10px;
    display: inline-block;
}

.testimonials-slider-dots .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    background: var(--very-light-grey);
    border-radius: 50%;
    margin: 0 4px;
    cursor: pointer;
}

.testimonials-slider-dots .dot.active {
    background: var(--light-grey);
}

@media (max-width: 768px) {
    .testimonial-card {
        width: 100%;
    }
}


/* TAKE ACTION ********************************************************************************************************/

div.no-card-grid p {
    margin: var(--spacing-x-small) 0;
}

div.no-card-grid .wp-block-button a{
    background: none;
    padding: 0;
    color: var(--spot);
    font-family: Gelica, serif;
    font-weight: lighter;
    text-decoration: underline;
    text-align: left;
}

div.no-card-grid .wp-block-button a:hover {
    text-decoration: none;
}

.toggleBox{
    display: none;
    margin-bottom: var(--spacing-medium);
    margin-top: var(--spacing-medium);
}

.toggleBox p{
    font-size: 1em;
}

.toggleBox ol{
    padding-left: var(--spacing-small);
}

.toggleBox > div > div{
    margin-top: var(--spacing-small);
}

#toggleBox-hubs{
    margin-left: 33%;
}

.toggleBox .is-layout-grid{
    grid-column-gap: var(--spacing-large);
    grid-row-gap: var(--spacing-medium);
}

#toggleBox-initiators > div > div{
    margin-top: 0;
}

#toggleBox-initiators .wp-block-media-text__content{
    padding: 0 var(--spacing-x-small);
}

#toggleBox-initiators .team-header > div{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#toggleBox-initiators .team-header a{
    padding: 0 4px;
    border: 1px solid transparent;
    border-radius: 50px;
}

#toggleBox-initiators .team-header a:hover{
    color: var(--bright);
    background-color: var(--foreground);
    border-color: var(--foreground);
}

#toggleBox-initiators h6{
    text-wrap: balance;
    margin-bottom: var(--spacing-x-small);
}


/* CLOSING ************************************************************************************************************/

div.closing {
    background-color: var(--sky-gradient-dark);
    text-align: center;
}

div.embed-closing div.closing{
    padding-top: var(--spacing-large);
    padding-bottom: var(--spacing-large);
    margin-top: var(--spacing-large);
}


/* BUTTON *************************************************************************************************************/

div.button.large {
    padding: var(--spacing-large) 0;
    text-align: center;
}

div.button.x-large {
    padding: var(--spacing-x-large) 0;
}

div.button.light-blue {
    background-color: var(--sky-gradient-dark);
}


/* FOOTER *************************************************************************************************************/

div.footer {
    background: var(--foreground);
    color: var(--bright);
    padding-top: var(--spacing-medium);
    padding-bottom: var(--spacing-medium);
}

div.closing:has(+ div.footer) {
    padding-bottom: var(--spacing-x-large);
}

div.footer > div:first-child > div:first-child > div:first-child {
    display: grid;
    grid-template-columns: 1fr 2fr;
    padding-bottom: var(--spacing-medium);
    margin-bottom: var(--spacing-medium);
    border-bottom: 1px solid var(--light-grey);
}

div.footer div h2 {
    color: var(--bright);
    margin-top: 0;
}

div.footer div ul {
    list-style: none;
    padding-left: var(--spacing-large);
    display: flex;
    justify-content: right;
    align-items: baseline;
    gap: var(--spacing-small)
}

div.footer div ul li {
    text-align: right;
}

div.footer div p {
    font-size: 1em;
}

div.footer div.colofon > div {
    display: flex;
    justify-content: space-between;
}

div.footer div.colofon .wp-font-awesome-icon {
    margin-left: var(--spacing-x-small);
    background: var(--foreground);
    color: var(--bright);
    display: inline-block;
    height: 25px;
    width: 25px;
    border-radius: 25px;
    text-align: center;
}

div.footer div.colofon a:hover .wp-font-awesome-icon {
    color: var(--foreground);
    background: var(--bright);
}

/**********************************************************************************************************************/
/* RESPONSIVE *********************************************************************************************************/
/**********************************************************************************************************************/

@media only screen and (max-width: 1920px) {
    .content {
        padding-left: 6.25%;
        padding-right: 6.25%;
    }

    .content.narrow{
        padding-left: 12.5%;
        padding-right: 12.5%;
    }
}

@media only screen and (max-width: 1600px) {
    div#footer div ul {
        flex-direction: column;
        gap: var(--spacing-x-small);
        align-items: end;
    }

    div.card-grid, div.no-card-grid, .toggleBox .is-layout-grid{
        grid-gap: var(--spacing-medium);
    }
}

@media only screen and (max-width: 1440px) {
    .content {
        padding-top: var(--spacing-large);
    }

    .content.space-below{
        padding-bottom: var(--spacing-large);
    }

    .content, .content.narrow {
        padding-left: var(--spacing-large);
        padding-right: var(--spacing-large);
    }

    .overlap + div {
        margin-top: calc(-1 * var(--spacing-large));
        padding-top: var(--spacing-large);
    }

    .overlap.extra + div {
        padding-top: calc(var(--spacing-x-large) + var(--spacing-medium))
    }

    div.top {
        background-size: 100% 112%;
        min-height: 100vh;
    }

    div.hero {
        margin-top: calc(-100vh + var(--spacing-x-large));
        min-height: 40vw;
        width: 75%;
    }

    div.intro {
        background-image: linear-gradient(180deg, #F8F6F500 0%, #F8F6F5 var(--fade-out-quick))
    }

    div.actions details p {
        margin-right: var(--spacing-large);
    }

    div.list-grid > div {
        grid-template-columns: 1fr;
        grid-gap: 0;
    }

    div.call details, div.faq details {
        margin-left: 0;
    }

    div.call ul.menu {
        grid-column: 1;
    }

    div.call h4, div.faq h6 {
        margin-bottom: var(--spacing-small);
    }

    div.call h4{
        margin-top: var(--spacing-medium);
    }

    div.call > div.list-grid > ul, div.call > div.list-grid > div {
        padding-left: var(--spacing-large);
    }

    /* TODO: Check? */
    div.call .ol {
        padding-left: 0;
    }

    div.call .ol details {
        margin-left: var(--spacing-small);
    }

    div.call .details{
        margin-left: 0;
    }

    div.faq{
        margin-bottom: var(--spacing-medium);
    }

    div.join {
        grid-template-columns: 2fr 5fr;
    }

    div.signatories.all + div.signatories.all h2{
        margin-top: var(--spacing-medium);
    }

    div.signatories-card {
        flex: 0 0 calc(25% - var(--spacing-small));
    }

    div.signatories.selection div.signatories-card:nth-child(n+9){
        display: none;
    }

    div.button, div.button.x-large {
        padding: var(--spacing-large) 0;
    }

    div.closing:has(+ div.footer) {
        padding-bottom: var(--spacing-large);
    }

    div.footer > div:first-child > div:first-child > div:first-child{
        grid-template-columns: 1fr 3fr;
    }

    div.footer div h2{
        font-size: 2.5em;
    }

    div.footer div ul{
        padding-left: var(--spacing-medium);
    }
}

@media only screen and (max-width: 1200px) {
    hr.wp-block-separator{
        margin: var(--spacing-medium) 0;
    }

    div.hero.small {
        padding: 0;
    }

    div.hero.small.keep-spacing-bottom{
        padding-bottom: var(--spacing-medium);
    }

    div.hero h1 {
        font-size: 8vh
    }

    div.actions details p, div.faq details p {
        margin-right: var(--spacing-medium);
    }

    div.call > div.list-grid > ul, div.call > div.list-grid > div {
        padding-left: 0;
    }

    div.join {
        margin-top: calc(-100vh + var(--spacing-large));
    }

    div.join > div {
        grid-template-columns: 1fr;
    }

    div.join > div > div{
        margin-bottom: 0;
    }

    div.join div.info p{
        margin-bottom: 1em;
    }

    div.join div.info p.sub{
        display: inline;
    }

    div.card-grid, div.no-card-grid, .toggleBox .is-layout-grid {
        grid-template-columns: 1fr;
    }

    div.no-card-grid{
        margin-bottom: var(--spacing-medium);
    }

    div.testimonials-list{
        gap: 0;
    }

    div.testimonial-card p {
        margin-top: 0;
    }

    div.signatories h2{
        margin-top: var(--spacing-medium);
    }

    div.signatories.all + div.signatories.all h2{
        margin-top: var(--spacing-small);
    }

    div.signatories-card {
        flex: 0 0 calc(33% - var(--spacing-small));
    }

    div.signatories.selection div.signatories-list div.signatories-card:nth-child(n+1){
        display: block;
    }

    div.signatories.selection div.signatories-list div.signatories-card:nth-child(n+10){
        display: none;
    }

    div.card-grid > div{
        padding-top: var(--spacing-small);
        padding-bottom: var(--spacing-small);
    }

    div.faq{
        margin-top: var(--spacing-medium);
    }

    div.footer > div:first-child > div:first-child > div:first-child {
        grid-template-columns: 1fr 1fr;
    }

    div.footer div ul {
        align-items: flex-end;
        flex-direction: column;
        gap: var(--spacing-x-small);
    }

    div.footer div ul.menu li a{
        text-align: right;
    }

    div.footer div ul .cta-button a {
        color: var(--spot) !important;
        background: none;
        padding: 0;
    }

    div.footer div ul .cta-button a:hover {
        border-radius: 0;
    }
}

@media only screen and (max-width: 1100px) {
    .content, .content.narrow {
        padding-left: var(--spacing-medium);
        padding-right: var(--spacing-medium);
    }
}

@media only screen and (max-width: 1000px) {
    .content.space-below{
        padding-bottom: var(--spacing-medium);
    }

    div.header ul.menu {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-column-gap: 0;
    }

    div.header ul.menu li {
        grid-column: 1/-1;
        justify-self: center;
        display: none;
    }

    div.header ul.menu li.toggle {
        display: inline-block;
        justify-self: right;
        grid-column: 3;
        grid-row: 1;
    }

    div.header ul.menu li.logo {
        display: inline-block;
        grid-row: 1;
        grid-column: 1;
        margin-right: 0;
        justify-self: left;
    }

    div.header ul.menu li.cta-button {
        display: inline-block;
        grid-column: 2;
        grid-row: 1;
        /*justify-self: right;*/
    }

    div.header ul.menu.show {
        margin-bottom: var(--spacing-x-small);
    }

    div.header ul.menu.show li {
        display: inline-block;
    }

    p.large {
        font-size: 1.5em;
    }

    .cta-button.large > a {
        padding: 17px 38px;
    }

    div.hero h1 {
        font-size: max(5vh, 5em);
    }

    div.actions h2 {
        width: 100%;
        font-size: 2em;
        margin-bottom: 0;
    }

    div.actions summary {
        font-size: 1.3em;
    }

    div.actions div.list-grid {
        grid-template-columns: 1fr;
        grid-row-gap: var(--spacing-small);
        border-top: 0;
    }

    div.actions li:first-child {
        border-top: 1px solid var(--sky-gradient-light)
    }

    div.actions button.accordion, div.call button.accordion {
        margin: var(--spacing-small) 0;
    }

    div.call h4 {
        margin-bottom: var(--spacing-small);
        margin-top: var(--spacing-medium);
    }

    div.no-card-grid{
        grid-template-columns: 1fr;
    }

    .toggleBox .is-layout-grid{
        grid-template-columns: 1fr;
    }

    .toggleBox .is-layout-grid .example{
        display: none;
    }
}

@media only screen and (max-width: 900px) {
    div.header ul.menu {
        grid-template-columns: 1fr 3fr 1fr;
    }

    .image-grid.multi{
        grid-template-columns: repeat(3, 1fr);
    }

    .image-grid.multi figure:nth-child(n+4){
        display: none;
    }

    div .nf-form-cont{
        padding: var(--spacing-small);
    }

    div form div.nf-form-content .nf-field .field-wrap, div form div.nf-form-content .nf-after-field nf-section{
        grid-template-columns: 1fr;
    }

    div form div.nf-form-content .nf-field .field-wrap.checkbox-wrap{
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-end;
        flex-wrap: nowrap;
    }

    div form div.nf-form-content .checkbox-container .nf-field-element{
        width: auto;
        flex: 1;
    }

    div.nf-form-layout form .nf-field-description{
        grid-column: 1;
    }

    div.signatories-list > div > * {
        font-size: 0.9em;
    }
}

@media only screen and (max-width: 750px) {
    div.top.container div.hero{
        padding-top: 175px;
    }

    div.intro p{
        margin-bottom: 0;
    }

    div.button.large{
        padding: var(--spacing-medium) 0;
    }

    .content {
        padding-top: var(--spacing-medium);
    }

    .overlap + div{
        margin-top: var(--spacing-medium);
        padding-top: var(--spacing-medium);
    }

    div.embed-closing div.closing{
        margin-top: 0;
    }

    h3{
        font-size: 1.8em;
    }

    h4{
        font-size: 1.5em;
        letter-spacing: -1px;
    }

    p, div.wp-block-post-content .wp-block-list li, div.faq summary, form, div.call summary{
        font-size: 1em;
    }

    figure.content.wp-block-gallery, .content figure.wp-block-gallery, .image-grid{
        gap: var(--spacing-x-small);
    }

    div.actions summary{
        margin: var(--spacing-small) 0;
        font-size: 1.1em;
    }

    div.actions summary::after{
        width: 22px;
    }

    div.testimonial-card p.by, div.faq details p, div.call details p, div.call details li, div.faq details li{
        font-size: 0.9em;
    }

    div.call summary::after, div.faq summary::after{
        width: 22px;
    }

    div.faq details, div.call details{
        margin-bottom: var(--spacing-x-small);
    }

    div.card-grid p, div.no-card-grid p, div.no-card-grid summary{
        margin-top: var(--spacing-x-small);
        margin-bottom: var(--spacing-x-small);
    }

    div.signatories{
        padding-bottom: var(--spacing-medium);
    }

    div.signatories h2{
        margin-top: 0;
    }

    div.signatories-card {
        flex: 0 0 calc(50% - var(--spacing-x-small));
        margin: calc(var(--spacing-x-small) / 2);
    }

    div.signatories.selection div.signatories-list div.signatories-card:nth-child(n+9){
        display: none;
    }

    li.wp-block-post{
        grid-template-columns: 1fr;
        grid-row-gap: 0;
    }

    li.wp-block-post figure.wp-block-post-featured-image{
        display: none;
    }
}

@media only screen and (max-width: 600px) {
    div.header{
        padding-top: var(--spacing-x-small);
    }

    div.top.container .content.float{
        padding-top: var(--spacing-medium);
        padding-bottom: var(--spacing-medium);
    }

    .content, .content.narrow{
        padding-left: var(--spacing-small);
        padding-right: var(--spacing-small);
    }

    .cta-button.medium > a{
        padding: var(--spacing-x-small) var(--spacing-small);
    }

    div.hero, div.hero.small{
        width: 100%;
        padding-left: var(--spacing-small);
        padding-right: var(--spacing-small);
    }

    div.hero h1{
        font-size: 4em;
    }

    div.intro{
        padding-bottom: var(--spacing-medium);
    }

    p.large{
        font-size: 1.2em;
    }

    .image-grid.multi{
        grid-template-columns: repeat(2, 1fr);
    }

    div.actions summary{
        font-size: 1em;
    }

    div.card-grid, div.no-card-grid{
        grid-gap: var(--spacing-small);
    }

    div.signatories-list > div > *{
        font-size: 0.8em;
    }

    div.actions details p, div.faq details p{
        margin-left: 0;
        font-size: 0.9em;
    }

    div .nf-form-cont{
        font-size: 0.9em;
    }
}

@media only screen and (max-width: 450px) {
    div.hero, div.hero.small{
        margin-top: calc(-100vh + var(--spacing-x-large) - var(--spacing-medium));
    }

    div.footer > div:first-child > div:first-child > div:first-child{
        grid-template-columns: 1fr;
    }

    div.footer div ul{
        display: none;
    }

    div.card-grid > div{
        padding: var(--spacing-small);
    }

    div.signatories-list > div{
        margin-top: var(--spacing-small)
    }

    div.signatories-card {
        flex: 0 0 calc(100%);
        margin-bottom: calc(var(--spacing-x-small) / 2);
    }

    div.signatories-list > div > *{
        font-size: 0.9em;
    }

    div.signatories.selection div.signatories-list div.signatories-card:nth-child(n+6){
        display: none;
    }
}