/*! normalize.css v2.1.2 | MIT License | git.io/normalize */

/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined in IE 8/9.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */

audio,
canvas,
video {
    display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */

[hidden],
template {
    display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-family: sans-serif; /* 1 */
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
    margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
    background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
    outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */

b,
strong {
    font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */

dfn {
    font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
    background: #ff0;
    color: #000;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */

pre {
    white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */

q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9.
 */

img {
    border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */

svg:not(:root) {
    overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari 5.
 */

figure {
    margin: 0;
}

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

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
    border: 0; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */

button,
input,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 2 */
    margin: 0; /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}
/**
 * Swiper 11.1.14
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 12, 2024
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}:root {

    


}/* reset */

* { padding: 0; margin: 0; min-height: 0; min-width: 0; }
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
	
/* --------------------------------------------------------------------------------------------- */

:root {

	--colour-logo-blue: #212088;
	--colour-highlight-blue: #2EBFD2;
	--colour-dark-grey: #293239;
	--colour-mid-grey: #4D5860;
	--colour-light-grey: #BBC3C9;
	--colour-footer-grey: #1F262C;
	--colour-neutral-blue: #F0F8F9;

	--colour-pastel-green: #BAF4C0;
	--colour-pastel-orange: #FDD9BF;
	--colour-pastel-pink: #FFC1E3;
	--colour-pastel-purple: #C7BFF6;

	--colour-white: #FFFFFF;
	--colour-grey: #ababaf;

	--font-body: "Archivo", sans-serif; 
	
}

/* --------------------------------------------------------------------------------------------- */

html { scroll-behavior: smooth; scroll-padding-top: 30px; }

	
body { font-weight: 400; font-family: var(--font-body); padding: 0; margin: 0; background: var(--colour-neutral-blue); color: var(--colour-dark-grey); font-size: 16px; line-height: 1.5; letter-spacing: .4px; }
body.nav-is-open { overflow: hidden; }

.wrapper { overflow: hidden; display: flex; flex-direction: column; min-height: 100vh; max-width: 100vw; position: relative; padding: 146px 0 0 0; }

.inner { width: 100%; max-width: 1250px; padding: 0 70px; display: flex; flex-direction: column; margin: 0 auto; }
.inner14 { width: 100%; max-width: 1440px; padding: 0 70px; display: flex; flex-direction: column; margin: 0 auto; }
	
input, textarea, button, select { appearance: none !important; border-radius: 0 !important; font-weight: 400; font-family: var(--font-body); }
	
a, button, input, textarea, select { outline: none !important; text-decoration: none; }
	
h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; font-weight: 500; font-family: var(--font-body); letter-spacing: 0; }
		
img { max-width: 100%; height: auto; display: block; }
			
a, button, .link svg path, .button svg path, .link span, .link svg rect, .button svg rect { transition: all .33s; }

.grid { display: grid; grid-template-columns: repeat(12,1fr); column-gap: 30px; }
.grid14 { display: grid; grid-template-columns: repeat(14,1fr); column-gap: 30px; }

h1,.h1 { font-size: 60px; line-height: 1.1666; font-weight: 600; }
h2,.h2 { font-size: 48px; line-height: 1.2500; font-weight: 600; }
h3,.h3 { font-size: 36px; line-height: 1.2777; font-weight: 600; }
h4,.h4 { font-size: 24px; line-height: 1.3333; font-weight: 600; letter-spacing: 0; }
h5,.h5 { font-size: 20px; line-height: 1.4; font-weight: 600; }

.uppercase { font-size: 13px; line-height: 14px; letter-spacing: 1px; text-transform: uppercase; font-weight: 400; }
.uppercase.strong { font-weight: 600; }

@media (max-width: 1439.5px) {

	.inner14 { max-width: 1250px; }
	.grid14 { grid-template-columns: repeat(12,1fr); }

}

@media (max-width: 1079.5px) {

	.wrapper { padding: 112px 0 0 0; }

	.inner { padding: 0 30px; }
	.inner14 { padding: 0 30px; }

	body { font-size: 16px; line-height: 24px; letter-spacing: .04px; }

	h1,.h1 { font-size: 48px; line-height: 1.2500; font-weight: 600; }
	h2,.h2 { font-size: 48px; line-height: 1.2500; font-weight: 600; }
	h3,.h3 { font-size: 28px; line-height: 1.2857; font-weight: 600; letter-spacing: 0; }
	h4,.h4 { font-size: 20px; line-height: 1.4000; font-weight: 600; letter-spacing: 0; }
	h5,.h5 { font-size: 18px; line-height: 1.3888; font-weight: 600; }

}

@media (max-width: 767.5px) {

	.wrapper { padding: 70px 0 0 0; }

	.inner { padding: 0 15px; }
	.inner14 { padding: 0 15px; }
	.grid { column-gap: 0; }
	.grid14 { column-gap: 0; }

	body { font-size: 16px; line-height: 24px; letter-spacing: .04px; }

	h1,.h1 { font-size: 36px; line-height: 1.2777; font-weight: 600; letter-spacing: 0; }
	h2,.h2 { font-size: 24px; line-height: 1.3333; font-weight: 600; letter-spacing: 0; }
	h3,.h3 { font-size: 24px; line-height: 1.3333; font-weight: 600; letter-spacing: 0; }
	h4,.h4 { font-size: 20px; line-height: 1.4000; font-weight: 600; letter-spacing: 0.4px; }
	h5,.h5 { font-size: 18px; line-height: 1.3888; font-weight: 600; }

}

/* --------------------------------------------------------------------------------------------- */

.buttons { display: flex; column-gap: 36px; row-gap: 20px; flex-wrap: wrap; justify-content: flex-start; align-items: center; }

.button { padding: 0 14px; align-items: center; height: 44px; font-size: 18px; font-weight: 600; color: var(--colour-highlight-blue); border: 2px solid var(--colour-highlight-blue); border-radius: 44px; background: transparent; cursor: pointer; transition: all .33s; gap: 6px; text-decoration: none !important; justify-self: flex-start; display: flex; letter-spacing: 0; }
.button[download] { gap: 10px; }

.link { padding: 0; align-items: center; height: 44px; font-size: 18px; font-weight: 600; color: var(--colour-highlight-blue); cursor: pointer; transition: all .33s; gap: 6px; text-decoration: none; justify-self: flex-start; display: flex; /*text-underline-offset: 3px; text-decoration-thickness: 2px; text-decoration-color: transparent;*/ }
.link span { position: relative; display: block; }
.link span::after { content: ''; display: block; height: 2px; position: absolute; left: 0; width: 0%; bottom: 2px; background: var(--colour-highlight-blue); transition: all .33s; }
.link svg { transition: all .33s; }
.link[download] { gap: 10px; }
.link[download] svg path:last-child { transition: all .33s; }

.tag { font-size: 13px; line-height: 14px; font-weight: 600; display: flex; align-items: center; padding: 0 14px; border-radius: 31px; height: 31px; text-transform: uppercase; }
.tag.green { background: var(--colour-pastel-green); color: var(--colour-dark-grey); }
.tag.pink { background: var(--colour-pastel-pink); color: var(--colour-dark-grey); }
.tag.orange { background: var(--colour-pastel-orange); color: var(--colour-dark-grey); }
.tag.purple { background: var(--colour-pastel-purple); color: var(--colour-dark-grey); }

.button-group { display: flex; align-items: center; gap: 0; }
.button-group a { display: flex; gap: 10px; align-items: center; font-size: 18px; padding: 0 20px; border: 2px solid var(--colour-highlight-blue); color: var(--colour-highlight-blue); font-weight: 600; text-decoration: none; transition: all .33s; height: 44px; }
.button-group a svg { display: block; }
.button-group a svg .afw { transition: all .33s; }

.button-group a:first-child { border-radius: 44px 0 0 44px; padding-left: 22px; }
.button-group a:last-child { border-radius: 0 44px 44px 0; padding-right: 22px; }

.button-group a.active { background: var(--colour-highlight-blue); color: var(--colour-white); }
.button-group a.active svg .afw { fill: var(--colour-white); }

@media (hover) {

	.button:hover { color: var(--colour-white); background: var(--colour-highlight-blue); }
	.button:hover svg .fhw { fill: var(--colour-white); }

	/*.link:hover { text-decoration-color: var(--colour-highlight-blue); }*/
	.link:hover span::after { width: 100%; }
	.link:not([download]):hover svg { transform: translateX(5px); }

	.link[download]:hover svg path:last-child { transform: translateY(2px); }

	.button-group a:hover { background: var(--colour-highlight-blue); color: var(--colour-white); }
	.button-group a:hover svg .afw { fill: var(--colour-white); }

}

@media (max-width: 1079.5px) {

	.button-group a { font-size: 16px; padding: 0 18px !important; height: 41px; }

}

@media (max-width: 767.5px) {

	.button-group a { font-size: 14px; padding: 0 16px !important; height: 37px; }

}

/* --------------------------------------------------------------------------------------------- */

.content strong { font-weight: 600; }

.content p { font-size: 16px; line-height: 1.5; margin-bottom: 20px; letter-spacing: .4px; }
.content p.intro { font-size: 20px; line-height: 1.4; margin-bottom: 20px; letter-spacing: .4px; }

.content ul { display: flex; flex-direction: column; gap: 10px; margin: 0 0 20px 20px; }
.content ol { display: flex; flex-direction: column; gap: 10px; margin: 0 0 20px 20px; }

.content li { font-size: 16px; line-height: 1.5; margin: 0; letter-spacing: .4px; }
.content ul li::marker { color: var(--colour-highlight-blue); }
.content ol li::marker { color: var(--colour-highlight-blue); }

.content a:not(.button):not(.link) { color: var(--colour-highlight-blue); text-decoration: underline; }

.content iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; margin: 40px 0; }

.content ul:last-child { margin-bottom: 0; }
.content ol:last-child { margin-bottom: 0; }
.content p:last-child { margin-bottom: 0; }
.content p:last-child iframe { margin-bottom: 0; }

.content h2.h3 { position: relative; margin: 42px 0 33px; color: var(--colour-logo-blue); }
.content h2.h3::after { content: ''; display: block; height: 2px; width: 75px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }

.content h3.h4 { margin: 28px 0 15px; }

.content table { background: var(--colour-white); border-collapse: collapse; width: 100%; margin: 33px 0; }
.content table tr:first-child td { font-weight: 600; padding: 14px 22px 9px; color: var(--colour-white); background: var(--colour-logo-blue); font-size: 20px; line-height: 28px; letter-spacing: .4px; border-top: 0; }
.content table td { font-size: 16px; line-height: 24px; letter-spacing: .4px; padding: 16px 22px 9px; border: 1px solid var(--colour-light-grey); vertical-align: top; }
.content table tr:not(:first-child) td:first-child { border-left: 0; font-weight: 600; }
.content table tr td:first-child { width: 35% !important; }
.content table tr td:last-child { border-right: 0; width: auto !important; }
.content table tr:last-child td { border-bottom: 0; }

.content :last-child { margin-bottom: 0 !important; }

/* --------------------------------------------------------------------------------------------- */

.default-page { padding: 33px 0 140px; }
.default-page h1 { color: var(--colour-logo-blue); margin: 0 0 75px; grid-column: 3 / span 8; text-align: center; }
.default-page .content .intro { letter-spacing: 0.4px; }
.default-page .content { grid-column: 3 / span 8; }

@media (max-width: 1079.5px) {

	.default-page { padding: 33px 0 100px; }
	.default-page h1 { margin: 0 0 60px; }
	.default-page .content { grid-column: 2 / span 10; }

}

@media (max-width: 767.5px) {

	.default-page { padding: 33px 0 80px; }
	.default-page h1 { margin: 0 0 40px; }
	.default-page .content { grid-column: 1 / span 12; }

}

/* --------------------------------------------------------------------------------------------- */

.header { padding: 40px 0; height: 146px; position: fixed; inset: 0 0 auto 0; z-index: 1000; background: var(--colour-neutral-blue); }
.header .inner14 { display: flex; align-items: center; flex-direction: row; gap: 30px; }

.header .logos { display: flex; align-items: center; gap: 53px; }
.header .logos img,
.header .logos svg { display: block; width: auto; max-height: 66px; transition: all .75s; }
.header .logos span { position: relative; }
.header .logos span:first-child::after { content: ''; position: absolute; width: 1px; top: 0; bottom: 0; background: var(--colour-light-grey); right: -26px; }

.header.headroom--unpinned { transform: translateY(-100%) !important; }

@media (min-width: 1080px) {

	.header nav { margin: 0 0 0 auto; }
	.header nav .mobile { display: none; }
	.header nav .nav-menu > ul { display: flex; gap: 29px; list-style: none; }
	.header nav .nav-menu > ul > li { position: relative; display: flex; align-items: center; gap: 8px; height: 44px; }
	.header nav .nav-menu > ul > li:has(.sub-menu)::after { content: ''; background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2214%22%20height%3D%228%22%20viewBox%3D%220%200%2014%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%0A%3Cpath%20d%3D%22M6.36084%207.31709C6.71384%207.67009%207.28616%207.67009%207.63916%207.31709L13.3916%201.56465C13.7446%201.21165%2013.7446%200.639329%2013.3916%200.286331C13.0386%20-0.0666673%2012.4663%20-0.0666673%2012.1133%200.286331L7%205.39961L1.88672%200.286331C1.53372%20-0.0666668%200.961398%20-0.0666668%200.608399%200.286332C0.255401%200.63933%200.255401%201.21165%200.608399%201.56465L6.36084%207.31709ZM6.09609%206L6.09609%206.67793L7.90391%206.67793L7.90391%206L6.09609%206Z%22%20fill%3D%22%232EBFD2%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A') no-repeat center center; display: block; width: 14px; height: 8px; }
	.header nav .nav-menu > ul > li > a { font-size: 18px; line-height: 28px; font-weight: 600; color: var(--colour-dark-grey); text-decoration: none; /*text-underline-offset: 5px; text-decoration-thickness: 2px; text-decoration-color: transparent;*/ letter-spacing: 0; }
	.header nav .nav-menu > ul > li > a > span { position: relative; display: block; }
	.header nav .nav-menu > ul > li > a > span::after { content: ''; display: block; height: 2px; width: 0%; position: absolute; left: 0; bottom: 0; background: var(--colour-highlight-blue); transition: all .33s; }
	.header nav .nav-menu > ul > li > a > svg { display: none !important; }
	.header nav .nav-menu > ul > li > ul { list-style: none; position: absolute; top: 100%; left: 0; background: var(--colour-dark-grey); display: flex; flex-direction: column; min-width: 126px; opacity: 0; visibility: hidden; transition: all .33s; pointer-events: none; }
	.header nav .nav-menu > ul > li > ul > li { border-top: 1px solid var(--colour-light-grey); }
	.header nav .nav-menu > ul > li > ul > li > a { color: var(--colour-white); font-size: 16px; line-height: 1.5; padding: 0 14px; min-height: 42px; display: flex; align-items: center; gap: 6px; }
	.header nav .nav-menu > ul > li > ul > li > a > svg > .fhw { fill: var(--colour-white); transition: all .33s; }

	.header nav .nav-menu > ul > li.current-menu-item > a > span::after { /*text-decoration-color: var(--colour-highlight-blue);*/ width: 100%; }
	.header nav .nav-menu > ul > li.current-menu-ancestor > a > span::after { /*text-decoration-color: var(--colour-highlight-blue);*/ width: 100%; }

	.header.headroom--not-top { background: var(--colour-white); padding: 15px 0; box-shadow: 0 2px 4px rgba(0,0,0,.1); height: 75px; }
	.header.headroom--not-top .logos img, .header.headroom--not-top .logos svg { max-height: 45px; }

	.header .nav-buttons:not(:has(.register.button)) { display: none; }

}

.header .nav-buttons { display: flex; gap: 30px; }
.header nav .mobile.register.button { display: none; }

@media (hover) {
	
	/*.header nav .nav-menu > ul > li > a:hover { text-decoration-color: var(--colour-highlight-blue); }*/
	.header nav .nav-menu > ul > li > a:hover > span::after { width: 100%;}

	.header nav .nav-menu > ul > li:hover > ul { opacity: 1; visibility: visible; pointer-events: all; }
	.header nav .nav-menu > ul > li > ul > li > a:hover { color: var(--colour-highlight-blue); }
	.header nav .nav-menu > ul > li > ul > li > a:hover svg .fhw { fill: var(--colour-highlight-blue); }

}

.open-menu, .close-menu { display: none; }

@media (max-width: 1079.5px) {

	.header { padding: 31px 0; height: 112px; }
	.header .inner14 { gap: 12px; }

	.header .logos { gap: 40px; }
	.header .logos img,
	.header .logos svg { max-height: 50px; max-width: 200px; }
	.header .logos span:first-child::after { right: -20px; }

	.header nav { position: fixed; inset: 0; background: var(--colour-dark-grey); z-index: 2000; opacity: 0; visibility: hidden; transition: all .33s; pointer-events: none; padding: 178px 0 0 0; }
	.nav-is-open .header nav { opacity: 1; visibility: visible; pointer-events: all; }

	.header nav .mobile { display: block; }
	
	.header .nav-buttons { gap: 12px; margin: 0 0 0 auto; }
	.nav-is-open .nav-buttons { position: fixed; top: 31px; right: 30px; height: 50px; display: flex; align-items: center; z-index: 2001; }

	.header .open-menu.button { display: flex; }
	.nav-is-open .open-menu.button { display: none; }
	.nav-is-open .close-menu.button { display: flex; }

	.header nav .mobile.home.link { position: absolute; top: 31px; left: 30px; display: flex; align-items: center; }
	.header nav .mobile.home.link svg:first-child { margin: -6px 4px 0 0; }
	.header nav .mobile.home.link span { color: var(--colour-white); }
	.header nav .mobile.home.link svg:last-child path { fill: var(--colour-white); }

	.header nav .nav-menu { display: grid; grid-template-columns: repeat(12,1fr); column-gap: 30px; }
	.header nav .nav-menu .mobile.uppercase { grid-column: 4 / span 6; color: var(--colour-light-grey); margin: 0 -30px 23px; width: calc(100% + 60px); }
	.header nav .nav-menu > ul { grid-column: 4 / span 6; display: flex; flex-direction: column; gap: 0; margin: 0 -30px; width: calc(100% + 60px); }

	.header nav .nav-menu > ul { display: flex; flex-direction: column; gap: 0; border-top: 1px solid rgba(187,195,201,.2); list-style: none; }
	.header nav .nav-menu > ul > li { border-bottom: 1px solid rgba(187,195,201,.2); }
	.header nav .nav-menu > ul > li > a { font-size: 28px; line-height: 36px; color: var(--colour-white); font-weight: 600; padding: 16px 0; display: flex; align-items: center; gap: 12px; letter-spacing: 0; }
	.header nav .nav-menu > ul > li > a svg { width: 19px; height: auto; display: block; }
	.header nav .nav-menu > ul > li > a svg path { fill: var(--colour-white); }

	.header nav .nav-menu > ul > li > ul { list-style: none; display: flex; flex-direction: column; gap: 8px; padding: 0 0 18px 0; }
	.header nav .nav-menu > ul > li > ul > li > a { font-size: 18px; line-height: 28px; display: flex; align-items: center; color: var(--colour-white); font-weight: 600; gap: 6px; }
	.header nav .nav-menu > ul > li > ul > li > a svg { display: block; width: 16px; height: auto; }
	.header nav .nav-menu > ul > li > ul > li > a svg path { fill: var(--colour-white); }

	.header.headroom--not-top { background: var(--colour-white); box-shadow: 0 2px 4px rgba(0,0,0,.1); }

}

@media (max-width: 767.5px) {

	.header { padding: 17px 0; height: 70px; }
	.header .inner14 { gap: 0; }

	.header .logos { gap: 28px; }
	.header .logos img,
	.header .logos svg { max-height: 36px; max-width: 150px; }
	.header .logos span:first-child::after { right: -14px; }

	.header nav .nav-menu { gap: 0; }
	.header nav .mobile.register.button { display: flex; grid-column: span 12; justify-self: flex-start; }

	.header .nav-buttons .register.button { display: none; }
	
	.header .nav-buttons .open-menu.button { border: 0; padding: 0 11px; margin: 0 -11px 0 auto; height: 36px;}
	.header .nav-buttons .open-menu.button span { display: none; }
	.header .nav-buttons .open-menu.button svg { display: block; width: 22px; height: auto; }

	.nav-is-open .nav-buttons { top: 17px; right: 15px; height: 36px; }

	.header .nav-buttons .close-menu.button { border: 0; padding: 0 11px; margin: 0 -11px 0 auto; }
	.header .nav-buttons .close-menu.button span { display: none; }
	.header .nav-buttons .close-menu.button svg { display: block; width: 22px; height: auto; }

	.header nav { padding: 44px 15px 0; }
	.header nav .nav-menu { display: flex; flex-direction: column; align-items: flex-start; }

	.header nav .nav-menu .mobile.uppercase { margin: 32px 0 32px; width: 100%; }
	.header nav .nav-menu > ul { margin: 0 0 20px; width: 100%; }

	.header nav .nav-menu > ul > li > a { font-size: 24px; line-height: 32px; padding: 13px 0; }

	.header nav .mobile.home.link { top: 17px; left: 15px; }
	.header nav .mobile.home.link svg:first-child { margin: -6px 0 0 0; }
	.header nav .mobile.home.link span { display: none; }
	.header nav .mobile.home.link svg:last-child { display: none; }

}

/* --------------------------------------------------------------------------------------------- */

.heading-block { margin: 0 0 170px; }

.heading-block .hero { position: relative; z-index: 5; min-height: 648px; overflow: hidden; display: flex; flex-direction: column; }
.heading-block .hero .img { display: block; width: 100%; height: auto; z-index: 1; position: absolute; inset: 0; }
.heading-block .hero .img img { display: block; width: 100%; height: 100%; z-index: 1; object-fit: cover; position: absolute; inset: 0; }
.heading-block .hero .img::after { content: ''; display: block; position: absolute; z-index: 2; inset: 0; background: var(--colour-dark-grey); opacity: .55; }
.heading-block .hero .img.for-white-box { display: none; }

.heading-block .hero .grid14 { position: relative; inset: 0; color: var(--colour-white); padding: 100px 0 200px 0; z-index: 40; height: 100%; flex: 1; }
.heading-block .hero .grid14 > .location-time-block { display: none; }
.heading-block .hero .grid14 .hero-title { grid-column: 2 / span 7; }
.heading-block .hero .grid14 .hero-title .h4.event-name { position: relative; display: block; margin: 0 0 32px; }
.heading-block .hero .grid14 .hero-title .h4.event-name::after { content: ''; display: block; height: 2px; width: 55px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }
.heading-block .hero .grid14 .hero-title h1 { margin: 0 0 3px; }
.heading-block .hero .grid14 .hero-title p { margin: 0 0 32px; }
.heading-block .hero .grid14 .hero-title .h4.event-date { display: block; margin: 0 0 8px; }
.heading-block .hero .grid14 .hero-title .h4.event-date::after { display: none; }
.heading-block .hero .grid14 .hero-title .uppercase { display: flex; align-items: center; gap: 10px; }

.heading-block .hero .grid14 .hero-title .mobile.buttons { display: none; }
.heading-block .hero .grid14 .next-box { display: none; }

.heading-block .inner { margin-top: -112px; z-index: 10; position: relative; }
.heading-block .event-intro { background: var(--colour-dark-grey); color: var(--colour-white); padding: 52px 0; position: relative; overflow: hidden; }
.heading-block .event-intro .event-intro-text { grid-column: 2 / span 7; position: relative; z-index: 10; }
.heading-block .event-intro > svg { position: absolute; z-index: 5; right: 12px; top: 50%; height: auto; display: block; transform: translateY(-50%); width: 322px; }
.heading-block .event-intro > a { grid-column: 11; display: block; cursor: pointer; position: relative; z-index: 15; align-self: center; }
.heading-block .event-intro > a svg { display: block; }

.heading-block .location-time-block { background: var(--colour-dark-grey); color: var(--colour-white); padding: 37px 0; display: grid; grid-template-columns: repeat(8,1fr); column-gap: 30px; position: absolute; bottom: 0; left: 0; min-width: calc(calc(calc(calc(100% - 390px) / 14) * 8) + 210px); max-width: 100%; line-height: 26px; }
.heading-block .location-time-block div { grid-column: 2 / span 6; display: flex; align-items: center; column-gap: 48px; min-height: 26px; }
.heading-block .location-time-block .uppercase.times { display: flex; position: relative; }
.heading-block .location-time-block .uppercase.times::before { content: ''; display: block; width: 2px; height: 24px; background: var(--colour-highlight-blue); position: absolute; left: -24px; top: 50%; transform: translateY(-50%); } 

/**/

.wrapper:has(.heading-block.heading-block-style-white-block) { padding: 0; }

.heading-block.heading-block-style-white-block { padding: 0; }
.heading-block.heading-block-style-white-block .heading-block-main { padding: 164px 0 0 0; background: linear-gradient(0deg, var(--colour-neutral-blue) 0px, var(--colour-neutral-blue) 100px, var(--colour-white) 100px, var(--colour-white) 100%); } 
.heading-block.heading-block-style-white-block .inner { margin-top: 0; }
.heading-block.heading-block-style-white-block .heading-intro { background: var(--colour-neutral-blue); }

.heading-block.heading-block-style-white-block .hero { height: auto; min-height: 0; }
.heading-block.heading-block-style-white-block .hero .grid14 { padding: 0; position: relative; inset: auto; }
.heading-block.heading-block-style-white-block .hero .grid14 .hero-title { grid-column: 2 / span 6; position: static; margin: 0 30px 0 0; width: auto; padding: 0 0 200px; }
.heading-block.heading-block-style-white-block .hero .grid14 .img { grid-column: 8 / span 6; position: relative; overflow: hidden; inset: 0; }
.heading-block.heading-block-style-white-block .hero .grid14 .img::after { display: none; }
.heading-block.heading-block-style-white-block .hero .grid14 .img img { position: absolute; height: auto; display: block; width: 100%; height: 100%; object-fit: cover; inset: 0; object-position: center top; }

.heading-block.heading-block-style-white-block .hero .grid14 .hero-title .h4.event-name { color: var(--colour-logo-blue); }
.heading-block.heading-block-style-white-block .hero .grid14 .hero-title h1 { color: var(--colour-dark-grey); margin: 0 0 9px; }
.heading-block.heading-block-style-white-block .hero .grid14 .hero-title p { color: var(--colour-dark-grey); }

.heading-block.heading-block-style-white-block .hero .grid14 .hero-title .h4.event-date { color: var(--colour-logo-blue); margin: 0 0 8px; }
.heading-block.heading-block-style-white-block .hero .grid14 .hero-title .uppercase { color: var(--colour-dark-grey); }

.heading-block.heading-block-style-white-block .event-intro { background: transparent; color: var(--colour-dark-grey); padding: 140px 0; position: relative; overflow: hidden; }
.heading-block.heading-block-style-white-block .event-intro .event-intro-text { grid-column: 2 / span 9; position: relative; z-index: 10; text-align: center; }
.heading-block.heading-block-style-white-block .event-intro > svg { display: none; }
.heading-block.heading-block-style-white-block .event-intro > a { display: none; }
.heading-block.heading-block-style-white-block .event-intro > a svg { display: none; }

.heading-block.heading-block-style-white-block .location-time-block { background: transparent; position: static; display: flex; padding-top: 0; padding-bottom: 0; }
.heading-block.heading-block-style-white-block .location-time-block div { display: flex; flex-direction: column-reverse; align-items: flex-start; gap: 38px; }
.heading-block.heading-block-style-white-block .location-time-block .uppercase.times::before { display: none; }

/**/

.heading-block.heading-block-style-white-box { padding: 18px 0 0 0; }
.heading-block.heading-block-style-white-box .inner { margin-top: 0; }

.heading-block.heading-block-style-white-box .hero { height: auto; min-height: 0; }
.heading-block.heading-block-style-white-box .hero .grid14 { padding: 0; position: relative; inset: auto; background: var(--colour-white); }
.heading-block.heading-block-style-white-box .hero .grid14 .hero-title { grid-column: 2 / span 6; position: static; margin: 0 30px 0 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; width: auto; padding: 100px 0 144px; }
.heading-block.heading-block-style-white-box .hero .grid14 .img { grid-column: 9 / span 6; position: static; }
.heading-block.heading-block-style-white-box .hero .grid14 .img::after { display: none; }
.heading-block.heading-block-style-white-box .hero .grid14 .img img { position: static; height: auto; width: 100%; height: 100%; object-fit: cover; }

.heading-block.heading-block-style-white-box .hero .grid14 .hero-title .h4.event-name { color: var(--colour-logo-blue); }
.heading-block.heading-block-style-white-box .hero .grid14 .hero-title h1 { color: var(--colour-dark-grey); margin: 0 0 9px; }
.heading-block.heading-block-style-white-box .hero .grid14 .hero-title p { color: var(--colour-dark-grey); margin: 0; }

.heading-block.heading-block-style-white-box .hero .grid14 .hero-title .h4.event-date { color: var(--colour-logo-blue); margin: auto 0 0 0; padding: 100px 0 0 0; }
.heading-block.heading-block-style-white-box .hero .grid14 .hero-title .uppercase { color: var(--colour-white); }

.heading-block.heading-block-style-white-box .event-intro { background: transparent; color: var(--colour-dark-grey); padding: 140px 0; position: relative; overflow: hidden; }
.heading-block.heading-block-style-white-box .event-intro .event-intro-text { grid-column: 2 / span 9; position: relative; z-index: 10; text-align: center; }
.heading-block.heading-block-style-white-box .event-intro > svg { display: none; }
.heading-block.heading-block-style-white-box .event-intro > a { display: none; }
.heading-block.heading-block-style-white-box .event-intro > a svg { display: none; }

.heading-block.heading-block-style-white-box .location-time-block { width: calc(calc(calc(calc(100% - 390px) / 14) * 8) + 240.5px); }

@media (max-width: 1439.5px) {

	.heading-block .inner { display: grid; grid-template-columns: repeat(12,1fr); column-gap: 30px; }
	.heading-block .event-intro { grid-column: 2 / span 10; }

	.heading-block .location-time-block { min-width: calc(calc(calc(calc(100% - 330px) / 12) * 8) + 210px); }
	.heading-block .location-time-block div { margin: 0 -30px; }

	.heading-block.heading-block-style-white-block .hero .grid14 .hero-title { grid-column: 1 / span 6; margin: 0; width: auto; padding-right: 30px; }
	.heading-block.heading-block-style-white-block .hero .grid14 .img { grid-column: 7 / span 6; max-width: 100%; }
	.heading-block.heading-block-style-white-block .location-time-block div { margin: 0; }

	.heading-block.heading-block-style-white-box .hero .grid14 .hero-title { grid-column: 2 / span 5; margin: 0 -30px; }
	.heading-block.heading-block-style-white-box .hero .grid14 .img { grid-column: 8 / span 5; margin: 0 0 0 -30px; width: calc(100% + 30px); }
	.heading-block.heading-block-style-white-box .location-time-block { min-width: calc(calc(calc(calc(100% - 330px) / 12) * 7) + 180.5px); width: calc(calc(calc(calc(100% - 330px) / 12) * 7) + 180.5px); grid-template-columns: repeat(7,1fr); height: 100px; padding: 0; }

	.heading-block.heading-block-style-white-box .location-time-block .uppercase.times::before { display: none; }
	.heading-block.heading-block-style-white-box .location-time-block div { flex-direction: column; gap: 14px; align-items: flex-start; justify-content: center; }
	
}

@media (max-width: 1249.5px) {

	.heading-block .hero .grid14 .hero-title { margin: 0 -30px; width: calc(100% + 60px); }
	.heading-block .event-intro { margin: 0 -30px; width: calc(100% + 60px); padding: 52px 30px; grid-template-columns: repeat(10,1fr); }
	.heading-block .hero .grid14 .hero-title { grid-column: 2 / span 7; }
	.heading-block .event-intro .event-intro-text { grid-column: 1 / span 8; }

	.heading-block .location-time-block { min-width: calc(calc(calc(calc(100% - 330px) / 12) * 8) + 240px); }

	.heading-block.heading-block-style-white-block .hero .grid14 .img { grid-column: 8 / span 5; justify-self: flex-end; margin: 77px 0 0 0; max-width: 100%; }
	/*.heading-block.heading-block-style-white-block .event-intro { padding: 100px 0; grid-column: 2 / span 10; display: flex; }*/

	.heading-block.heading-block-style-white-box .hero .grid14 .img { display: none; }
	.heading-block.heading-block-style-white-box .hero .grid14 .img.for-white-box { display: flex; grid-column: 1 / span 12; }
	.heading-block.heading-block-style-white-block .hero .grid14 .hero-title { grid-column: 1 / span 7; }

	.heading-block.heading-block-style-white-box .hero .grid14 .hero-title { grid-column: 2 / span 8; padding: 45px 0 52px; margin: 0 0 0 -30px; width: calc(100% + 30px); }
	.heading-block.heading-block-style-white-box .event-intro { padding: 100px 0; grid-column: 2 / span 10; display: flex; }

	.heading-block.heading-block-style-white-box .hero-title .location-time-block { display: none; }
	.heading-block.heading-block-style-white-box .hero .grid14 > .location-time-block { display: grid; position: static; grid-column: 1 / span 12; width: 100%; min-width: none; max-width: none; margin: 0; grid-template-columns: repeat(12,1fr); }
	.heading-block.heading-block-style-white-box .hero .grid14 > .location-time-block > div { margin: 0 -30px; grid-column: 2 / span 10; flex-direction: row; align-items: center; justify-content: flex-start; gap: 48px; }
	.heading-block.heading-block-style-white-box .hero .grid14 > .location-time-block > div > span { display: flex; align-items: center; gap: 7px; }
	.heading-block.heading-block-style-white-box .hero .grid14 > .location-time-block > div > span.uppercase.times::before { display: block; }
	.heading-block.heading-block-style-white-box .hero .grid14 .hero-title .h4.event-date { padding: 46px 0 0 0; }
	.heading-block.heading-block-style-white-box .hero .grid14 .hero-title { padding-bottom: 32px; }

}

@media (max-width: 1079.5px) {

	.heading-block { margin: 0 0 100px; }

	.heading-block .hero .grid14 { padding: 35px 0 175px 0; }
	.heading-block .event-intro .event-intro-text { grid-column: 1 / span 10; }

	.heading-block.heading-block-style-wide .hero { min-height: 590px; }
	.heading-block.heading-block-style-wide .hero-title .location-time-block { width: 100%; max-width: none; min-width: none;}

	.heading-block.heading-block-style-white-block .heading-block-main { padding: 146px 0 0 0; background: linear-gradient(0deg, var(--colour-neutral-blue) 0px, var(--colour-neutral-blue) 200px, var(--colour-white) 200px, var(--colour-white) 100%); }
	.heading-block.heading-block-style-white-block .hero .grid14 .hero-title { grid-column: 2 / span 8; margin: 0 0 0 -30px; width: calc(100% + 30px); padding: 0 0 24px; }
	.heading-block.heading-block-style-white-block .hero .grid14 .img { grid-column: 1 / span 12; width: 415px; height: 400px; margin: 0 0 0 auto; overflow: hidden; }
	.heading-block.heading-block-style-white-block .hero .grid14 .img img { width: 100%; height: 100%; object-fit: cover; }

	.heading-block.heading-block-style-white-block .hero .grid14 .next-box { display: flex; position: absolute; height: 200px; width: calc(100% - 415px); left: 0; bottom: 200px; justify-content: flex-start; align-items: center; padding-left: calc(calc(100% - 330px) / 12); }

	.heading-block.heading-block-style-white-box { padding: 4px 0 0 0; }
	.heading-block.heading-block-style-white-box .hero .grid14 .hero-title { padding: 30px 0 20px; }

	/*.heading-block.heading-block-style-white-box .hero .grid14 .img { display: flex; grid-column: 1 / span 12; width: 415px; height: 400px; margin: 0 0 0 auto; overflow: hidden; }
	.heading-block.heading-block-style-white-box .hero .grid14 .img img { width: 100%; height: 100%; object-fit: cover; }
	.heading-block.heading-block-style-white-box .hero .grid14 .img.for-white-box { display: none; }*/

	/*.heading-block.heading-block-style-white-box .hero .grid14 .next-box { display: flex; position: absolute; height: 400px; width: calc(100% - 415px); left: 0; bottom: 0; justify-content: center; align-items: center; }*/

}

@media (max-width: 767.5px) {

	.heading-block { margin: 0 0 80px; }

	.heading-block .hero { display: flex; flex-direction: column-reverse; height: auto; overflow: visible; }
	.heading-block .hero .img { position: relative; margin: 0 -15px; width: calc(100% + 30px); min-height: 293px; }
	.heading-block .hero .img::after { display: none; }
	.heading-block .hero .grid14 { position: static; padding: 18px 0 0 0; }
	.heading-block .inner { margin: 0; display: block; padding: 0; }
	.heading-block .event-intro { margin: 0; width: 100%; display: block; padding: 45px 15px; }

	.heading-block .hero .grid14 .hero-title { grid-column: 1 / span 12; margin: 0; width: 100%; }
	.heading-block .hero .grid14 .hero-title .h4.event-name { color: var(--colour-logo-blue); }
	.heading-block .hero .grid14 .hero-title h1 { color: var(--colour-dark-grey); margin: 0 0 23px; }
	.heading-block .hero .grid14 .hero-title .h4.event-date { color: var(--colour-logo-blue); }
	.heading-block .hero .grid14 .hero-title .uppercase { color: var(--colour-dark-grey); font-weight: 600; margin: 0 0 38px; }

	.heading-block .hero .grid14 .hero-title p { color: var(--colour-dark-grey); }

	.heading-block .hero .grid14 .hero-title .mobile.buttons { display: flex; margin: 18px 0 40px 0; }

	.heading-block .event-intro > a { display: none; }

	.heading-block.heading-block-style-wide .hero-title .location-time-block { display: none; }
	.heading-block.heading-block-style-wide .hero .grid14 > .location-time-block { display: flex; position: static; grid-column: 1 / span 12; width: 100%; min-width: none; max-width: none; margin: 0 -20px; width: calc(100% + 40px); }
	.heading-block.heading-block-style-wide .hero .grid14 > .location-time-block > div { margin: 0; padding: 0 20px; flex-direction: column; align-items: flex-start; gap: 14px; }
	.heading-block.heading-block-style-wide .hero .grid14 > .location-time-block > div .uppercase { display: flex; align-items: center; gap: 7px; }

	.heading-block.heading-block-style-white-block .heading-block-main { padding: 70px 0 0 0; }
	.heading-block.heading-block-style-white-block .hero .grid14 { padding: 18px 0 0 0; }
	.heading-block.heading-block-style-white-block .hero .grid14 .hero-title { grid-column: 1 / span 12; margin: 0; padding: 0; width: 100%; }
	.heading-block.heading-block-style-white-block .hero .grid14 .img { width: 100%; height: auto; aspect-ratio: 290 / 280; }
	.heading-block.heading-block-style-white-block .hero .grid14 .next-box { display: none; }
	.heading-block.heading-block-style-white-block .hero .grid14 .hero-title h1 { font-size: 36px; line-height: 1.2777; margin: 0 0 23px; }
	.heading-block.heading-block-style-white-block .event-intro { padding: 50px 15px; }

	.heading-block.heading-block-style-white-box { padding: 0; }
	.heading-block.heading-block-style-white-box .hero .grid14 { padding: 18px 0 0 0; }
	.heading-block.heading-block-style-white-box .hero .grid14 .hero-title h1 { font-size: 36px; line-height: 1.2777; margin: 0 0 23px; }
	.heading-block.heading-block-style-white-box .hero .grid14 .hero-title { grid-column: 1 / span 12; margin: 0; padding: 0 20px; width: 100%; }
	.heading-block.heading-block-style-white-box .hero .grid14 .img { width: 100%; height: auto; aspect-ratio: 290 / 280; }
	.heading-block.heading-block-style-white-box .hero .grid14 .next-box { display: none; }
	.heading-block.heading-block-style-white-box .event-intro { padding: 50px 15px; }
	  
}

/* --------------------------------------------------------------------------------------------- */

.text-block { margin: 0 0 170px; }

.text-block .img { grid-column: 1 / span 6; }
.text-block .img img { display: block; width: 100%; height: auto; }

.text-block .text { grid-column: 8 / span 5; margin: 0 0 0 -30px; width: calc(100% + 30px); padding: 40px 0 0 0; border-top: 1px solid var(--colour-light-grey); }
.text-block .text h2 { margin: 0 0 26px; color: var(--colour-logo-blue); }
.text-block .text p { font-size: 20px; line-height: 28px; letter-spacing: .4px; margin: 0 0 13px; }
.text-block .text .buttons { margin: 26px 0 0 0; column-gap: 20px; row-gap: 5px; }
.text-block .text .buttons .link { letter-spacing: 0; }

@media (max-width: 1079.5px) {

	.text-block { margin: 0 0 100px; }

	.text-block .text { grid-column: 7 / span 6; margin: 0; width: 100%; padding: 20px 0 0 0; }
	.text-block .text p { font-size: 18px; line-height: 1.3888; letter-spacing: .4px; }

}

@media (max-width: 767.5px) {

	.text-block { margin: 0 0 80px; }
	.text-block .grid { display: flex; flex-direction: column; gap: 34px; }

}

/* --------------------------------------------------------------------------------------------- */

.quote-block { margin: 0 0 140px; }

.quote-block .grid { position: relative; padding: 74px 0 0 0; }
.quote-block .grid > svg { position: absolute; inset: 0 auto auto 0; display: block; }
.quote-block .grid::before { content: ''; display: block; height: 1px; position: absolute; background: var(--colour-light-grey); inset: 33px 0 auto 65px; }

.quote-block .author { grid-column: 1 / span 4; display: flex; gap: 16px; align-items: flex-start; }
.quote-block .quote { grid-column: 5 / span 8; }

.quote-block .author .single-expert-image { width: 95px; flex-shrink: 0; }
.quote-block .author .single-expert-image img { display: block; width: 100%; height: auto; }
.quote-block .author .single-expert-about { padding: 0; width: 100%; margin: 0; }
.quote-block .author .single-expert-about strong { color: var(--colour-dark-grey); display: block; }
.quote-block .author .single-expert-about span { color: var(--colour-mid-grey); display: block; font-size: 14px; line-height: 22px; letter-spacing: .4px; }

.quote-block .quote span { color: var(--colour-logo-blue); display: block; letter-spacing: 0; }

@media (max-width: 1079.5px) {

	.quote-block { margin: 0 0 100px; }

	.quote-block .author { grid-column: 1 / span 12; grid-row: 2; }
	.quote-block .quote { grid-column: 1 / span 12; grid-row: 1; margin: 0 0 30px; }

}

@media (max-width: 767.5px) {

	.quote-block { margin: 0 0 80px; }

}

/* --------------------------------------------------------------------------------------------- */

.register-block { margin: 0 0 140px; }
.register-block .inner .box { display: flex; flex-direction: row-reverse; gap: 0; background: var(--colour-dark-grey); grid-column: span 12; }

.register-block .img { width: 50%; flex-shrink: 0; }
.register-block .img img { display: block; width: 100%; height: auto; }

.register-block .text { width: 50%; padding: 0 15px 0 0; display: grid; grid-template-columns: repeat(6,1fr); column-gap: 30px; align-self: center; }
.register-block .text .text-inner { grid-column: 2 / span 4; margin: 0 -30px; width: calc(100% + 60px); }
.register-block .text h2 { margin: 0 0 42px; color: var(--colour-white); position: relative;}
.register-block h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }
.register-block .text p { font-size: 20px; line-height: 28px; letter-spacing: .4px; margin: 0 0 13px; color: var(--colour-light-grey); }
.register-block .text .buttons { margin: 32px 0 0 0; gap: 20px; }
.register-block .text .buttons .link { letter-spacing: 0; }

/**/

.register-block-title h2 { color: var(--colour-logo-blue); margin: 0 0 64px; position: relative; }
.register-block-title h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }

.register-block.half .inner .box { grid-column: span 6; flex-direction: column; }
.register-block.half .img { width: 100%; }
.register-block.half .text { width: 100%; padding: 28px 40px 40px; display: flex; gap: 0; align-items: flex-start; }
.register-block.half .text .text-inner { margin: 0; width: 100%; }

.register-block .text h3 { margin: 0 0 42px; color: var(--colour-white); position: relative;}
.register-block h3::after { content: ''; display: block; height: 2px; width: 40px; background: var(--colour-highlight-blue); position: absolute; bottom: -6px; left: 0; }

/**/

.register-block.is-report-block .img { display: flex; overflow: hidden; padding: 58px 0 0 0; justify-content: center; align-items: flex-end; }
.register-block.is-report-block .img img { display: block; width: 100%; max-width: 326px; box-shadow: 0 10px 20px rgba(0,0,0,.25); margin: 0 0 -95px; }

@media (max-width: 1079.5px) {

	.register-block { margin: 0 0 100px; }

	.register-block .inner .box { flex-direction: column; }
	.register-block .img { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
	.register-block .img img { display: block; width: 100%; height: 100%; object-fit: cover; }
	.register-block .text { width: 100%; display: block; padding: 28px 40px 40px; }
	.register-block .text .text-inner { margin: 0; width: 100%; max-width: 560px; }

	.register-block.half .inner .box { grid-column: span 12; }
	.register-block.half .inner .box + .box { margin: 30px 0 0 0; }

	/**/

	.register-block.is-report-block .img { padding: 30px 30px 10px; justify-content: flex-start; overflow: visible; aspect-ratio: auto; }
	.register-block.is-report-block .img img { margin: 0; }

}

@media (max-width: 767.5px) {

	.register-block.half .text { padding: 20px 20px 30px; }
	.register-block .text { padding: 20px 20px 30px; }
	.register-block .text p { font-size: 17px; line-height: 1.4111; letter-spacing: .4px; }
	.register-block.half .inner .box + .box { margin: 15px 0 0 0; }

}

/* --------------------------------------------------------------------------------------------- */

.simple-title { margin: 0 0 78px; padding: 40px 0 0 0; }
.simple-title h1 { color: var(--colour-logo-blue); margin: 0 0 44px; position: relative; grid-column: 1 / span 12; }
.simple-title h1::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }
.simple-title h2 { grid-column: 1 / span 7; }

.simple-title .button { grid-column: 9 / span 5; justify-self: flex-end; align-self: flex-end; }

@media (max-width: 1079.5px) {

	.simple-title { margin: 0 0 54px; }
	.simple-title h2 { grid-column: 1 / span 12; max-width: 600px; }

	.simple-title .button { grid-column: 1 / span 12; justify-self: flex-start; align-self: flex-end; margin: 38px 0 0 0; }

}

/* --------------------------------------------------------------------------------------------- */

.video-block { margin: 0 0 140px; }
.video-block iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; }

@media (max-width: 1079.5px) {

	.video-block { margin: 0 0 100px; }

}	

@media (max-width: 767.5px) {

	.video-block { margin: 0 0 80px; }

}

/* --------------------------------------------------------------------------------------------- */

.map-block { margin: 0 0 140px; }
.map-block h2 { color: var(--colour-logo-blue); margin: 0 0 44px; position: relative; grid-column: 1 / span 12; }
.map-block h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }
.map-block h3 { grid-column: 1 / span 7; margin: 0 0 53px; }

.styled-map { position: relative; grid-column: 1 / span 12; background: var(--colour-white); }
.styled-map .address-overlay { position: absolute; z-index: 10; inset: 40px auto 40px 40px; background: var(--colour-dark-grey); padding: 40px; width: 340px; }
.styled-map .address-overlay .uppercase { font-weight: 600; display: block; margin: 0 0 30px; color: var(--colour-light-grey); }
.styled-map .address-overlay h3 { margin: 0 0 6px; color: var(--colour-white);}
.styled-map .address-overlay p { color: var(--colour-light-grey); font-weight: 400; margin: 0 0 24px; }
.styled-map .address-overlay .map-link { display: flex; align-items: center; color: var(--colour-highlight-blue); gap: 7px; font-size: 16px; font-weight: 600; letter-spacing: .4px; }

#map { width: 100%; height: 447px; }

@media (max-width: 1079.5px) {

	.map-block { margin: 0 0 100px; }
	.map-block h3 { grid-column: 1 / span 12; max-width: 600px; }

	.styled-map { margin: 0 -30px; width: calc(100% + 60px); }
	.styled-map .address-overlay { left: 30px; }

}

@media (max-width: 767.5px) {

	.map-block { margin: 0 0 80px; }
	#map { height: 400px; }
	.styled-map { display: flex; flex-direction: column; margin: 0 -15px; width: calc(100% + 30px); }
	.styled-map .address-overlay { width: auto; padding: 30px 15px; height: auto; position: static; }

}

/* --------------------------------------------------------------------------------------------- */

.accordion-block { margin: 0 0 140px; }
.accordion-block h2 { color: var(--colour-logo-blue); margin: 0 0 44px; position: relative; grid-column: 1 / span 4; align-self: flex-start; }
.accordion-block h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }

