/*!
Theme Name: Ice Tigers
Theme URI: https://studiomoco.net/
Author: Studio Moco
Author URI: https://studiomoco.net/
Description: Ice Tigers Main Theme
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ice-tigers
*/

/* latin */
@font-face {
	font-family: "Archivo";
	font-style: italic;
	font-weight: 100 900;
	font-stretch: 100%;
/* 	font-display: swap; */
	src: url(assets/fonts/Archivo_italic.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 100%;
/* 	font-display: swap; */
	src: url(assets/fonts/Archivo_normal.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
	--clr-white: #fff;
	--clr-blue: #073874;
	--clr-accent: #e2001a;
	--clr-red: #f00;
	--form-valid-color: rgba(0, 128, 0, 0.2);
	--form-valid-border-color: green;
	--form-invalid-color: rgba(255, 0, 0, 0.2);
	--form-invalid-border-color: red;
	--clr-border-blue: var(--clr-blue);
	--clr-border-blue-light: #4b617c;
	--stroke-blue: 1px solid var(--clr-border-blue);
	--stroke-blue-light: 1px solid var(--clr-border-blue-light);
	accent-color: var(--clr-accent);
	caret-color: var(--clr-accent);
	--fw-light: 300;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semi-bold: 600;
	--fw-bold: 700;
	--fw-extra-bold: 800;
	--lh-heading: 1;
	--lh-body: 1.4;
	--fs-800: calc(100 / 16 * 1rem);
	--fs-700: calc(60 / 16 * 1rem);
	--fs-600: calc(50 / 16 * 1rem);
	--fs-500: calc(32 / 16 * 1rem);
	--fs-400: calc(28 / 16 * 1rem);
	--fs-300: calc(24 / 16 * 1rem);
	--fs-200: calc(20 / 16 * 1rem);
	--fs-300-200: clamp(1.25rem, 1.1781609195rem + 0.30651341vw, 1.5rem);
	--fs-300-150: clamp(1.125rem, 1.0172413793rem + 0.4597701149vw, 1.5rem);
	--fs-150: calc(18 / 16 * 1rem);
	--fs-100: calc(16 / 16 * 1rem);
	--fs-000: calc(14 / 16 * 1rem);
	--fs-hxl: clamp(3.125rem, 2.2270114943rem + 3.8314176245vw, 6.25rem);
	--fs-h1: clamp(2rem, 1.4971264368rem + 2.1455938697vw, 3.75rem);
	--fs-h2: clamp(2rem, 1.4971264368rem + 2.1455938697vw, 3.75rem);
	--fs-h3: clamp(1.5rem, 1.4281609195rem + 0.30651341vw, 1.75rem);
	--fs-h4: clamp(1rem, 0.9281609195rem + 0.30651341vw, 1.25rem);
	--fs-p: var(--fs-150);
	--fs-big-p: var(--fs-200);
	--ff-base: "Archivo", sans-serif;
	--ff-code: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo,
	monospace;
	--space-100-80: clamp(80px, 80px + (100 - 80) * (100vw - 375px) / (1680 - 375), 100px);
	--space-100-60: clamp(60px, 60px + (100 - 60) * (100vw - 375px) / (1680 - 375), 100px);
	--space-80-40: clamp(40px, 40px + (80 - 40) * (100vw - 375px) / (1680 - 375), 80px);
	--space-40-20: clamp(20px, 20px + (40 - 20) * (100vw - 375px) / (1680 - 375), 40px);
	--br-12: 12px;
	--br-14: 14px;
	--container-width: 1680px;
	--container-width-small: 1680px;
	--transition-base: 400ms ease;
	--transition-movement: 200ms linear;
	--transition-fade: 300ms ease;
	--transition-bounce: 500ms cubic-bezier(0.5, 0.05, 0.2, 1.5);
}

::selection {
	background-color: var(--clr-blue);
	color: var(--clr-white);
}

*,
:is(*::before, *::after) {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	overflow-x: hidden;
	tab-size: 4;
	line-height: 1.5;
}
@media screen and (min-width: 1024.1px) {
	html {
		scrollbar-gutter: stable;
	}
}

body {
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
	min-block-size: 100vh;
	min-block-size: 100dvh;
}
@media screen and (max-width: 768px) {
	body {
		overflow-x: hidden;
	}
}

:is(ul[class], ol[class]) {
	list-style-type: "";
}

a {
	color: inherit;
	text-decoration: none;
	text-decoration-skip-ink: auto;
}

:is(h1, h2, h3, h4) a:not([class]) {
	text-decoration-thickness: 0.1ex;
	text-underline-offset: 0.2ex;
}
:is(h1, h2, h3, h4) a:not([class]):hover {
	text-underline-offset: 0.3ex;
}

:is(b, strong) {
	font-weight: bolder;
}

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

small {
	font-size: 80%;
}

:is(code, kbd, samp, pre) {
	font-family: var(--ff-code);
	font-size: 1em;
	padding: 0.2em 0.2em 0.05em 0.2em;
	-webkit-hyphens: none;
	hyphens: none;
	tab-size: 2;
	text-align: left;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

pre:has(code) {
	width: max-content;
	max-width: 100%;
	overflow-x: auto;
}

pre code {
	border: none;
	background: none;
	padding: 0;
}

ins {
	text-decoration: none;
	background: var(--color-primary);
	color: var(--color-dark);
	padding-inline: 0.3em;
}

kbd {
	border: 1px solid;
	padding-block-end: 0.1em;
}

var {
	font-style: normal;
	font-weight: var(--font-medium);
}

q {
	font-style: italic;
}

:is(img, svg, video, picture, canvas, audio, iframe, embed, object) {
	max-inline-size: 100%;
	block-size: auto;
	display: block;
}

svg {
	inline-size: auto;
	line-height: 1;
	flex: none;
}

:is(input, button, select, optgroup, textarea) {
	font-family: inherit;
	font-size: inherit;
}

select {
	word-wrap: normal;
}

textarea {
	resize: vertical;
}

textarea:not([rows]) {
	min-block-size: 10em;
}

button:not(:disabled),
:is(a, label) {
	cursor: pointer;
}

button {
	text-align: left;
}

:is(p, li, figcaption) {
	text-wrap: pretty;
}

button {
	background-color: transparent;
	border: none;
	color: inherit;
}

:is(label, legend, fieldset) {
	display: inline-block;
}

table {
	caption-side: bottom;
	border-collapse: collapse;
	border-spacing: 0;
	border: var(--stroke);
	width: 100%;
}

thead th {
	padding-block: 8px;
}

:is(th, td) {
	padding: 4px 8px;
	text-align: left;
	vertical-align: baseline;
}

th {
	font-weight: var(--fw-bold);
	text-align: left;
}

:is(table, th, td) {
	border-color: currentColor;
}

blockquote {
	margin-inline: 0;
	color: var(--clr-gray);
}
blockquote q {
	font-style: normal;
}

figcaption {
	padding-block-start: 0.5em;
	font-size: 0.8em;
	font-family: var(--ff-code);
}

hr {
	border: none;
	height: 1px;
	background-color: var(--clr-border, currentColor);
	display: block;
	margin-block: 20px;
	margin-block: var(--space-40-20);
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
:focus {
	outline: none;
}

:focus-visible {
	outline: 2px solid var(--focus-color, currentColor);
	outline-offset: var(--focus-offset, 0.2lh);
}

.visually-hidden:not(:focus):not(:active),
.sr-only {
	position: absolute;
	overflow: hidden;
	clip: rect(0 0 0 0);
	margin: -1px;
	padding: 0;
	inline-size: 1px;
	block-size: 1px;
	border: 0;
	white-space: nowrap;
	clip-path: inset(100%);
}

:target {
	scroll-margin-block: 5lh;
}

#skip-link {
	position: fixed;
	top: -100vh;
	left: 1rem;
	z-index: 999;
	font-weight: 500;
	color: var(--clr-black, #000);
	background: var(--clr-white, #fff);
	padding: 0.75em 1.5em;
	text-align: center;
	transition: top 0.1s linear;
	text-decoration: none;
}
#skip-link:is(:focus, :focus-visible) {
	outline: 6px double black;
	box-shadow: 0 0 0 4px white;
	top: 1rem;
	left: 1rem;
}

:is(main#main:target, main#primary:target) {
	scroll-margin-block: 0;
}

[hidden]:not([hidden=until-found]) {
	display: none !important;
}

.block-editor-block-list__block {
	max-width: 100% !important;
	margin-left: unset !important;
	margin-right: unset !important;
}

.edit-post-visual-editor {
	overflow: hidden;
}

body {
	font-family: var(--ff-base);
	line-height: var(--lh-body);
	font-weight: var(--fw-regular);
	color: var(--clr-blue);
	background-color: var(--clr-white);
	font-size: 1rem;
	font-size: var(--fs-p);
	font-size-adjust: from-font;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeSpeed;
	-webkit-tap-highlight-color: transparent;
	letter-spacing: -0.02em;
}

:is(input, button, select, optgroup, textarea) {
	line-height: 1.1;
}

label {
	line-height: inherit;
}

:is(h1, h2, h3, h4, h5, h6),
:is(.h1, .h2, .h3, .h4, .h5, .h6, .hxl, .headline, .upper-label) {
	line-height: var(--lh-heading);
	letter-spacing: -0.02em;
	font-weight: var(--fw-extra-bold);
	overflow-wrap: break-word;
	text-wrap: balance;
}

.hxl {
	font-size: var(--fs-700);
	font-size: var(--fs-hxl);
}

h1,
.h1 {
	text-transform: uppercase;
	font-size: var(--fs-600);
	font-size: var(--fs-h1);
}

h2,
.h2 {
	text-transform: uppercase;
	font-size: var(--fs-400);
	font-size: var(--fs-h2);
}

h3,
.h3 {
	line-height: 1.2;
	font-size: var(--fs-200);
	font-size: var(--fs-h3);
}

:is(h4, h5, h6),
:is(.h4, .h5, .h6) {
	line-height: 1.2;
	font-size: var(--fs-100);
	font-size: var(--fs-h4);
}

.fw-light {
	font-weight: var(--fw-light);
}

.fw-regular {
	font-weight: var(--fw-regular);
}

.fw-medium {
	font-weight: var(--fw-medium);
}

.fw-semi-bold {
	font-weight: var(--fw-semi-bold);
}

:is(.fw-bold, .bold) {
	font-weight: var(--fw-bold);
}

.fw-extra-bold {
	font-weight: var(--fw-extra-bold);
}

.fw-mega-bold {
	font-weight: 900;
}

.line-height-1 {
	line-height: 1;
}

.line-height-1-1 {
	line-height: 1.1;
}

.line-height-normal {
	line-height: normal;
}

.underline {
	text-decoration: underline;
}

.italic {
	font-style: italic;
}

.text-left {
	text-align: left;
}

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

.text-right {
	text-align: right;
}

@media screen and (min-width: 1024.1px) {
	.desktop\:text-left {
		text-align: left;
	}
	.desktop\:text-center {
		text-align: center;
	}
}
@media screen and (max-width: 768px) {
	.mobile\:text-center {
		text-align: center;
	}
}
:is(.clr-white, .text-white) {
	color: var(--clr-white);
}

:is(.clr-accent, .text-accent) {
	color: var(--clr-accent);
}

.headlines-accent :is(h1, h2, h3, h4, h5, h6) {
	color: var(--clr-accent);
}

:is(ul, ol) {
	list-style-position: outside;
}

.fs-800 {
	font-size: var(--fs-800);
}

.fs-700 {
	font-size: var(--fs-700);
}

.fs-600 {
	font-size: var(--fs-600);
}

.fs-500 {
	font-size: var(--fs-500);
}

.fs-400 {
	line-height: 1.2;
	font-size: var(--fs-400);
}

.fs-300 {
	line-height: 1.2;
	font-size: var(--fs-300);
}

.fs-200 {
	font-size: var(--fs-200);
}

.fs-150 {
	font-size: var(--fs-150);
}

.fs-100 {
	font-size: var(--fs-100);
}

.fs-000 {
	font-size: var(--fs-000);
}

.fs-hxl {
	font-size: var(--fs-hxl);
}

.fs-h1 {
	font-size: var(--fs-h1);
}

.fs-h2 {
	font-size: var(--fs-h2);
}

.fs-h3 {
	font-size: var(--fs-h3);
}

.fs-h4 {
	font-size: var(--fs-h4);
}

.fs-big-p {
	font-size: var(--fs-big-p);
}

.fs-big-p-parent p {
	font-size: var(--fs-big-p);
}

:is(.fs-1300-950,
.fs-1200-800,
.fs-1100-900,
.fs-1000-800,
.fs-1000,
.fs-900,
.fs-850,
.fs-800,
.fs-700,
.fs-600,
.fs-500,
.fs-400,
.fs-600-200,
.fs-600-100,
.fs-500-100,
.fs-hxl,
.fs-h1,
.fs-h2,
.fs-h3) {
	letter-spacing: -0.02em;
}

.text-wrap-unset {
	text-wrap: unset;
}

.uppercase {
	text-transform: uppercase;
}

.lowercase {
	text-transform: lowercase;
}

.capitalize {
	text-transform: capitalize;
}

.text-normal {
	text-transform: initial;
}

.line-clamp-4 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
}

.truncate {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.text-ellipsis {
	text-overflow: ellipsis;
}

.text-clip {
	text-overflow: clip;
}

.break {
	word-break: break-word;
}

.tabular-nums {
	font-variant-numeric: tabular-nums;
}

.grid-auto-fit {
	display: grid;
	grid-template-columns: repeat(var(--grid-placement, auto-fit), minmax(min(var(--min-item-size, 360px), 100%), 1fr));
}

.sidebar-grid {
	display: grid;
}
@media screen and (min-width: 1024.1px) {
	.sidebar-grid {
		grid-template-columns: var(--sidebar-target-width, 20rem) 1fr;
	}
	.sidebar-grid.reverse {
		grid-template-columns: 1fr var(--sidebar-target-width, 20rem);
	}
}

.sidebar {
	display: flex;
	flex-wrap: wrap;
}
.sidebar:not(.reverse) > :first-child {
	flex-basis: var(--sidebar-target-width, 20rem);
	flex-grow: 1;
}
.sidebar:not(.reverse) > :last-child {
	flex-basis: 0;
	flex-grow: 999;
	min-inline-size: var(--sidebar-content-min-width, 50%);
}
.sidebar.reverse > :last-child {
	flex-basis: var(--sidebar-target-width, 20rem);
	flex-grow: 1;
}
.sidebar.reverse > :first-child {
	flex-basis: 0;
	flex-grow: 999;
	min-inline-size: var(--sidebar-content-min-width, 50%);
}

:is(.switcher, .albatross) {
	display: flex;
	flex-wrap: wrap;
	--breakpoint: 500px;
}
:is(.switcher, .albatross) > * {
	flex-grow: 1;
	flex-basis: calc((var(--breakpoint, 500px) - 100%) * 999);
}

.flow > * + * {
	margin-inline-start: var(--space, 16px);
}

.flow-content > * + * {
	margin-block-start: var(--space, 1em);
}
.flow-content > p + p {
	margin-block-start: calc(1em * var(--lh-body, 1.5));
}

.container-lg {
	max-width: var(--container-width);
	margin-inline: auto;
	padding-inline: clamp(20px, 20px + (40 - 20) * (100vw - 375px) / (1680 - 375), 40px);
}

.container-md {
	max-width: var(--container-width);
	margin-inline: auto;
	padding-inline: clamp(20px, 20px + (120 - 20) * (100vw - 375px) / (1680 - 375), 120px);
}

.container-sm {
	max-width: var(--container-width);
	margin-inline: auto;
	padding-inline: clamp(20px, 20px + (140 - 20) * (100vw - 375px) / (1680 - 375), 140px);
}

.grid.row-span-2 {
	grid-row: span 2;
}
.grid.rows-same {
	grid-auto-rows: 1fr;
}
.grid.col-2 {
	grid-template-columns: repeat(2, 1fr);
}
.grid.col-3 {
	grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1024px) {
	.grid.col-2-tablet {
		grid-template-columns: 1fr 1fr;
	}
	.grid.col-1-tablet {
		grid-template-columns: 1fr;
	}
}
@media screen and (max-width: 768px) {
	.grid.rows-auto-mobile {
		grid-auto-rows: auto;
	}
	.grid.col-2-mobile {
		grid-template-columns: repeat(2, 1fr);
	}
	.grid.col-1-mobile {
		grid-template-columns: repeat(1, 1fr);
	}
}

.stack {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.center {
	margin-inline: auto;
	text-align: center;
	max-inline-size: var(--measure);
}

.center-flex {
	display: flex;
	flex-direction: column;
	text-align: center;
	align-items: center;
}

.overlay-grid {
	display: grid;
}
.overlay-grid > * {
	grid-column: 1/-1;
	grid-row: 1/-1;
}

.relative {
	position: relative;
}

.absolute {
	position: absolute;
}

.fixed {
	position: fixed;
}

.sticky {
	position: sticky;
}

.left-0 {
	inset-inline-start: 0;
}

.right-0 {
	inset-inline-end: 0;
}

.top-0 {
	inset-block-start: 0;
}

.top-40 {
	inset-block-start: 40px;
}

.bottom-0 {
	inset-block-end: 0;
}

.inset-0 {
	inset: 0;
}

.fit-content {
	width: fit-content;
}

.inline {
	display: inline;
}

.block {
	display: block;
}

.inline-block {
	display: inline-block;
}

.inline-flex {
	display: inline-flex;
}

.inline-grid {
	display: inline-grid;
}

.grid {
	display: grid;
}

:is(.flex, .split) {
	display: flex;
}

@media screen and (max-width: 768px) {
	.split {
		flex-direction: column;
	}
}
.split > * {
	width: 100%;
}

.flow-column {
	grid-auto-flow: column;
}

.grow {
	flex-grow: 1;
}

.grow-full {
	flex-grow: 999;
}

.flex-1 {
	flex: 1 1 0%;
}

.flex-auto {
	flex: 1 1 auto;
}

.align-start {
	align-items: start;
}

.align-center {
	align-items: center;
}

.align-end {
	align-items: end;
}

.align-stretch {
	align-items: stretch;
}

:is(.align-baseline, .baseline) {
	align-items: baseline;
}

.last-baseline {
	align-items: last baseline;
}

.align-self-start {
	align-self: start;
}

.align-self-center {
	align-self: center;
}

.align-self-end {
	align-self: end;
}

.align-self-stretch {
	align-self: stretch;
}

.space-between {
	justify-content: space-between;
}

.justify-start {
	justify-content: start;
}

.justify-center {
	justify-content: center;
}

.justify-end {
	justify-content: end;
}

.justify-self-start {
	justify-self: end;
}

.justify-self-end {
	justify-self: end;
}

@media screen and (max-width: 768px) {
	.justify-start-mobile {
		justify-content: start;
	}
}

.wrap {
	flex-wrap: wrap;
}

.wrap-reverse {
	flex-wrap: wrap-reverse;
}

@media screen and (max-width: 768px) {
	.wrap-mobile {
		flex-wrap: wrap;
	}
}

.flex-column {
	flex-direction: column;
}

.col-reverse {
	flex-direction: column-reverse;
}

.row-reverse {
	flex-direction: row-reverse;
}

.shrink-none {
	flex-shrink: 0;
}

.order-first {
	order: -999;
}

.order-last {
	order: 999;
}

@media screen and (max-width: 1024px) {
	.flex-column-tablet {
		flex-direction: column;
	}
}

@media screen and (max-width: 768px) {
	.flex-column-mobile {
		flex-direction: column;
	}
}

@media screen and (max-width: 768px) {
	.flex-column-reverse-mobile {
		flex-direction: column-reverse;
	}
}

@media screen and (max-width: 768px) {
	.align-start-mobile {
		align-items: start;
	}
}

.place-center-inline {
	display: inline-grid;
	place-items: center;
}

.place-center {
	display: grid;
	place-items: center;
}

.grid-column-full {
	grid-column: 1/-1;
}

.grid-row-span-2 {
	grid-row: span 2;
}

.hidden {
	display: none;
}

@media screen and (max-width: 768px) {
	.hide-mobile {
		display: none;
	}
}

@media screen and (min-width: 1024.1px) {
	.hide-desktop {
		display: none;
	}
}

@media screen and (max-width: 1024px) {
	.hide-tablet {
		display: none;
	}
}

@media screen and (min-width: 1024.1px) {
	.show-tablet {
		display: none;
	}
}

.show-tablet-flex {
	display: none;
}
@media screen and (max-width: 1024px) {
	.show-tablet-flex {
		display: flex;
	}
}

.show-mobile-flex {
	display: none;
}
@media screen and (max-width: 768px) {
	.show-mobile-flex {
		display: flex;
	}
}

@media screen and (min-width: 1024.1px) {
	.hide-desktop {
		display: none;
	}
}

.flex-basis-0 {
	flex-basis: 0;
}

.mb-0 {
	margin-block-end: 0px;
}

.mb-8 {
	margin-block-end: 8px;
}

.mb-20 {
	margin-block-end: 20px;
}

.mb-32 {
	margin-block-end: 32px;
}

.mb-40 {
	margin-block-end: 40px;
}

.mb-60 {
	margin-block-end: 60px;
}

.mb-80 {
	margin-block-end: 80px;
}

.mb-120 {
	margin-block-end: 120px;
}

.mt-0 {
	margin-block-start: 0px;
}

.mt-8 {
	margin-block-start: 8px;
}

.mt-20 {
	margin-block-start: 20px;
}

.mt-32 {
	margin-block-start: 32px;
}

.mt-40 {
	margin-block-start: 40px;
}

.mt-60 {
	margin-block-start: 60px;
}

.mt-80 {
	margin-block-start: 80px;
}

.mt-120 {
	margin-block-start: 120px;
}

.pb-0 {
	padding-block-end: 0px;
}

.pb-8 {
	padding-block-end: 8px;
}

.pb-20 {
	padding-block-end: 20px;
}

.pb-32 {
	padding-block-end: 32px;
}

.pb-40 {
	padding-block-end: 40px;
}

.pb-60 {
	padding-block-end: 60px;
}

.pb-80 {
	padding-block-end: 80px;
}

.pb-120 {
	padding-block-end: 120px;
}

.pt-0 {
	padding-block-start: 0px;
}

.pt-8 {
	padding-block-start: 8px;
}

.pt-20 {
	padding-block-start: 20px;
}

.pt-32 {
	padding-block-start: 32px;
}

.pt-40 {
	padding-block-start: 40px;
}

.pt-60 {
	padding-block-start: 60px;
}

.pt-80 {
	padding-block-start: 80px;
}

.pt-120 {
	padding-block-start: 120px;
}

.padding-inline-0 {
	padding-inline: 0px;
}

.padding-inline-8 {
	padding-inline: 8px;
}

.padding-inline-20 {
	padding-inline: 20px;
}

.padding-inline-32 {
	padding-inline: 32px;
}

.padding-inline-40 {
	padding-inline: 40px;
}

.padding-inline-60 {
	padding-inline: 60px;
}

.padding-inline-80 {
	padding-inline: 80px;
}

.padding-inline-120 {
	padding-inline: 120px;
}

.space-0 {
	--space: 0px;
}

.space-8 {
	--space: 8px;
}

.space-20 {
	--space: 20px;
}

.space-32 {
	--space: 32px;
}

.space-40 {
	--space: 40px;
}

.space-60 {
	--space: 60px;
}

.space-80 {
	--space: 80px;
}

.space-120 {
	--space: 120px;
}

.gap-x-0 {
	column-gap: 0px;
}

.gap-x-8 {
	column-gap: 8px;
}

.gap-x-20 {
	column-gap: 20px;
}

.gap-x-32 {
	column-gap: 32px;
}

.gap-x-40 {
	column-gap: 40px;
}

.gap-x-60 {
	column-gap: 60px;
}

.gap-x-80 {
	column-gap: 80px;
}

.gap-x-120 {
	column-gap: 120px;
}

.gap-y-0 {
	row-gap: 0px;
}

.gap-y-8 {
	row-gap: 8px;
}

.gap-y-20 {
	row-gap: 20px;
}

.gap-y-32 {
	row-gap: 32px;
}

.gap-y-40 {
	row-gap: 40px;
}

.gap-y-60 {
	row-gap: 60px;
}

.gap-y-80 {
	row-gap: 80px;
}

.gap-y-120 {
	row-gap: 120px;
}

.space-100-80 {
	--space: 80px;
	--space: var(--space-100-80);
}

.space-100-60 {
	--space: 60px;
	--space: var(--space-100-60);
}

.space-80-40 {
	--space: 40px;
	--space: var(--space-80-40);
}

.space-40-20 {
	--space: 20px;
	--space: var(--space-40-20);
}

.mt-100-80 {
	margin-block-start: 80px;
	margin-block-start: var(--space-100-80, 80px);
}

.mt-100-60 {
	margin-block-start: 60px;
	margin-block-start: var(--space-100-60, 60px);
}

.mt-80-40 {
	margin-block-start: 40px;
	margin-block-start: var(--space-80-40, 40px);
}

.mt-40-20 {
	margin-block-start: 20px;
	margin-block-start: var(--space-40-20, 20px);
}

.mb-100-80 {
	margin-block-end: 80px;
	margin-block-end: var(--space-100-80, 80px);
}

.mb-100-60 {
	margin-block-end: 60px;
	margin-block-end: var(--space-100-60, 60px);
}

.mb-80-40 {
	margin-block-end: 40px;
	margin-block-end: var(--space-80-40, 40px);
}

.mb-40-20 {
	margin-block-end: 20px;
	margin-block-end: var(--space-40-20, 20px);
}

.pt-100-80 {
	padding-block-start: 80px;
	padding-block-start: var(--space-100-80, 80px);
}

.pt-100-60 {
	padding-block-start: 60px;
	padding-block-start: var(--space-100-60, 60px);
}

.pt-80-40 {
	padding-block-start: 40px;
	padding-block-start: var(--space-80-40, 40px);
}

.pt-40-20 {
	padding-block-start: 20px;
	padding-block-start: var(--space-40-20, 20px);
}

.pb-100-80 {
	padding-block-end: 80px;
	padding-block-end: var(--space-100-80, 80px);
}

.pb-100-60 {
	padding-block-end: 60px;
	padding-block-end: var(--space-100-60, 60px);
}

.pb-80-40 {
	padding-block-end: 40px;
	padding-block-end: var(--space-80-40, 40px);
}

.pb-40-20 {
	padding-block-end: 20px;
	padding-block-end: var(--space-40-20, 20px);
}

.padding-inline-100-80 {
	padding-inline: 80px;
	padding-inline: var(--space-100-80, 80px);
}

.padding-inline-100-60 {
	padding-inline: 60px;
	padding-inline: var(--space-100-60, 60px);
}

.padding-inline-80-40 {
	padding-inline: 40px;
	padding-inline: var(--space-80-40, 40px);
}

.padding-inline-40-20 {
	padding-inline: 20px;
	padding-inline: var(--space-40-20, 20px);
}

.gap-y-100-80 {
	row-gap: 80px;
	row-gap: var(--space-100-80, 80px);
}

.gap-y-100-60 {
	row-gap: 60px;
	row-gap: var(--space-100-60, 60px);
}

.gap-y-80-40 {
	row-gap: 40px;
	row-gap: var(--space-80-40, 40px);
}

.gap-y-40-20 {
	row-gap: 20px;
	row-gap: var(--space-40-20, 20px);
}

.gap-x-100-80 {
	column-gap: 80px;
	column-gap: var(--space-100-80, 80px);
}

.gap-x-100-60 {
	column-gap: 60px;
	column-gap: var(--space-100-60, 60px);
}

.gap-x-80-40 {
	column-gap: 40px;
	column-gap: var(--space-80-40, 40px);
}

.gap-x-40-20 {
	column-gap: 20px;
	column-gap: var(--space-40-20, 20px);
}

.full-bleed {
	width: 100vw;
	margin-inline-start: 50%;
	transform: translateX(-50%);
}

.pos-middle {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.translate-middle {
	transform: translate(-50%, -50%);
}

.translate-x-middle {
	transform: translateX(-50%);
}

.translate-y-middle {
	transform: translateY(-50%);
}

.aspect-square {
	aspect-ratio: 1;
}

.aspect-video {
	aspect-ratio: 16/9;
}

.aspect-mobile {
	aspect-ratio: 340/400;
}

.mr-auto {
	margin-inline-end: auto;
}

.ml-auto {
	margin-inline-start: auto;
}
@media screen and (max-width: 768px) {
	.ml-auto.ml-only-desktop {
		margin-inline-start: revert;
	}
}

.mx-auto {
	margin-inline: auto;
}

.mt-auto {
	margin-block-start: auto;
}

.mb-auto {
	margin-block-end: auto;
}

.m-block-auto {
	margin-block: auto;
}

.w-full {
	width: 100%;
}

.h-full {
	height: 100%;
}

.min-h-full {
	min-block-size: 100%;
}

.h-cap {
	height: 1cap;
}

:is(.overflow-clip, .clip) {
	overflow: clip;
}

.overflow-x-clip {
	overflow-x: clip;
}

.overflow-hidden {
	overflow: hidden;
}

.overflow-x-hidden {
	overflow-x: hidden;
}

.overflow-auto {
	overflow: auto;
}

.overflow-x-auto {
	overflow-x: auto;
}

.overflow-visible.overflow-visible {
	overflow: visible;
}

.isolate {
	isolation: isolate;
}

.z-index-minus-1 {
	z-index: -1;
}

.z-index-1 {
	z-index: 1;
}

.z-index-10 {
	z-index: 10;
}

.z-index-100 {
	z-index: 100;
}

.z-index-1000 {
	z-index: 1000;
}

.z-infinity {
	z-index: calc(infinity);
}

.bg-white {
	background-color: var(--clr-white);
	color: var(--clr-blue);
}

.bg-blue {
	background-color: var(--clr-blue);
	color: var(--clr-white);
}
.bg-blue ::selection {
	background-color: var(--clr-white);
	color: var(--clr-blue);
}

.bg-blue-light {
	background-color: rgba(255, 255, 255, 0.04);
}

.bg-accent {
	background-color: var(--clr-accent);
	color: var(--clr-white);
}
.bg-accent ::selection {
	background-color: var(--clr-white);
	color: var(--clr-accent);
}

.bg-image-overlay {
	position: relative;
	isolation: isolate;
	overflow: clip;
}
@media screen and (max-width: 768px) {
	.bg-image-overlay {
		overflow: hidden;
	}
}
.bg-image-overlay::before {
	content: "";
	position: absolute;
	inset: -1px;
	z-index: -2;
	background: url(assets/images/dark-image-overlay.jpg) 50%/cover no-repeat;
	background-size: 100% 100%;
}
.bg-image-overlay:nth-child(even)::before {
	transform: scaleY(-1);
}
@media screen and (max-width: 768px) {
	.bg-image-overlay.overlay-dark-mobile::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		background-color: var(--clr-dark);
		opacity: 0.5;
	}
}

.clr-red {
	color: var(--clr-red);
}

:is(.img-wrapper, .video-wrapper, figure) {
	overflow: hidden;
}
:is(.img-wrapper, .video-wrapper, figure) > :is(img, video, picture) {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}
:is(.img-wrapper, .video-wrapper, figure) > :is(img, video, picture).contain {
	object-fit: contain;
}

:is(video, iframe[src*=youtube], iframe[src*=vimeo]) {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
}

.svg-wrapper,
svg {
	flex-shrink: 0;
}

.contain {
	object-fit: contain;
}

.cover {
	object-fit: cover;
}

.wrap-max-width {
	max-width: 1440px;
	margin-inline: auto;
}

.border {
	border: var(--stroke-blue);
}
.border-light {
	border: var(--stroke-blue-light);
}

.border-top {
	border-block-start: var(--stroke-blue);
}
.border-top-light {
	border-block-start: var(--stroke-blue-light);
}

.border-bottom {
	border-block-end: var(--stroke-blue);
}
.border-bottom-light {
	border-block-end: var(--stroke-blue-light);
}

.border-rounded {
	border-radius: 50%;
}

.border-pill {
	border-radius: 100vmax;
}

.br-12 {
	border-radius: var(--br-12);
}

.br-14 {
	border-radius: var(--br-14);
}

.pointer {
	cursor: pointer;
}

:is(.max-w-300, .max-w-300-parent p) {
	max-width: 300px;
}

:is(.max-w-380, .max-w-380-parent p) {
	max-width: 380px;
}

:is(.max-w-450, .max-w-450-parent p) {
	max-width: 450px;
}

:is(.max-w-500, .max-w-500-parent p) {
	max-width: 500px;
}

:is(.max-w-650, .max-w-650-parent p) {
	max-width: 650px;
}

:is(.max-w-840, .max-w-840-parent p) {
	max-width: 840px;
}

:is(.max-w-1440, .max-w-1440-parent p) {
	max-width: 1440px;
}

:is(.max-w-1920, .max-w-1920-parent p) {
	max-width: 1920px;
}

@media screen and (max-width: 768px) {
	.max-w-revert-mobile {
		max-width: revert;
	}
}

.rect {
	width: var(--width, 20px);
	aspect-ratio: 1;
}

.circle {
	width: var(--width, 20px);
	border-radius: 50%;
	aspect-ratio: 1;
}

.opacity-0-2 {
	opacity: 0.2;
}

.opacity-0-7-hover:hover {
	opacity: 0.7;
}

.vr {
	border: none;
	width: 1px;
	min-height: 1em;
	background-color: var(--clr-border, currentColor);
	display: block;
}

.content p:empty {
	display: none;
}
.content a {
	font-weight: 500;
	text-decoration: underline;
	transition: 0.4s ease-out;
	transition-property: opacity;
}
@media (hover: hover) {
	.content a:is(:hover, :focus-visible, :active) {
		opacity: 0.7;
	}
}
.content blockquote {
	background-color: var(--clr-gray, #666666);
	border-left: 5px solid #e6e6e6;
	padding: 20px 24px;
	margin-inline: 0;
	color: inherit;
}
.content :is(ul, ol, dl) {
	list-style-position: outside;
	margin-left: 15px;
}
.content ul {
	list-style-type: disc;
}
.content ul li {
	padding-left: 4px;
}
.content ul li + li {
	margin-top: 16px;
}
.content ul ul {
	list-style-type: circle;
	margin-bottom: 4px;
	margin-top: 4px;
}
.content ul ul ul {
	list-style-type: square;
}
.content ol {
	list-style-type: decimal;
}
.content ol ol {
	margin-block-end: 4px;
	margin-block-start: 4px;
	list-style-type: lower-alpha;
}
.content ol ol ol {
	list-style-type: lower-roman;
}
.content ol ol ol ol {
	list-style-type: lower-greek;
}
.content dd {
	margin-inline-start: 2em;
}
.content :is(code, kbd, samp, pre) {
	-moz-osx-font-smoothing: auto;
	-webkit-font-smoothing: auto;
	background-color: #f2f2f2;
	color: #333;
	border-radius: 3px;
	padding: 0.1em 0.4em 0.2em;
}
.content cite {
	font-style: italic;
}
.content table {
	width: 100%;
}
.content table :is(th, td) {
	font-size: 1em;
	padding: 0.7em;
	line-height: 1.4;
}
.content table pre {
	white-space: pre-wrap;
}

.prose {
	--space: 1.2em;
}
.prose :is(h1, h2, h3) {
	overflow-wrap: anywhere;
	-webkit-hyphens: auto;
	hyphens: auto;
}
.prose :is(p, li, dl, figcaption, blockquote) {
	max-width: 65ch;
	text-wrap: pretty;
}
.prose > strong {
	display: block;
}
.prose :is(h1, h2, h3, h4) + *:not([class]) {
	--space: 1em;
}
.prose * + :is(h1, h2, h3, h4):not([class]) {
	--space: 1.5em;
}
.prose :is(ul, ol):not([class]) li + li,
.prose :is(ul, ol):not([class]) li > :is(ol, ul) {
	--space: 1em;
}
.prose hr {
	--space: 2em;
}
@media screen and (min-width: 1024.1px) {
	.prose :is(h1, h2, h3) {
		overflow-wrap: unset;
		-webkit-hyphens: auto;
		hyphens: unset;
	}
}

.button--primary {
	font-style: italic;
	display: inline-flex;
	padding: 1.25em 2em;
	gap: 8px;
	width: fit-content;
	text-box: cap alphabetic;
	position: relative;
	color: var(--clr-white);
	background-color: var(--clr-accent);
	display: inline-flex;
	line-height: 1;
	font-size: var(--fs-300-150);
	overflow: hidden;
	border-radius: 100vmax;
	transition: var(--transition-base);
	transition-property: transform;
	font-weight: 900;
	text-transform: uppercase;
}
@media (hover: hover) {
	.button--primary:is(:hover, :focus-visible, :active) {
		transform: scale(0.95);
	}
}
.button--primary:active {
	transform: scale(0.95);
}

p a {
	text-decoration: underline;
	transition: 0.4s ease-out;
	transition-property: opacity;
}
@media (hover: hover) {
	p a:is(:hover, :focus-visible, :active) {
		opacity: 0.7;
	}
}

.opacity-link,
.opacity-links a {
	transition: 0.4s ease-out;
	transition-property: opacity;
}
@media (hover: hover) {
	.opacity-link:is(:hover, :focus-visible, :active),
	.opacity-links a:is(:hover, :focus-visible, :active) {
		opacity: 0.7;
	}
}
.opacity-link:active,
.opacity-links a:active {
	transform: scale(0.99);
}

.underline-link,
.underline-links a {
	transition: 0.4s ease-out;
	transition-property: color;
}
@media (hover: hover) {
	.underline-link:is(:hover, :focus-visible, :active),
	.underline-links a:is(:hover, :focus-visible, :active) {
		color: var(--clr-blue-light);
		text-decoration: underline;
	}
}

.accent-link,
.accent-links a {
	transition: 0.4s ease-out;
	transition-property: color;
}
@media (hover: hover) {
	.accent-link:is(:hover, :focus-visible, :active),
	.accent-links a:is(:hover, :focus-visible, :active) {
		color: var(--clr-accent);
	}
}

@media (hover: hover) {
	.back-to-top:is(:hover, :focus-visible, :active) {
		opacity: 1;
	}
}

.marquee-container {
	display: grid;
	grid-auto-flow: column;
	position: relative;
	overflow: hidden;
	white-space: nowrap;
}
.marquee-container .marquee-grid {
	--marquee-gap: 120px;
	display: grid;
	gap: var(--marquee-gap, 80px);
	padding-right: var(--marquee-gap, 80px);
	grid-auto-flow: column;
	will-change: transform;
	align-items: center;
}
@media screen and (max-width: 768px) {
	.marquee-container .marquee-grid {
		--marquee-gap: 40px;
	}
}
.marquee-container .marquee-grid li .img-wrapper {
	width: 100%;
	height: 100%;
}
.marquee-container .marquee-grid li .img-wrapper img {
	object-fit: contain;
}
.marquee-container .marquee-grid:nth-of-type(even) {
	color: var(--clr-white);
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: var(--clr-blue);
}

.img-wrapper-animation {
	display: flex;
	align-items: center;
}
.img-wrapper-animation img {
	height: 120%;
}

@media screen and (max-width: 768px) {
	.fix-body {
		position: fixed;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}
}

@media screen and (max-width: 480px) {
	.footer {
		text-align: center;
	}
	.footer figure {
		margin-inline: auto;
	}
	.footer .flex {
		flex-direction: column;
	}
	.footer .fit-content {
		margin-inline: auto;
	}
}

.footer-bottom {
	border-top: 1px solid #1f3f65;
}
@media screen and (max-width: 768px) {
	.footer-bottom {
		padding-block-start: 40px;
	}
}

@media screen and (max-width: 1024px) {
	.hero-ice {
		margin-block-end: -100px;
	}
}
@media screen and (min-width: 1024.1px) {
	.hero-ice .h1 {
		white-space: nowrap;
	}
	.hero-ice .h1 span:nth-child(1) {
		text-align: right;
	}
	.hero-ice .h1 span:nth-child(2) {
		margin-right: clamp(0px, 0px + (120 - 0) * (100vw - 375px) / (1680 - 375), 120px);
	}
}
@media screen and (max-width: 1024px) {
	.hero-ice {
		text-align: center;
	}
}
@media screen and (min-width: 1024.1px) {
	.hero-ice .button--primary,
	.hero-ice p {
		align-self: end;
	}
}
.hero-ice .content-hero {
	padding-block-start: clamp(20px, 20px + (270 - 20) * (100vw - 375px) / (1920 - 375), 270px);
	padding-block-end: clamp(330px, 330px + (500 - 330) * (100vw - 375px) / (1920 - 375), 500px);
}
.hero-ice .content-hero figure {
	max-width: clamp(230px, 230px + (530 - 230) * (100vw - 375px) / (1680 - 375), 530px);
}

.benefits-grid {
	max-width: 1140px;
}
.benefits-grid .card {
	position: relative;
	min-height: 400px;
	border-width: 5px;
}
.benefits-grid .card.box-shadow {
	box-shadow: -30px 30px 0px 0px rgba(0, 0, 0, 0.25);
}
.benefits-grid .card:nth-of-type(1) {
	transform: rotate(-8.181deg);
}
@media screen and (min-width: 1024.1px) {
	.benefits-grid .card:nth-of-type(1) {
		transform: rotate(-8.181deg) translateX(50%) translateY(10%);
	}
}
@media screen and (max-width: 768px) {
	.benefits-grid .card:nth-of-type(1) {
		margin-bottom: -120px;
		transform: rotate(8.181deg);
	}
}
.benefits-grid .card:nth-of-type(2) {
	transform: rotate(6.307deg);
}
.benefits-grid .card:nth-of-type(2) figure {
	position: absolute;
	top: 100%;
	left: 0;
	width: 200px;
}
@media screen and (max-width: 1024px) {
	.benefits-grid .card:nth-of-type(2) figure {
		left: 50%;
	}
}
@media screen and (max-width: 768px) {
	.benefits-grid .card:nth-of-type(2) {
		z-index: 1;
	}
}
.benefits-grid .card:nth-of-type(3) {
	transform: rotate(-5.92deg);
}
@media screen and (min-width: 1024.1px) {
	.benefits-grid .card:nth-of-type(3) {
		transform: rotate(-5.92deg) translateY(-20%);
	}
}
@media screen and (max-width: 768px) {
	.benefits-grid .card:nth-of-type(3) {
		grid-row-start: 3;
	}
}
.benefits-grid .card:nth-of-type(4) {
	transform: rotate(9.63deg);
	z-index: -1;
}
.benefits-grid .card:nth-of-type(4) figure {
	position: absolute;
	top: 100%;
	left: 100%;
	width: 200px;
}
@media screen and (max-width: 1024px) {
	.benefits-grid .card:nth-of-type(4) figure {
		left: 50%;
	}
}
@media screen and (min-width: 768.1px) and (max-width: 1024px) {
	.benefits-grid .card:nth-of-type(4) {
		grid-column-start: 2;
	}
}
@media screen and (max-width: 768px) {
	.benefits-grid .card:nth-of-type(4) {
		margin-top: 30px;
		transform: rotate(-9.63deg);
	}
}
.benefits-grid > svg {
	justify-self: end;
}
@media screen and (min-width: 1024.1px) {
	.benefits-grid > svg {
		grid-column: 2/span 2;
		justify-self: center;
		transform: translateX(30%);
		align-self: center;
		margin-block-end: 50px;
	}
}
@media screen and (max-width: 768px) {
	.benefits-grid > svg {
		grid-row-start: 1;
		justify-self: center;
		margin-block-end: 100px;
	}
}

.grid-images-overlay {
	--s: 200px;
	grid-template-rows: var(--s) auto var(--s);
}
.grid-images-overlay figure {
	overflow: visible;
}
.grid-images-overlay figure img {
	filter: drop-shadow(-30px 30px 0px rgba(0, 0, 0, 0.25));
}
@media screen and (min-width: 1024.1px) {
	.grid-images-overlay {
		grid-template-rows: var(--s) auto var(--s);
	}
	.grid-images-overlay figure {
		width: 60%;
	}
	.grid-images-overlay figure:nth-of-type(1) {
		z-index: 1;
		align-self: start;
		justify-self: start;
		transform: rotate(16.096deg);
	}
	.grid-images-overlay figure:nth-of-type(2) {
		grid-row: 2/span 2;
		align-self: end;
		justify-self: end;
	}
}
@media screen and (max-width: 1024px) {
	.grid-images-overlay {
		--s: clamp(300px, 300px + (1000 - 300) * (100vw - 375px) / (1680 - 375), 1000px);
		grid-template-rows: auto auto;
	}
	.grid-images-overlay figure {
		width: 110%;
	}
	.grid-images-overlay figure:nth-of-type(1) {
		margin-inline-start: -5%;
		margin-block-end: -20%;
		z-index: 1;
		transform: rotate(16.096deg);
	}
}

.why-section .sticky-image {
	clip-path: polygon(100% 0, 100% 70%, 0 100%, 0 30%);
}
@media screen and (min-width: 1024.1px) {
	.why-section .sticky-image {
		transform: translateX(clamp(20px, 20px + (140 - 20) * (100vw - 375px) / (1680 - 375), 140px));
	}
}
@media screen and (max-width: 768px) {
	.why-section .sticky-image {
		margin-inline: calc(clamp(20px, 20px + (140 - 20) * (100vw - 375px) / (1680 - 375), 140px) * -1);
	}
}

.sponsors-list {
	--min-item-size: 250px;
}
.sponsors-list li {
	align-content: center;
	padding-inline: 50px;
	padding-block: 32px;
}
@media screen and (max-width: 768px) {
	.sponsors-list li {
		padding-block: 20px;
	}
}
.sponsors-list li figure {
	aspect-ratio: 16/9;
}
@media screen and (max-width: 768px) {
	.sponsors-list li figure {
		max-width: 160px;
	}
}

.image-divider-section figure {
	aspect-ratio: 1680/486;
}
@media screen and (max-width: 768px) {
	.image-divider-section figure {
		aspect-ratio: 375/400;
	}
}

.marquee-overlay {
	max-width: unset;
}
.marquee-overlay figure {
	rotate: -10deg;
	top: 50%;
	right: clamp(20px, 20px + (140 - 20) * (100vw - 375px) / (1680 - 375), 140px);
	max-width: clamp(80px, 80px + (270 - 80) * (100vw - 375px) / (1680 - 375), 270px);
}