.accordion-block .acc-items { grid-column: 5 / span 8; border-top: 1px solid var(--colour-light-grey); }
.accordion-block .acc-items .acc-item { border-bottom: 1px solid var(--colour-light-grey); }
.accordion-block .acc-items .acc-item .acc-item-opener { display: flex; justify-content: space-between; align-items: center; padding: 23px 0; cursor: pointer; }
.accordion-block .acc-items .acc-item .acc-item-opener svg { transition: all .33s; }
.accordion-block .acc-items .acc-item .acc-item-more { display: none; }
.accordion-block .acc-items .acc-item .acc-item-more .content { padding: 0 0 30px; max-width: 600px; }

.accordion-block .acc-items .acc-item.open .acc-item-opener svg { rotate: 180deg; }

.accordion-block .acc-items .acc-item .acc-item-opener svg .fhb,
.accordion-block .acc-items .acc-item .acc-item-opener svg .shw { transition: all .33s; }

@media (hover) {

	.accordion-block .acc-items .acc-item .acc-item-opener:hover svg .fhb { fill: var(--colour-highlight-blue); }
	.accordion-block .acc-items .acc-item .acc-item-opener:hover svg .shw { stroke: var(--colour-white); }

}

@media (max-width: 1079.5px) {

	.accordion-block { margin: 0 0 100px; }
	.accordion-block h2 { grid-column: 1 / span 12; }
	.accordion-block .acc-items { grid-column: 1 / span 12; }

}

@media (max-width: 767.5px) {

	.accordion-block { margin: 0 0 80px; }

}

/* --------------------------------------------------------------------------------------------- */

/*.gallery-block:has(+footer) { min-height: calc(100vh - 646px); }*/

.gallery-block { margin: 0 0 140px; }
.gallery-block h2 { color: var(--colour-logo-blue); margin: 0 0 44px; position: relative; grid-column: 1 / span 12; align-self: flex-start; }
.gallery-block h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }

.gallery-block > .inner > .grid { margin: 0 0 28px; }

.gallery-block .grid5 { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.gallery-block .grid5 a { display: block; overflow: hidden; position: relative; }
.gallery-block .grid5 a img { display: block; width: 100%; height: auto; transition: all .33s; }

.gallery-block .gallery-chooser { display: flex; align-items: center; gap: 20px; grid-column: 1 / span 8; }
.gallery-block .gallery-nav { display: flex; align-items: center; margin: 0 0 0 auto; grid-column: 9 / span 4; gap: 10px; }

.gallery-block .gallery-nav .gallery-xofy { margin: 0 10px 0 0; }
.gallery-block .gallery-nav a { display: block; flex-shrink: 0; }
.gallery-block .gallery-nav a svg { display: block; }
.gallery-block .gallery-nav a svg path { transition: all .33s; }

.gallery-block .swiper { width: 100%; }
.gallery-block .swiper .swiper-slide img { display: block; width: 100%; height: auto; }
.gallery-block .swiper .swiper-slide .caption { margin: 20px 0 0 0; padding: 0 0 0 20px; border-left: 2px solid var(--colour-highlight-blue); }
.gallery-block .swiper .swiper-slide .caption p { font-size: 16px; line-height: 24px; letter-spacing: .4px; color: var(--colour-mid-grey); margin: 0; max-width: 835px; }

.gallery-block .gallery { display: none; }
.gallery-block .gallery.gallery-active { display: block; }

/**/

.gallery-overlay { position: fixed; inset: 0; background: var(--colour-dark-grey); z-index: 1000; display: flex; align-items: center; justify-content: center; }

.gallery-overlay { transition: all .33s; opacity: 0; pointer-events: none; visibility: hidden; }
.gallery-overlay.gallery-overlay-active { opacity: 1; pointer-events: all; visibility: visible; }

.gallery-overlay > .inner > .grid { margin: 0 0 38px; }

.gallery-overlay h2 { color: var(--colour-white); margin: 0; position: relative; grid-column: 1 / span 8; align-self: flex-start; }
.gallery-overlay h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }

.gallery-overlay .gallery-nav { display: flex; align-items: center; margin: 0 0 0 auto; grid-column: 9 / span 4; gap: 10px; }

.gallery-overlay .gallery-nav .gallery-xofy { margin: 0 10px 0 0; color: var(--colour-light-grey); }
.gallery-overlay .gallery-nav a { display: block; flex-shrink: 0; }
.gallery-overlay .gallery-nav a svg { display: block; }
.gallery-overlay .gallery-nav a svg path { transition: all .33s; }

.gallery-overlay .swiper { width: 100%; }
.gallery-overlay .swiper .swiper-slide img { display: block; width: 100%; height: auto; }
.gallery-overlay .swiper .swiper-slide .caption { margin: 20px 0 0 0; padding: 0 0 0 20px; border-left: 2px solid var(--colour-highlight-blue); }
.gallery-overlay .swiper .swiper-slide .caption p { font-size: 16px; line-height: 24px; letter-spacing: .4px; color: var(--colour-light-grey); margin: 0; max-width: 835px; }

.close-gallery-overlay { position: absolute; top: 30px; right: 30px; display: flex; }
.close-gallery-overlay svg { display: block; }
.close-gallery-overlay path { transition: all .33s; }
.close-gallery-overlay rect { transition: all .33s; }

@media (hover) {

	.gallery-block .gallery-nav a:hover svg { display: block; }
	.gallery-block .gallery-nav a:hover svg .fhb { fill: var(--colour-highlight-blue); }
	.gallery-block .gallery-nav a:hover svg .shw { stroke: var(--colour-white); }

	.gallery-overlay .gallery-nav a:hover svg { display: block; }
	.gallery-overlay .gallery-nav a:hover svg .fhb { fill: var(--colour-highlight-blue); }
	.gallery-overlay .gallery-nav a:hover svg .shw { stroke: var(--colour-white); }

	.close-gallery-overlay:hover svg .fhb { fill: var(--colour-highlight-blue); }	
	.close-gallery-overlay:hover svg .fhw { fill: var(--colour-white); }

}

@media (max-width: 1079.5px) {

	.gallery-block .grid5 { grid-template-columns: repeat(4,1fr); }

}

@media (max-width: 767.5px) {

	.gallery-block .gallery-chooser { flex-direction: column; align-items: flex-start; gap: 10px; grid-column: 1 / span 12; margin: 0 0 17px; }
	.gallery-block .gallery-nav { grid-column: 1 / span 12; width: 100%; }
	.gallery-block .gallery-nav .gallery-xofy { margin: 0 auto 0 0; }
	.gallery-block .gallery-nav svg { width: 32px; height: 32px; }
	.gallery-block > .inner > .grid { margin: 0 0 10px; }
	.gallery-block .swiper .swiper-slide .caption p { font-size: 14px; line-height: 22px; letter-spacing: .4px; }
	.gallery-block .swiper .swiper-slide .caption { margin: 17px 0 0 0; padding: 0 0 0 15px; }

	.gallery-block .grid5 { grid-template-columns: 1fr 1fr; }

	.close-gallery-overlay { top: 15px; right: 15px; }
	.close-gallery-overlay svg { width: 32px; height: 32px; }

	.gallery-overlay h2 { grid-column: 1 / span 12; margin: 0 0 28px; }
	.gallery-overlay .gallery-nav { grid-column: 1 / span 12; width: 100%; }
	.gallery-overlay .gallery-nav svg { width: 32px; height: 32px; }
	.gallery-overlay > .inner > .grid { margin: 0 0 10px; }

}

/* --------------------------------------------------------------------------------------------- */

.list-block { margin: 0 0 140px; }

.list-block h2 { color: var(--colour-logo-blue); margin: 0 0 64px; position: relative; }
.list-block h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }

.list-block.icons-vertical h2 { grid-column: 1 / span 4; align-self: flex-start; }
.list-block.icons-vertical .item { grid-column: 5 / span 8; display: flex; gap: 36px; align-items: flex-start; border-top: 1px solid var(--colour-light-grey); padding: 28px 0 33px; }
.list-block.icons-vertical .item h3 { display: inline; margin: 0; }
.list-block.icons-vertical .item h3::after { content: ': '; }
.list-block.icons-vertical .item .image { width: 60px; height: 60px; display: flex; flex-shrink: 0; align-items: center; justify-content: center; }

.list-block.icons-horizontal h2 { grid-column: 1 / span 12; }
.list-block.icons-horizontal .item { grid-column: span 4; display: flex; flex-direction: column; align-items: flex-start; }
.list-block.icons-horizontal .image { width: 100%; height: auto; aspect-ratio: 350 / 210; background: var(--colour-white); display: flex; align-items: center; justify-content: center; }

.list-block.images-horizontal h2 { grid-column: 1 / span 12; }
.list-block.images-horizontal .item { grid-column: span 4; display: flex; flex-direction: column; align-items: flex-start; }
.list-block.images-horizontal .image { width: 100%; height: auto; display: flex; align-items: center; justify-content: center; }
.list-block.images-horizontal .image img { display: block; width: 100%; height: auto; }

@media (max-width: 1079.5px) {

	.list-block { margin: 0 0 100px; }

	.list-block.icons-vertical h2 { grid-column: 1 / span 12; }
	.list-block.icons-vertical .item { grid-column: 1 / span 12; gap: 26px; }
	.list-block.icons-vertical .item .image { width: 50px; height: 50px; }

	.list-block.icons-horizontal .item { grid-column: span 12; flex-direction: row; align-items: flex-start; gap: 30px; margin: 0 0 20px; }
	.list-block.icons-horizontal .item:last-child { margin: 0; }
	.list-block.icons-horizontal .item h3 { margin-top: 0; }
	.list-block.icons-horizontal .image { width: 250px; flex-shrink: 0; }

	.list-block.images-horizontal .item { grid-column: span 12; flex-direction: row; align-items: flex-start; gap: 30px; margin: 0 0 20px; }
	.list-block.images-horizontal .item:last-child { margin: 0; }
	.list-block.images-horizontal .item h3 { margin-top: 0; }
	.list-block.images-horizontal .image { width: 250px; flex-shrink: 0; }

}

@media (max-width: 767.5px) {

	.list-block { margin: 0 0 80px; }

	.list-block.icons-vertical .item { flex-direction: column; gap: 12px; }
	
	.list-block.icons-horizontal .item { flex-direction: column; align-items: flex-start; gap: 0; margin: 0 0 30px; }
	.list-block.icons-horizontal .image { width: 100%; margin: 0 0 17px; }

	.list-block.images-horizontal .item { flex-direction: column; align-items: flex-start; gap: 0; margin: 0 0 30px; }
	.list-block.images-horizontal .image { width: 100%; margin: 0 0 17px; }
	

}

/* --------------------------------------------------------------------------------------------- */

.partners-block { margin: 0 0 140px; }
.partners-block h2 { color: var(--colour-logo-blue); margin: 0 0 48px; position: relative; }
.partners-block h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }
.partners-block .grid { gap: 30px; }

.partners-block .single-partner { grid-column: 1 / span 12; }
.partners-block .single-partner .img { grid-column: 1 / span 3; width: 100%; aspect-ratio: 255 / 170; display: flex; justify-content: center; align-items: center; background: var(--colour-white); }
.partners-block .single-partner .img img { display: block; max-width: 75%; max-height: 75%; }
.partners-block .single-partner .text { grid-column: 4 / span 7; }
.partners-block .single-partner .text h3 { margin: 0 0 9px; }
.partners-block .single-partner .text p { margin: 0 0 9px; color: var(--colour-mid-grey); }
 
.partners-block .partner { grid-column: span 3; display: flex; justify-content: center; align-items: center; background: var(--colour-white); aspect-ratio: 255 / 170; width: 100%; }
.partners-block .partner img { display: block; max-width: 75%; max-height: 75%; }

@media (max-width: 1079.5px) {

	.partners-block { margin: 0 0 100px; }

	.partners-block .partner { grid-column: span 4; }

	.partners-block .single-partner.grid { grid-template-columns: 255px auto; column-gap: 30px; }
	.partners-block .single-partner .img { grid-column: 1; flex-shrink: 0; }
	.partners-block .single-partner .text { grid-column: 2; }

}

@media (max-width: 767.5px) {
	
	.partners-block { margin: 0 0 80px; }
	.partners-block .grid:has(.single-partner) { display: block; }
	.partners-block .grid.single-partner { display: block; }
	.partners-block .single-partner .img { max-width: 255px; margin: 0 0 20px; }
	.partners-block .single-partner .text { grid-column: span 2; }

	.partners-block .grid { grid-template-columns: 1fr 1fr; gap: 15px; }
	.partners-block .partner { grid-column: span 1; }

}
 
/* --------------------------------------------------------------------------------------------- */

.program-header { padding: 40px 0 0 0; margin: 0 0 62px; }
.program-header h1 { grid-column: 1 / span 12; position: relative; color: var(--colour-logo-blue); margin: 0 0 44px; }
.program-header h1::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }
.program-header .program-header-text { grid-column: 1 / span 8; margin: 0 -15px 0 0; }
.program-header .program-header-text .h5 { letter-spacing: .4px; }
.program-header .program-header-text .times { display: flex; margin: 0 0 26px; font-size: 13px; color: var(--colour-mid-grey); align-items: center; gap: 7px; flex-wrap: wrap; }
.program-header .program-header-text .times .date { margin: 0 20px 0 0; }
.program-header .program-header-text .times .time { display: flex; gap: 7px; align-items: center; margin: 0 6px 0 0; }
.program-header .program-header-text .times a { color: var(--colour-highlight-blue); text-decoration: underline; margin: 0; font-size: 14px; text-transform: none; }
.program-header .program-header-text .content { padding: 26px 0 0 0; }

.program-header aside { grid-column: 10 / span 3; }

.program-header .downloads { display: flex; flex-direction: column; align-items: flex-start; }
.program-header .downloads .h5 { position: relative; color: var(--colour-logo-blue); display: block; margin: 0 0 28px; }
.program-header .downloads .h5::after { content: ''; display: block; height: 2px; width: 40px; background: var(--colour-highlight-blue); position: absolute; bottom: -6px; left: 0; }

.program-header .downloads .button + .link { margin-top: 10px; }
.program-header .downloads + .program-day-title-aside { margin: 36px 0 0 0; }

@media (max-width: 1249.5px) {

	.program-header { padding: 21px 0 0 0; margin: 0 0 60px; }
	.program-header .program-header-text { grid-column: 1 / span 9; margin: 0 -30px 40px 0; }

	.program-header aside { grid-column: 1 / span 12; }  

	.program-header .downloads { flex-direction: row; flex-wrap: wrap; column-gap: 30px; align-items: center; }
	.program-header .downloads .h5 { margin: 0 0 6px; }
	.program-header .downloads .button + .link { margin-top: 0; }

}

@media (max-width: 767.5px) {

	.program-header .program-header-text { grid-column: 1 / span 12; margin: 0 0 25px; }
	.program-header .downloads { flex-direction: column; align-items: flex-start; }
	.program-header .downloads .h5 { margin: 0 0 28px; }
	.program-header .downloads .button + .link { margin-top: 10px; }

}

/* --------------------------------------------------------------------------------------------- */

.program-day-header { padding: 54px 0 0 0; margin: 0 0 68px; }
.program-day-header .program-day-title { grid-column: 1 / span 8; }
.program-day-header .program-day-title .meta { display: flex; gap: 12px; align-items: center; margin: 0 0 30px; }
.program-day-header .program-day-title h1 { margin: 0 0 18px; }
.program-day-header .program-day-title .time { display: flex; gap: 7px; align-items: center; margin: 0 0 38px; color: var(--colour-mid-grey); flex-wrap: wrap; }
.program-day-header .program-day-title .time .uppercase { margin: 0 6px 0 0; }
.program-day-header .program-day-title .time a { color: var(--colour-highlight-blue); text-decoration: underline; margin: 0; font-size: 14px; }

.program-day-header aside { grid-column: 10 / span 3; padding: 68px 0; }
.program-day-title-aside .uppercase { display: block; margin: 0 0 12px; font-weight: 600; }

ul.share { margin: 0; list-style: none; display: flex; gap: 8px; }

.program-day-header .downloads { display: flex; flex-direction: column; align-items: flex-start; }
.program-day-header .downloads .h5 { position: relative; color: var(--colour-logo-blue); display: block; margin: 0 0 28px; }
.program-day-header .downloads .h5::after { content: ''; display: block; height: 2px; width: 40px; background: var(--colour-highlight-blue); position: absolute; bottom: -6px; left: 0; }

.program-day-header .downloads .button + .link { margin-top: 10px; }
.program-day-header .downloads + .program-day-title-aside { margin: 36px 0 0 0; }

@media (hover) {

	.share a svg .fhw,
	.share a svg .fhb { transition: all .33s; }

	.share a:hover svg .fhw { fill: var(--colour-white); }
	.share a:hover svg .fhb { fill: var(--colour-highlight-blue); }

}

@media (max-width: 1249.5px) {

	.program-day-header aside { grid-column: 1 / span 12; }

	.program-day-header .downloads { flex-direction: row; flex-wrap: wrap; column-gap: 30px; align-items: center; }
	.program-day-header .downloads .h5 { margin: 0 0 6px; }
	.program-day-header .downloads .button + .link { margin-top: 0; }

}

@media (max-width: 1079.5px) {

	.program-day-header .program-day-title { grid-column: 1 / span 9; margin: 0 -30px 40px 0; }
	.program-day-title-aside { display: flex; flex-wrap: wrap; gap: 30px; align-items: center; }

}

@media (max-width: 767.5px) {

	.program-day-header { margin: 0 0 60px; padding: 18px 0 0 0; }
	.program-day-header .program-day-title { grid-column: 1 / span 12; margin: 0 0 28px; width: 100%; }
	.program-day-header .program-day-title h1 { margin: 0 0 18px; }
	.program-day-title-aside { flex-direction: column; align-items: flex-start; gap: 0; }
	.program-day-title-aside .uppercase { margin: 0 0 12px; }

	.program-day-header .downloads { flex-direction: column; align-items: flex-start; }
	.program-day-header .downloads .h5 { margin: 0 0 28px; }
	.program-day-header .downloads .button + .link { margin-top: 10px; }

}

/* --------------------------------------------------------------------------------------------- */

.days { margin: 0 0 140px; }
.days ul { list-style: none; display: flex; gap: 30px; flex-direction: column; }
.days ul li { padding: 44px 0; background: var(--colour-white); }

.days ul li .meta { grid-column: 2 / span 8; display: flex; gap: 12px; align-items: center; margin: 0 0 30px -30px; }
.days ul li .text { grid-column: 2 / span 8; margin: 0 0 0 -30px; }
.days ul li .time { grid-column: 2 / span 8; display: flex; gap: 7px; align-items: center; margin: 12px 0 0 -30px; flex-wrap: wrap; }
.days ul li .buttons { grid-column: 10 / span 2; display: flex; justify-content: flex-end; align-items: center; margin: 0 -30px 0 0; width: calc(100% + 30px); }

.days ul li .time .uppercase { margin: 0 6px 0 0; }
.days ul li .time a { color: var(--colour-highlight-blue); text-decoration: underline; margin: 0; font-size: 14px; }

.connect .days ul li .meta { grid-column: 1 / span 8; margin-left: 0; }

.agenda { border-top: 1px solid var(--colour-light-grey); margin: 0 0 140px; grid-column: 1 / span 9; }
.agenda .session-title { display: flex; flex-direction: column; align-items: flex-start; padding: 50px 0 24px; border-bottom: 1px solid var(--colour-light-grey); }
.agenda .session-title .tag { margin: 0 0 14px; }
.agenda .session-title h2 { color: var(--colour-logo-blue); }

.agenda .session-block { border-bottom: 1px solid var(--colour-light-grey); padding: 34px 0; }
.agenda .session-block .session-time { grid-column: 1 / span 8; display: flex; gap: 7px; margin: 12px 0 0 0; color: var(--colour-mid-grey); align-items: center; flex-wrap: wrap; }
.agenda .session-block .session-time .time { display: block; font-size: 13px; line-height: 1.4; color: var(--colour-mid-grey); margin: 0 6px 0 0; }
.agenda .session-block .session-time a { font-size: 14px; line-height: 1.4; color: var(--colour-highlight-blue); text-decoration: underline; margin: 0; }
.agenda .session-block .session-content { grid-column: 1 / span 8; margin: 0 -30px 0 0; width: calc(100% + 30px); }
.agenda .session-block .grid { grid-template-columns: repeat(9,1fr); }
.agenda .session-block > .grid > svg { display: none; grid-column: 9; align-self: flex-start; justify-self: flex-end; grid-row: 1; }

.agenda .session-block h3 { letter-spacing: .4px; }
.agenda .session-block .session-opener { cursor: pointer; }
.agenda .session-block .session-opener svg { display: block; transition: all .33s; }
.agenda .session-block.open .session-opener > svg { transform: rotate(180deg); }

.agenda .session-block .session-opener svg .fhb,
.agenda .session-block .session-opener svg .shw { transition: all .33s; }

@media (hover) {

	.agenda .session-block .session-opener:hover > svg .fhb { fill: var(--colour-highlight-blue); }
	.agenda .session-block .session-opener:hover > svg .shw { stroke: var(--colour-white); }

}

@media (max-width: 1079.5px) {

	.agenda { margin: 0 0 100px; grid-column: 1 / span 12; }

	.days { margin: 0 0 100px; }

	.days ul li .text { grid-column: 2 / span 7; }
	.days ul li .buttons { grid-column: 9 / span 3; }

	.agenda .session-title { padding: 40px 0 24px; }

	.agenda .session-block { padding: 24px 0; }
	.agenda .session-block .grid { grid-template-columns: repeat(12,1fr); }
	.agenda .session-block .session-time { grid-column: 1 / span 12; }
	.agenda .session-block .session-content { grid-column: 1 / span 10; margin: 0; width: 100%; }
	.agenda .session-block > .grid > svg { grid-column: 12; }
	
}

@media (max-width: 767.5px) {

	.days { margin: 0 0 80px; }
	.days .grid { display: flex; flex-direction: column; align-items: flex-start; }
	.days ul li .buttons { margin: 25px 0 0 0; justify-content: flex-start; }

	.days ul li .meta { order: 1; margin-left: 0; padding-left: 25px; padding-right: 25px; width: auto; }
	.days ul li .text { order: 2; margin-left: 0; padding-left: 25px; padding-right: 25px; width: auto; }
	.days ul li .time { order: 3; margin-left: 0; padding-left: 25px; padding-right: 25px; width: auto; }
	.days ul li .buttons { order: 4; margin-left: 0; padding-left: 25px; padding-right: 25px; width: auto; }

}

.agenda .session-block .session-more { display: none; }

.agenda .session-block .content { grid-column: 1 / span 8; margin: 0 -30px 0 0; width: calc(100% + 30px); padding: 28px 0 0 0;}

.agenda .session-block .event-speakers { grid-column: 1 / span 7; padding: 28px 0 0 0; margin: 0 -30px 0 0; width: calc(100% + 30px); }
.agenda .session-block .event-speakers h4 { position: relative; color: var(--colour-logo-blue); margin: 0 0 24px; }
.agenda .session-block .event-speakers h4::after { content: ''; display: block; height: 2px; width: 40px; background: var(--colour-highlight-blue); position: absolute; bottom: -6px; left: 0; }
.agenda .session-block .event-speakers > ul { display: flex; flex-direction: column; gap: 26px; list-style: none; }
.agenda .session-block .event-speakers > ul .uppercase { display: block; margin: 0 0 12px; }
.agenda .session-block .event-speakers ul ul { display: grid; grid-template-columns: 1fr 1fr; column-gap: 30px; row-gap: 10px; list-style: none; }
.agenda .session-block .event-speakers ul ul li { padding: 0; }
.agenda .session-block .event-speakers ul ul li a { display: flex; align-items: flex-start; gap: 15px; }
.agenda .session-block .event-speakers ul ul li .single-expert-image { width: 80px; flex-shrink: 0; }
.agenda .session-block .event-speakers ul ul li .single-expert-image img { display: block; width: 100%; height: auto; }
.agenda .session-block .event-speakers ul ul li .single-expert-about { padding: 0; width: 100%; margin: 0; }
.agenda .session-block .event-speakers ul ul li .single-expert-about strong { color: var(--colour-dark-grey); display: block; }
.agenda .session-block .event-speakers ul ul li .single-expert-about span { color: var(--colour-mid-grey); display: block; font-size: 14px; line-height: 22px; letter-spacing: .4px; }

.agenda .session-block .event-links { grid-column: 1 / span 7; padding: 35px 0 0 0; }
.agenda .session-block .event-links h4 { position: relative; color: var(--colour-logo-blue); margin: 0 0 24px; }
.agenda .session-block .event-links h4::after { content: ''; display: block; height: 2px; width: 40px; background: var(--colour-highlight-blue); position: absolute; bottom: -6px; left: 0; }
.agenda .session-block .event-links ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.agenda .session-block .event-links ul .link { font-size: 16px; line-height: 23px; height: 23px; letter-spacing: 0; }

@media (max-width: 1079.5px) {

	.agenda .session-block .content { grid-column: 1 / span 10; margin: 0; width: 100%; }
	.agenda .session-block .event-speakers { grid-column: 1 / span 10; margin: 0; width: 100%; }
	.agenda .session-block .event-links { grid-column: 1 / span 10; margin: 0; width: 100%; }
	
}

@media (max-width: 767.5px) {

	.agenda { margin: 0 0 80px; }

	.agenda .session-block .content { grid-column: 1 / span 12; }
	.agenda .session-block .event-speakers { grid-column: 1 / span 12; }
	.agenda .session-block .event-links { grid-column: 1 / span 12; }

	.agenda .session-block .event-speakers ul ul { display: flex; flex-direction: column; gap: 10px; }

}

/* --------------------------------------------------------------------------------------------- */

.experts-header { padding: 40px 0 0 0; margin: 0 0 72px; }
.experts-header h1 { grid-column: 1 / span 7; position: relative; color: var(--colour-logo-blue); margin: 0 0 44px; }
.experts-header h1::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }
.experts-header .experts-header-text { grid-column: 1 / span 7; margin: 0; }
.experts-header .experts-header-text .h5 { letter-spacing: .4px; }
.experts-header .quick-links { grid-row: 1 / span 2; grid-column: 10 / span 3; display: flex; flex-direction: column; align-items: flex-start; padding: 12px 0 0 0; }
.experts-header .quick-links .uppercase { display: block; margin: 0 0 12px; }
.experts-header .quick-links ul { list-style: none; display: flex; flex-direction: column; gap: 5px; }
.experts-header .quick-links ul .link { letter-spacing: 0; height: 28px; }
.experts-header .quick-links ul .link svg { width: 13px; height: auto; }

.groups { display: flex; flex-direction: column; gap: 80px; margin: 0 0 140px; }
.groups h2 { position: relative; margin: 0 0 53px; color: var(--colour-logo-blue); }
.groups h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }

.groups .grid { row-gap: 50px; }

.groups .hidden { grid-column: span 12; }

.groups .expert { display: flex; grid-column: span 3; flex-direction: column; align-items: flex-start; }
.groups .expert .expert-image { margin: 0 0 22px; width: 100%; }
.groups .expert .expert-image img { display: block; width: 100%; height: auto; }
.groups .expert .expert-text h3 { margin: 0 0 8px; letter-spacing: .4px; }
.groups .expert .expert-text .p { display: block; color: var(--colour-mid-grey); letter-spacing: .4px; }
.groups .expert .expert-text .link { margin: 10px 0 0 0; font-size: 16px; height: 23px; line-height: 23px; letter-spacing: 0; }

.groups .hidden { display: none; }
.groups .hidden .grid { padding-top: 50px; }

/* hide all .groups .expert elements after fourth */
/*.groups .expert:nth-child(n+5) { display: none; opacity: 0; }
.groups .all .expert:nth-child(n+5) { display: flex; opacity: 1; }*/
.groups .hidden .expert:first-child { display: none; }

.groups .buttons { justify-content: center; grid-column: 1 / span 12; margin-top: 50px; }
.groups .buttons .show-all::before { content: 'Show all'; }
.groups .all .buttons .show-all::before { content: 'Show less'; }
.groups .all .buttons .show-all svg { rotate: 45deg; }

@media (max-width: 1079.5px) {

	.experts-header { margin: 0 0 55px; padding: 21px 0 0 0; }
	.experts-header h1 { grid-column: 1 / span 12; }
	.experts-header .experts-header-text { grid-column: 1 / span 9; margin: 0 -30px 30px 0; }
	.experts-header .quick-links { grid-column: 1 / span 12; padding: 0; display: flex; flex-wrap: wrap; gap: 30px; align-items: center; grid-row: auto; flex-direction: row; }
	.experts-header .quick-links .uppercase { align-self: flex-start; margin: 8px 0; }

	.groups { margin: 0 0 100px; }
	.groups .expert { grid-column: span 4; }

	/*.groups .expert:nth-child(n+4) { display: none; opacity: 0; }
	.groups .all .expert:nth-child(n+4) { display: flex; opacity: 1; }*/
	.groups .hidden .expert:first-child { display: flex; }
	.groups > .inner > .grid > .expert:nth-child(4) { display: none; }

}

@media (max-width: 767.5px) {

	.groups { margin: 0 0 80px; }

	.experts-header { padding: 18px 0 0 0; margin: 0 0 35px; }
	.experts-header .experts-header-text { grid-column: 1 / span 12; margin: 0 0 25px; width: 100%; }

	.groups .expert { grid-column: span 12; }

}

/* --------------------------------------------------------------------------------------------- */

.single-expert { padding: 54px 0 0 0; margin: 0 0 140px; }
.single-expert:has(+ .connect) { margin: 0 0 55px; }

.single-expert .single-expert-image { grid-column: 1 / span 3; grid-row: 1 / span 2; align-self: flex-start; }
.single-expert .single-expert-image img { display: block; width: 100%; height: auto; }

.single-expert .single-expert-about { grid-column: 5 / span 8; margin: 0 0 35px; }

.single-expert .single-expert-about h1 { position: relative; color: var(--colour-logo-blue); margin: 0 0 48px; }
.single-expert .single-expert-about h1::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }

.single-expert .single-expert-about .position { display: block; margin: 0 0 5px; }
.single-expert .single-expert-about .company { display: block; margin: 0 0 35px; color: var(--colour-mid-grey); font-weight: 400; }

.single-expert .single-expert-links { grid-column: 4 / span 7; padding: 35px 0 0 0; }
.single-expert .single-expert-links h2 { position: relative; color: var(--colour-logo-blue); margin: 0 0 24px; }
.single-expert .single-expert-links h2::after { content: ''; display: block; height: 2px; width: 40px; background: var(--colour-highlight-blue); position: absolute; bottom: -6px; left: 0; }
.single-expert .single-expert-links ul { list-style: none; display: flex; flex-direction: column; gap: 10px; margin: 0; }
.single-expert .single-expert-links ul .link { font-size: 16px; line-height: 23px; height: 23px; letter-spacing: 0; }

@media (max-width: 1079.5px) {

	.single-expert { margin: 0 0 100px; }
	.single-expert .grid { grid-template-columns: 240px auto; }
	.single-expert .single-expert-image { grid-column: 1; grid-row: 1; margin: 0 0 40px; }
	.single-expert .single-expert-about.titles { grid-column: 2; padding-right: calc(calc(calc(calc(100vw - 60px) - 330px) / 12) + 30px); }
	.single-expert .single-expert-about.bio { grid-column: 1 / span 2; width: calc(calc(calc(calc(100% - 330px) / 12) * 11) + 300px)}

}

@media (max-width: 767.5px) {

	.single-expert { padding: 18px 0 0 0; margin: 0 0 80px;}
	.single-expert .single-expert-about.titles { grid-column: 1 / span 2; grid-row: 1; margin: 0 0 25px; } 
	.single-expert .single-expert-image { grid-column: 1 / span 2; grid-row: 2; margin: 0 0 25px; }
	.single-expert .single-expert-image img { max-width: 256px; }

	.single-expert .single-expert-about h1 { margin: 0 0 30px; }
	.single-expert .single-expert-about .company { margin: 0; }
	.single-expert .single-expert-links { padding: 12px 0 0 0; }

}

/* --------------------------------------------------------------------------------------------- */

.connect { background: var(--colour-white); padding: 90px 0 0 0; }

.connect h2 { color: var(--colour-logo-blue); margin: 0 0 90px; position: relative; }
.connect h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }

.connect .days { margin: 0; }
.connect .days ul { border: 0; }
.connect .days ul li { border: 0; padding: 0; }

.connect .agenda { margin: 0 0 90px; }

@media (max-width: 767.5px) {

	.connect { padding: 40px 0 0 0; }
	.connect h2 { margin: 0 0 60px; }

}

/* --------------------------------------------------------------------------------------------- */

.cta-block { margin: 0 0 140px; }
.cta-block .grid { background: var(--colour-dark-grey); position: relative; overflow: hidden; padding: 70px 0; }
.cta-block .grid .txt { grid-column: 2 / span 6; }
.cta-block .grid h2 { color: var(--colour-white); grid-column: 2 / span 5; position: relative; margin: 0 0 44px; position: relative; z-index: 10; }
.cta-block .grid h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }
.cta-block .grid .txt p { color: var(--colour-light-grey); font-size: 20px; line-height: 28px; letter-spacing: .4px; margin: 0; }
.cta-block .grid .txt p a { color: var(--colour-highlight-blue); }
.cta-block .grid .buttons { margin: 30px 0 0 0; }
.cta-block .grid .button { grid-column: 9 / span 3; align-self: flex-end; justify-self: flex-end; position: relative; z-index: 10; }
.cta-block .grid > svg { position: absolute; z-index: 5; right: 16px; top: 50%; height: auto; display: block; transform: translateY(-50%); width: 396px; }

@media (max-width: 1079.5px) {

	.cta-block { margin: 0 0 100px; }
	.cta-block .grid { padding: 40px 0; row-gap: 38px; }
	.cta-block .grid h2 { grid-column: 2 / span 6; }
	.cta-block .grid .button { grid-column: 2 / span 6; justify-self: flex-start; }

}

@media (max-width: 767.5px) {

	.cta-block { margin: 0 0 80px; }
	.cta-block .grid { display: flex; flex-direction: column; align-items: flex-start; padding: 40px 20px 40px; }
	.cta-block .grid .button { align-self: flex-start; }

}


/* --------------------------------------------------------------------------------------------- */

.footer-cta { margin: 0 0 140px; }
.footer-cta .grid { background: var(--colour-dark-grey); position: relative; overflow: hidden; padding: 70px 0; }
.footer-cta .grid h2 { color: var(--colour-white); grid-column: 2 / span 5; position: relative; margin: 0 0 14px; position: relative; z-index: 10; }
.footer-cta .grid h2::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }
.footer-cta .grid .button { grid-column: 9 / span 3; align-self: flex-end; justify-self: flex-end; position: relative; z-index: 10; }
.footer-cta .grid > svg { position: absolute; z-index: 5; right: 16px; top: 50%; height: auto; display: block; transform: translateY(-50%); width: 396px; }

@media (max-width: 1079.5px) {

	.footer-cta { margin: 0 0 100px; }
	.footer-cta .grid { padding: 40px 0; row-gap: 38px; }
	.footer-cta .grid h2 { grid-column: 2 / span 6; }
	.footer-cta .grid .button { grid-column: 2 / span 6; justify-self: flex-start; }

}

@media (max-width: 767.5px) {

	.footer-cta { margin: 0 0 80px; }
	.footer-cta .grid { display: flex; flex-direction: column; align-items: flex-start; padding: 94px 20px 40px; }
	.footer-cta .grid .button { align-self: flex-start; }

}

/* --------------------------------------------------------------------------------------------- */

.footer { background: var(--colour-footer-grey); color: var(--colour-white); margin: auto 0 0 0; }

.footer .footer-top { padding: 80px 0 70px 0; }
.footer .footer-bottom { background: var(--colour-dark-grey); padding: 12px 0 12px; }

.footer .footer-top .logo { grid-column: span 2; }
.footer .footer-top .about { grid-column: 3 / span 5; margin: 0 0 0 -30px; }
.footer .footer-top .about p { color: var(--colour-grey); margin: 0 0 20px; }

.footer .footer-top .year-chooser { grid-column: 10 / span 3; margin: 0 0 0 auto; }
.footer .footer-top .year-chooser .uppercase { color: var(--colour-light-grey); white-space: nowrap; margin: 0 0 17px; display: block; }
.footer .footer-top .year-chooser .select { position: relative; }
.footer .footer-top .year-chooser .select .dropper { display: flex; font-size: 18px; color: var(--colour-light-grey); align-items: center; padding: 0 16px; background: var(--colour-dark-grey); height: 54px; width: 100%; justify-content: space-between; }
.footer .footer-top .year-chooser .select .dropper svg path { transition: all .33s; }

.footer .footer-top .year-chooser .select .droplinks { position: absolute; top: 100%; left: 0; right: 0; display: none; background: var(--colour-footer-grey); }
.footer .footer-top .year-chooser .select .droplinks ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.footer .footer-top .year-chooser .select .droplinks ul li { margin: 2px 0 0 0; }
.footer .footer-top .year-chooser .select .droplinks ul li a { display: flex; font-size: 16px; color: var(--colour-white); align-items: center; padding: 0 16px; background: var(--colour-dark-grey); height: 44px; width: 100%; justify-content: space-between; font-weight: 600; }

.footer .footer-top .about .social-and-email { display: flex; align-items: center; justify-content: flex-start; gap: 30px;}
.footer .footer-top .about .social-and-email a { color: var(--colour-highlight-blue); }

.social { list-style: none; display: flex; gap: 10px; }
.social a { display: block; }
.social svg { display: block; }

.footer .footer-bottom .inner { display: flex; flex-direction: row; justify-content: space-between; align-items: center; }
.footer .footer-bottom .copyright-and-nav { display: flex; align-items: center; gap: 10px; }
.footer .footer-bottom .copyright-and-nav span { color: var(--colour-light-grey); }
.footer .footer-bottom p { font-size: 14px; line-height: 1.57; letter-spacing: .4px; color: var(--colour-light-grey); }
.footer .footer-bottom a { color: var(--colour-highlight-blue); }
.footer .footer-bottom .top { display: flex; align-items: center; color: var(--colour-highlight-blue); gap: 10px; font-size: 16px; font-weight: 600; }
.footer .footer-bottom .top svg { rotate: 180deg; }
.footer .footer-bottom .top svg path:last-child { stroke: var(--colour-white); }

@media (hover) {

	.social a .fhd,
	.social a .fhb { transition: all .33s; }

	.social a:hover svg .fhd { fill: var(--colour-dark-grey); }
	.social a:hover svg .fhb { fill: var(--colour-highlight-blue); }

	.footer .footer-bottom .top svg .fhb { transition: all .33s; }
	.footer .footer-bottom .top:hover svg .fhb { fill: var(--colour-highlight-blue); }
	.footer .footer-bottom .top svg .shw { transition: all .33s; }
	.footer .footer-bottom .top:hover svg .shw { stroke: var(--colour-dark-grey); }

	.footer .footer-top .year-chooser .select .dropper:hover svg .fhw { fill: var(--colour-white); }
 
}

@media (max-width: 1249.5px) {

	.footer .footer-top .about { grid-column: 3 / span 6; margin: 0 0 0 -30px; }

}

@media (max-width: 1079.5px) {

	.footer .footer-top .logo { grid-column: 1 / span 9; margin: 0 0 35px; }
	.footer .footer-top .about { grid-column: 1 / span 9; margin: 0; }

	.footer .footer-bottom { padding: 24px 0; }
	.footer .footer-bottom .copyright-and-nav { flex-direction: column; align-items: flex-start; gap: 8px; }
	.footer .footer-bottom .copyright-and-nav > span { display: none; }

	.footer .footer-top .year-chooser { grid-column: 1 / span 12; display: flex; flex-direction: row; align-items: center; gap: 18px; margin: 70px 0 0 0; }
	.footer .footer-top .year-chooser .uppercase { margin: 0; }
	.footer .footer-top .year-chooser .select { min-width: 230px; }
	.footer .footer-top .year-chooser .select .droplinks { top: auto; bottom: 100%; margin: 0 0 2px; }

}

@media (max-width: 767.5px) {

	.footer .footer-top { padding: 36px 0 45px; }

	.footer .footer-top .logo { grid-column: 1 / span 12; margin: 0 0 35px; }
	.footer .footer-top .about { grid-column: 1 / span 12; margin: 0; }

	.footer .footer-top .about .social-and-email { flex-direction: column; align-items: flex-start; gap: 18px; }

	.footer .footer-bottom .inner { flex-direction: column; gap: 27px; align-items: flex-start; }
	.footer .footer-bottom { padding: 33px 0; } 

	.footer .footer-top .year-chooser { margin: 45px 0 0 0; flex-direction: column; gap: 0; align-items: flex-start; }
	.footer .footer-top .year-chooser .uppercase { margin: 0 0 18px; }
	
}

/* --------------------------------------------------------------------------------------------- */

.page-template-default .header { display: none; }
.page-template-default .footer { display: none; }
.page-template-default .wrapper { padding: 107px 0 0 0; }

/* --------------------------------------------------------------------------------------------- */

/*.error404 .header { display: none; }*/
/*.error404 .footer { display: none; }*/
/*.error404 .wrapper { padding: 107px 0 0 0; }*/

.error404 .header nav,
.error404 .header .nav-buttons { display: none !important; }
.error404 .header .logos span:first-child::after { display: none; }

.error404 .error { margin: 0 0 140px; padding: 33px 0 0 0; }

.error404 .h3 { position: relative; color: var(--colour-logo-blue); margin: 0 0 60px; grid-column: 1 / span 12; }
.error404 .h3::after { content: ''; display: block; height: 2px; width: 100px; background: var(--colour-highlight-blue); position: absolute; bottom: -14px; left: 0; }

.error404 .text { grid-column: 1 / span 5; }
.error404 .img { grid-column: 7 / span 6; }

.error404 h1 strong { font-weight: 600; color: var(--colour-highlight-blue); }
.error404 h1 { margin: 0 0 36px; }
.error404 p.intro { margin: 0 0 26px; }
.error404 .img img { display: block; width: 100%; height: auto; }

@media (max-width: 1079.5px) {

	.error404 .text { grid-column: 1 / span 6; }

}

@media (max-width: 767.5px) {

	.error404 .error { margin: 0 0 80px; padding: 18px 0 0 0; }

	.error404 .text { grid-column: 1 / span 12; margin: 0 0 33px; }
	.error404 .img { grid-column: 1 / span 12; }

}.on { transition: all .75s; opacity: 0; transform: translate3d(0,50px,0); }
.on.in { opacity: 1; transform: none; }

.onx { transform: translate3d(0,0,0); }
.on50 { transform: translate3d(-50%,0,0) !important; transition: all 3s; }

.onl { transform: translate3d(-200px,0,0); transition: all 1s; transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }
.onr { transform: translate3d(200px,0,0); transition: all 1s; transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); }

.ona1 { transform: rotate(-10deg); }

.on0 { transition-delay: 0s; }
.on1 { transition-delay: .15s; }
.on2 { transition-delay: .3s; }
.on3 { transition-delay: .45s; }
.on4 { transition-delay: .6s; }
.on5 { transition-delay: .75s; }
.on6 { transition-delay: .9s; }
.on7 { transition-delay: 1.05s; }
.on8 { transition-delay: 1.2s; }
.on9 { transition-delay: 1.35s; }
.on10 { transition-delay: 1.5s; }

@media (max-width: 599.5px) {

    .on0 { transition-delay: 0s; }
    .on1 { transition-delay: 0s; }
    .on2 { transition-delay: 0s; }
    .on3 { transition-delay: 0s; }
    .on4 { transition-delay: 0s; }
    .on5 { transition-delay: 0s; }
    .on6 { transition-delay: 0s; }
    .on7 { transition-delay: 0s; }
    .on8 { transition-delay: 0s; }
    .on9 { transition-delay: 0s; }
    .on10 { transition-delay: 0s; }

}

/* keyframes constant rotate */
@keyframes constant-rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
}

/* class that uses constant rotate */
.rotate {
    animation: constant-rotate 60s linear infinite;
}