/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
}

/* Sections
     ========================================================================== */
/**
   * Remove the margin in all browsers.
   */
body {
	margin: 0;
}

/**
   * Render the `main` element consistently in IE.
   */
main {
	display: block;
}

/**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
     ========================================================================== */
/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
hr {
	box-sizing: content-box;
	/* 1 */
	height: 0;
	/* 1 */
	overflow: visible;
	/* 2 */
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
pre {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/* Text-level semantics
     ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
	background-color: transparent;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
	border-bottom: none;
	/* 1 */
	text-decoration: underline;
	/* 2 */
	text-decoration: underline dotted;
	/* 2 */
}

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
b,
strong {
	font-weight: bolder;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
code,
kbd,
samp {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/**
   * Add the correct font size in all browsers.
   */
small {
	font-size: 80%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
     ========================================================================== */
/**
   * Remove the border on images inside links in IE 10.
   */
img {
	border-style: none;
}

/* Forms
     ========================================================================== */
/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	/* 1 */
	font-size: 100%;
	/* 1 */
	line-height: 1.15;
	/* 1 */
	margin: 0;
	/* 2 */
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
button,
input {
	/* 1 */
	overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button,
select {
	/* 1 */
	text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
}

/**
   * Remove the inner border and padding in Firefox.
   */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
   * Restore the focus styles unset by the previous rule.
   */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
   * Correct the padding in Firefox.
   */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
legend {
	box-sizing: border-box;
	/* 1 */
	color: inherit;
	/* 2 */
	display: table;
	/* 1 */
	max-width: 100%;
	/* 1 */
	padding: 0;
	/* 3 */
	white-space: normal;
	/* 1 */
}

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
progress {
	vertical-align: baseline;
}

/**
   * Remove the default vertical scrollbar in IE 10+.
   */
textarea {
	overflow: auto;
}

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
[type=checkbox],
[type=radio] {
	box-sizing: border-box;
	/* 1 */
	padding: 0;
	/* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
[type=search] {
	-webkit-appearance: textfield;
	/* 1 */
	outline-offset: -2px;
	/* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	/* 1 */
	font: inherit;
	/* 2 */
}

/* Interactive
     ========================================================================== */
/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
details {
	display: block;
}

/*
   * Add the correct display in all browsers.
   */
summary {
	display: list-item;
}

/* Misc
     ========================================================================== */
/**
   * Add the correct display in IE 10+.
   */
template {
	display: none;
}

/**
   * Add the correct display in IE 10.
   */
[hidden] {
	display: none;
}

html {
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

* {
	max-height: 1000000px;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

ul,
ol,
dl,
p,
h1,
h2,
h3,
h4,
h5,
h6,
address,
form,
table,
blockquote,
applet,
embed,
object,
iframe,
frameset {
	margin: 0 0 18px;
}

blockquote {
	border-left: 4px solid #ddd;
	padding-left: 10px;
	margin-left: 0;
}

table {
	border-collapse: collapse;
}

th,
td {
	border: 1px solid #ddd;
	padding: 3px;
	text-align: left;
	vertical-align: top;
}

th {
	text-align: center;
	vertical-align: middle;
}

ul,
ol {
	padding-left: 20px;
}

ul ul,
ul ol,
ol ul,
ol ol {
	padding-left: 20px;
	margin: 0;
}

ul {
	list-style-type: disc;
}

dl dt {
	float: left;
	clear: left;
	padding-right: 0.3em;
	font-weight: bold;
}

dl dd {
	overflow: hidden;
}

pre {
	max-width: 100%;
	overflow: auto;
}

body {
	color: #000;
	background: #fff;
	font: 14px/1.43 "Inter", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
	min-width: 360px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin: 0;
}

@media (min-width: 768px) {
	body {
		font-size: 18px;
		line-height: 1.33;
	}
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
	display: inline-block;
}

.gm-style img {
	max-width: none;
}

iframe {
	max-width: 100%;
}

.resize-active * {
	transition: none !important;
}

.clearfix:after,
dl:after {
	content: "";
	display: block;
	clear: both;
}

.ellipsis {
	white-space: nowrap;
	/* 1 */
	text-overflow: ellipsis;
	/* 2 */
	overflow: hidden;
}

h1,
.h1 {
	font-size: 37px;
}

h2,
.h2 {
	font-size: 18px;
}

h3,
.h3 {
	font-size: 15px;
}

h4,
.h4 {
	font-size: 14px;
}

h5,
.h5 {
	font-size: 14px;
}

h6,
.h6 {
	font-size: 14px;
}

@media (min-width: 768px) {

	h1,
	.h1 {
		font-size: 44px;
	}

	h2,
	.h2 {
		font-size: 20px;
	}

	h3,
	.h3 {
		font-size: 28px;
	}

	h4,
	.h4 {
		font-size: 20px;
	}

	h5,
	.h5 {
		font-size: 18px;
	}

	h6,
	.h6 {
		font-size: 16px;
	}
}

@media (min-width: 1024px) {

	h1,
	.h1 {
		font-size: 46px;
	}

	h2,
	.h2 {
		font-size: 25px;
	}

	h3,
	.h3 {
		font-size: 28px;
	}

	h4,
	.h4 {
		font-size: 20px;
	}

	h5,
	.h5 {
		font-size: 18px;
	}

	h6,
	.h6 {
		font-size: 16px;
	}
}

@media (min-width: 1200px) {

	h1,
	.h1 {
		font-size: 48px;
	}

	h2,
	.h2 {
		font-size: 30px;
	}

	h3,
	.h3 {
		font-size: 28px;
	}

	h4,
	.h4 {
		font-size: 20px;
	}

	h5,
	.h5 {
		font-size: 18px;
	}

	h6,
	.h6 {
		font-size: 16px;
	}
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.h {
	font-family: "Inter", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
	color: inherit;
	font-weight: bold;
	margin: 0 0 10px;
}

@media (min-width: 768px) {

	h1,
	.h1,
	h2,
	.h2,
	h3,
	.h3,
	h4,
	.h4,
	h5,
	.h5,
	h6,
	.h6,
	.h {
		margin-bottom: 20px;
	}
}

h1,
.h1 {
	margin: 0 0 0.75em;
	text-transform: uppercase;
	font-weight: 900;
	line-height: 1.0540540541;
}

@media (min-width: 768px) {

	h1,
	.h1 {
		margin-bottom: 25px;
		line-height: 1.1458333333;
	}
}

@media (min-width: 1024px) {

	h1,
	.h1 {
		margin-bottom: 38px;
	}
}

h2,
.h2 {
	margin: 0 0 1.4em;
	text-transform: uppercase;
	font-weight: 600;
	line-height: 1.2222222222;
}

@media (min-width: 768px) {

	h2,
	.h2 {
		margin-bottom: 25px;
		line-height: 1.2666666667;
	}
}

@media (min-width: 1024px) {

	h2,
	.h2 {
		margin-bottom: 37px;
	}
}

h2 b,
.h2 b {
	font-weight: 900;
}

b {
	font-weight: 700;
}

mark {
	background: none;
	color: #E31E2D;
}

p {
	margin: 0 0 20px;
}

@media (min-width: 1024px) {
	p {
		margin-bottom: 24px;
	}
}

a {
	color: #1B365D;
	text-decoration: none;
}

a:hover,
a:focus {
	color: #000;
	text-decoration: none;
}

a[href*="mailto:"] {
	word-wrap: break-word;
}

form,
fieldset {
	margin: 0;
	padding: 0;
	border-style: none;
}

select,
input[type=text],
input[type=tel],
input[type=email],
input[type=search],
input[type=password],
input[type=url],
textarea {
	display: block;
	width: 100%;
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	padding: 7px 20px;
	font-size: 15px;
	line-height: 20px;
	font-family: "Inter", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
	box-sizing: border-box;
	border: 2px solid #D9D9D9;
	border-radius: 5px;
}

@media (min-width: 768px) {

	select,
	input[type=text],
	input[type=tel],
	input[type=email],
	input[type=search],
	input[type=password],
	input[type=url],
	textarea {
		padding: 7px 13px;
	}
}

select:focus,
input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=search]:focus,
input[type=password]:focus,
input[type=url]:focus,
textarea:focus {
	outline: none;
	border-color: #6BBBAE;
}

select::-webkit-input-placeholder,
input[type=text]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=search]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=url]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #9C9C9C;
}

select::-moz-placeholder,
input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=search]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=url]::-moz-placeholder,
textarea::-moz-placeholder {
	opacity: 1;
	color: #9C9C9C;
}

select:-moz-placeholder,
input[type=text]:-moz-placeholder,
input[type=tel]:-moz-placeholder,
input[type=email]:-moz-placeholder,
input[type=search]:-moz-placeholder,
input[type=password]:-moz-placeholder,
input[type=url]:-moz-placeholder,
textarea:-moz-placeholder {
	color: #9C9C9C;
}

select:-ms-input-placeholder,
input[type=text]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #9C9C9C;
}

select.placeholder,
input[type=text].placeholder,
input[type=tel].placeholder,
input[type=email].placeholder,
input[type=search].placeholder,
input[type=password].placeholder,
input[type=url].placeholder,
textarea.placeholder {
	color: #9C9C9C;
}

select.input-error,
input[type=text].input-error,
input[type=tel].input-error,
input[type=email].input-error,
input[type=search].input-error,
input[type=password].input-error,
input[type=url].input-error,
textarea.input-error {
	border-color: #E31E2D;
}

select {
	appearance: none;
	padding-right: 30px;
	background-image: url("../images/arrow.png");
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: calc(100% - 8px) 50%;
	background-size: 11px 20px;
}

@media (min-width: 1024px) {
	select {
		background-position: calc(100% - 17px) 50%;
	}
}

input[type=search]::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

textarea {
	resize: vertical;
	vertical-align: top;
	overflow: auto;
	height: 169px;
	min-height: 169px;
	resize: none;
}

button,
input[type=button],
input[type=reset],
input[type=file],
input[type=submit] {
	transition: background 0.5s ease-in-out;
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	height: 38px;
	padding: 10px 20px;
	font-size: 15px;
	line-height: 24px;
	color: #fff;
	background: #000;
	border-width: 0;
	border-style: solid;
	border-color: #000;
	border-radius: 5px;
	cursor: pointer;
	transition: all 0.5s;
}

button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=file]:hover,
input[type=submit]:hover {
	background: #fff;
	color: #000;
}

noscript {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: 0;
	font-size: 14px;
	color: #f8f9fa;
	background: #6BBBAE;
	display: block;
	padding: 5px 0;
	text-align: center;
	z-index: 99999;
}

.accessibility {
	position: absolute;
	left: -200vw;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.accessibility:focus {
	position: static;
	width: auto;
	height: auto;
}

.visually-hidden {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

[id=wrapper] {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100vh;
	overflow: hidden;
}

[id=main] {
	flex-grow: 1;
}

.container {
	width: 100%;
	max-width: 1292px;
	margin: 0 auto;
}

.social-networks {
	margin: 0 0 46px;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 44px;
}

@media (min-width: 768px) {
	.social-networks {
		margin-bottom: 30px;
	}
}

@media (min-width: 1024px) {
	.social-networks {
		margin-bottom: 18px;
		gap: 28px;
	}
}

.social-networks a {
	display: block;
	transition: opacity 0.5s;
}

@media (min-width: 768px) {
	.social-networks a {
		height: 30px;
	}
}

.social-networks a:hover {
	opacity: 0.7;
}

.social-networks a svg {
	display: block;
	height: 100%;
	width: auto;
}

.address {
	font-style: normal;
	margin: 0;
	padding: 0;
}

.copyright {
	display: block;
	margin: 0 0 20px;
}

.menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu>li {
	display: inline;
}

.menu>li:not(:first-child):before {
	content: "|";
	margin: 0 5px;
}

@media (min-width: 1024px) {
	.menu>li:not(:first-child):before {
		margin: 0 2px;
	}
}

.menu a {
	text-decoration: underline;
	color: #FFFFFF;
}

.menu a:hover {
	text-decoration: none;
}

.section-content {
	position: relative;
	padding: 0 20px;
}

@media (min-width: 768px) {
	.section-content {
		padding-bottom: 50px;
	}
}

@media (min-width: 1024px) {
	.section-content {
		padding-bottom: 36px;
	}
}

@media (min-width: 768px) {
	.twocolumns {
		display: flex;
		justify-content: space-between;
	}
}

@media (min-width: 768px) {
	.twocolumns-col {
		width: 48%;
	}
}

.twocolumns-col:first-child {
	padding-top: 23px;
}

@media (min-width: 768px) {
	.twocolumns-col:last-child {
		width: 47%;
	}
}

@media (min-width: 1200px) {
	.twocolumns-col:last-child {
		width: 41.3%;
	}
}

footer {
	position: relative;
	padding: 84px 16px;
	text-align: center;
	font-size: 12px;
	line-height: 20px;
	color: #ffffff;
}

@media (min-width: 768px) {
	footer {
		padding: 84px 94px;
	}
}

.footer--light {
	background-color: #F3F3F3;
	color: #000000;
}

.footer--light a {
	color: #000000;
}

.footer--thank-you {
	padding: 130px 16px 84px;
}

@media (min-width: 768px) {
	.footer--thank-you {
		padding: 84px 94px;
	}
}


.footer-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
	object-fit: cover;
	z-index: -1;
}

.footer-content {
	padding: 26px 0 38px;
	font-size: 18px;
	line-height: 1.4444444444;
}

@media (min-width: 1024px) {
	.footer-content {
		font-size: 24px;
		line-height: 30px;
		padding-bottom: 24px;
	}
}

.follow-us {
	position: relative;
	bottom: 0;
	width: 100%;
	left: 50%;
	transform: translateX(-50%);
	padding: 9px 10px;
	text-align: center;
	background: #E31E2D;
	text-transform: uppercase;
	font-weight: 800;
	z-index: 99;
}

@media (min-width: 768px) {
	.follow-us {
		width: fit-content;
		position: relative;
		left: 0;
		transform: none;
		display: inline-block;
		vertical-align: text-top;
		text-align: left;
		padding: 9px 26px;
		min-height: 90px;
	}
}

.follow-us-title,
.follow-us-title a {
	display: inline;
	font-size: 40px;
	line-height: 48px;
	display: block;
	color: #FFFFFF;
}

.follow-us-text,
.follow-us-text a {
	color: #FFFFFF;
	font-size: 16px;
	line-height: 19px;
}

@media (min-width: 768px) {
	.follow-us-text {
		font-size: 18px;
	}
}

@media (min-width: 768px) {
	.follow-us:after {
		position: absolute;
		top: 0;
		left: 100%;
		width: 0;
		height: 0;
		content: "";
		border-style: solid;
		border-width: 90px 44px 0 0;
		border-color: #E31E2D transparent transparent transparent;
		transform: rotate(0deg);
	}
}

.mobile-hide {
	display: none;
}

.desktop-hide {
	display: block;
}

@media (min-width: 768px) {
	.mobile-hide {
		display: block;
	}

	.desktop-hide {
		display: none;
	}
}

.section-hero img {
	width: 100%;
}

.desktop-hero {
	width: 100%;
	display: none;
}

@media (min-width: 768px) {
	.desktop-hero {
		display: block;
	}
}

.mobile-hero {
	width: 100%;
}

@media (min-width: 768px) {
	.mobile-hero {
		display: none;
	}
}


.twocolumns .twocolumns-col {
	position: relative;
}

.flag {
	position: absolute;
	width: 100%;
	left: -20px;
	top: 20px;
}

.flag::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 6rem;
	height: 3rem;
	background: #76232F;
	transform-origin: bottom left;
	transform: rotate(45deg);
	z-index: -1;
}

.flag img {
	min-height: 80px;
}

.flag-copy {
	position: absolute;
	top: 0;
	display: flex;
	height: 100%;
	padding: 0 60px 0 32px;
	flex-direction: column;
	justify-content: center;
}

.flag-copy__main {
	margin-bottom: 4px;
	font-size: 18px;
	line-height: 1;
	font-weight: 800;
	text-transform: uppercase;
	color: #FFFFFF;
}

@media (min-width: 425px) {
	.flag-copy__main {
		font-size: 24px;
	}
}

@media (min-width: 768px) {
	.flag-copy__main {
		font-size: 20px;
	}
}

@media (min-width: 1024px) {
	.flag-copy__main {
		font-size: 24px;
	}
}

@media (min-width: 1440px) {
	.flag-copy__main {
		font-size: 28px;
	}
}

.flag-copy__subtitle {
	margin: 0;
	font-size: 14px;
	line-height: 1;
	font-weight: 600;
	text-transform: uppercase;
	color: #FFFFFF;
}

@media (min-width: 425px) {
	.flag-copy__subtitle {
		font-size: 16px;
	}
}

@media (min-width: 768px) {
	.flag-copy__subtitle {
		font-size: 16px;
	}
}

@media (min-width: 1024px) {
	.flag-copy__subtitle {
		font-size: 18px;
	}
}

@media (min-width: 1440px) {
	.flag-copy__subtitle {
		font-size: 20px;
	}
}

.text-heading {
	text-transform: none;
}

.text-subheading {
	text-transform: uppercase;
	font-size: 28px;
	font-weight: bold;
}

.body-copy {
	font-size: 16px;
}


@media (min-width: 768px) {
	.body-copy {
		font-size: 18px;
	}
}

.partnership-logo {
	display: flex;
	flex-direction: row;
	gap: 6px;
	align-items: center;
	margin-bottom: 16px;
}

.partnership-logo.partnership-logo--hajoca img {
	max-width: 120px;
}

.partnership-logo.partnership-logo--hajoca span {
	color: #000000;
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.partnership-logo.partnership-logo--hajoca span {
		font-size: 26px;
	}
}

.calendar-detail {
	display: flex;
	flex-direction: row;
	align-items: center;
	margin: 40px 0;
	gap: 16px;
}

@media (min-width: 768px) {
	.calendar-detail {
		align-items: center;
		gap: 40px;
	}
}

.calendar-detail__content {
	flex-basis: 80%;
}

.calendar-detail__content--smaller {
	flex-basis: 60%;
}

.calendar-detail__copy {
	font-size: 16px;
	margin: 0;
}

@media (min-width: 768px) {
	.calendar-detail__copy {
		font-size: 20px;
	}
}

/* =============================================== Thank you page specific styles =============================================== */
/* ------------------------------------------------------------------------------------------------------------------------------ */

.thank-you-box {
	position: relative;
	background-size: cover;
	color: #000000;
	min-height: 505px;
	display: flex;
	padding: 49px 0 40px;
	background-size: cover;
	background-position: 50% 0;
}

@media (min-width: 1024px) {
	.thank-you-box {
		min-height: 750px;
		padding-bottom: 63px;
	}
}

.thank-you-box--short {
	min-height: 300px;
}

@media (min-width: 768px) {
	.thank-you-box-text {
		margin-bottom: 40px;
	}
}

@media (min-width: 1024px) {
	.thank-you-box-text {
		margin-bottom: 0;
	}
}

.thank-you-box-text h1 {
	color: #000000;
}

.thank-you-box-text h2 {
	color: #000000;
}

.thank-you-box .container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	max-width: 1400px;
}

.thank-you-box .logo {
	width: 350px;
	margin: 0 auto 40px;
}

@media (min-width: 768px) {
	.thank-you-box .logo {
		width: 400px;
	}
}

@media (min-width: 1024px) {
	.thank-you-box .logo {
		width: 500px;
	}
}

@media (min-width: 1200px) {
	.thank-you-box .logo {
		margin-bottom: 20px;
		position: relative;
		width: 600px;
	}
}

.thank-you-box h1 {
	font-size: 36px;
}

@media (min-width: 768px) {
	.thank-you-box h1 {
		font-size: 40px;
	}
}

@media (min-width: 1024px) {
	.thank-you-box h1 {
		margin-bottom: 24px;
		font-size: 64px;
	}
}

.thank-you-box h2 {
	font-size: 24px;
	line-height: 30px;
	padding: 0 10px;
	font-weight: 900;
}

@media (min-width: 768px) {
	.thank-you-box h2 {
		font-size: 30px;
	}
}

@media (min-width: 1024px) {
	.thank-you-box h2 {
		padding: 0 6%;
		font-size: 48px;
		line-height: 55px;
	}
}

.thank-you-partner-logo {
	max-width: 100px;
}

.follow-us-wrap {
	height: 0px;
}

@media (min-width: 768px) {
	.follow-us-wrap {
		padding: 0 44px 0 0;
	}
}

.follow-us-wrap .follow-us {
	display: flex;
	flex-direction: column;
	align-items: center;
}

@media (min-width: 768px) {
	.follow-us-wrap .follow-us {
		flex-direction: row;
		margin: 0 auto;
		max-width: 600px;
		transform: translateY(-50%);
		display: flex;
		align-items: center;
		gap: 15px;
		justify-content: center;
	}
}

@media (min-width: 1024px) {
	.follow-us-wrap .follow-us {
		max-width: 800px;
	}
}

@media (min-width: 768px) {
	.follow-us-wrap .follow-us>* {
		display: inline;
	}
}

.follow-us-wrap .follow-us-title {
	font-size: 26px;
}

.follow-us-wrap .follow-us-links {
	color: #FFFFFF;
	font-weight: normal;
	font-style: italic
}

.follow-us-wrap .follow-us-links a {
	display: inline;
	font-size: 20px;
	color: #FFFFFF;
	font-weight: bold;
}

.backround-space {
	position: relative;
	height: 400px;
}

.background-space__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}

.background-space__background img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ================================================ Rheem Next Wave specific styles ============================================= */
/* ------------------------------------------------------------------------------------------------------------------------------ */

.next-wave h1, .next-wave h2, .next-wave h3, .next-wave h4, .next-wave h5, .next-wave h6, .next-wave p, .next-wave span {
	font-family: "Inter", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
}

@media (min-width: 768px) {
	.next-wave .body-copy {
		font-size: 20px;
	}
}

.next-wave .text-heading {
	margin-bottom: 24px;
}

.next-wave .text-subheading {
	font-weight: 800;
	font-size: 24px;
	margin: 0;
}

@media (min-width: 768px) {
	.next-wave .text-subheading {
		font-size: 39px;
	}
}

.next-wave .text-subsubheading {
	font-size: 18px;
	color: #E31E2D;
	margin: 0 0 30px 0;
}

@media (min-width: 768px) {
	.next-wave .text-subsubheading {
		font-size: 28px;
	}
}

.next-wave .calendar-detail {
	margin-top: 20px;
}

.next-wave-thank-you footer {
	padding-top: 150px;
}

/* =============================================== Richmond + Menards specific styles =========================================== */
/* ------------------------------------------------------------------------------------------------------------------------------ */

.richmond mark {
	color: #003DA5;
}

.richmond .flag::after {
	background: #00050D;
}

.richmond body,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.h {
	font-family: "Roboto Condensed", "Roboto", "Arial", "Helvetica", sans-serif;
}

.richmond .flag-copy__main {
	font-family: "Roboto Condensed", "Roboto", "Arial", "Helvetica", sans-serif;
	font-size: 30px;
}

.richmond .text-heading {
	margin-bottom: 12px;
}

.richmond .calendar-detail__copy {
	text-transform: uppercase;
	margin-bottom: 20px;
	line-height: 1;
}

.richmond .calendar-detail__copy mark {
	color: #E4002B;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.richmond .calendar-detail__copy mark {
		font-size: 36px;
	}
}

.richmond .thank-you-box-text h1 {
	font-size: 58px;
	font-weight: 900;
	color: #003DA5;
	margin-bottom: 16px;
}

@media (min-width: 768px) {
	.richmond .thank-you-box-text h1 {
		font-size: 128px;
	}
}

.richmond .thank-you-box-text h2 {
	font-size: 20px;
	font-weight: 300;
	text-transform: none;
}

@media (min-width: 768px) {
	.richmond .thank-you-box-text h2 {
		font-size: 40px;
	}
}

.richmond .follow-us {
	background-color: #003DA5;
}

.richmond .follow-us::after {
	border-color: #003DA5 transparent transparent transparent;
}

/* =============================================== Contact Form 7 specific styles =============================================== */
/* ------------------------------------------------------------------------------------------------------------------------------ */
.form {
	padding: 120px 16px 60px;
	background: #fff;
	box-shadow: 0 0 50px rgba(0, 0, 0, 0.15);
	border-radius: 10px;
	margin-bottom: 24px;
}

.form--no-flag {
	padding: 60px 16px !important;
}

@media (min-width: 425px) {
	.form {
		padding: 150px 16px 60px;
	}

	.form--no-flag {
		padding: 60px 32px !important;
	}
}

@media (min-width: 768px) {
	.form {
		margin: 0;
	}
}

@media (min-width: 1024px) {
	.form {
		padding: 150px 30px 66px;
	}
}

@media (min-width: 1440px) {
	.form {
		padding: 160px 30px 66px;
	}
}

.wpcf7 label {
	display: inline-block;
	vertical-align: text-top;
	margin-bottom: 2px;
	font-weight: 600;
	font-size: 15px;
	line-height: 19px;
	color: #000;
}

.wpcf7 form .cf7-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 8px;
	align-items: start;
}

.wpcf7 form .cf7-span-2 {
	grid-column: 1 / -1;
}

.wpcf7 form .cf7-field,
.wpcf7 form .wpcf7-form-control-wrap {
	min-width: 0;
	display: block;
}

.wpcf7-form-control-wrap {
	margin-bottom: 15px;
}

.wpcf7 form .cf7-field label {
	display: block;
	font-weight: 600;
}

.wpcf7 .label-text {
	display: inline-block;
	overflow-x: hidden;
}

.wpcf7 form .req {
	display: inline-block;
	color: #E31E2D;
	margin-left: 4px;
}

/* Inputs */
.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form input[type="tel"],
.wpcf7 form select,
.wpcf7 form textarea {
	width: 100%;
	padding: 12px 14px;
	border: 2px solid #D9D9D9;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, .02) inset;
	font-size: 16px;
	line-height: 1.3;
}

.wpcf7 form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 2.25rem;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAxMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuNSAwLjgxMzM1NEwxMC4yNjMxIDkuMDYzMzVIMC43MzY4Nkw1LjUgMC44MTMzNTRaIiBmaWxsPSJibGFjayIvPgo8cGF0aCBkPSJNNS41IDIwLjgxMzRMMC43MzY4NiAxMi41NjM0TDEwLjI2MzEgMTIuNTYzNEw1LjUgMjAuODEzNFoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=");
	background-repeat: no-repeat;
	background-position: right .75rem center;
	background-size: .8rem auto;
	background-clip: padding-box;
	background-repeat: no-repeat;
}

.wpcf7 form input:focus-within,
.wpcf7 form select:focus,
.wpcf7 form textarea:focus {
	outline: none;
	border-color: #999;
	box-shadow: 0 0 0 3px rgba(0, 0, 0, .06);
}

.wpcf7 form .cf7-note .wpcf7-list-item {
	margin: 0;
}

.wpcf7 form .cf7-note a {
	text-decoration: underline;
}

.wpcf7 form .cf7-submit {
	display: flex;
	justify-content: center;
	margin-top: 16px;
}

.wpcf7 form .cf7-submit input[type="submit"] {
	min-width: 200px;
	height: auto;
	padding: 13px 0;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	background: #000000;
	border: 0;
	border-radius: 10px;
	cursor: pointer;
}

.wpcf7 form .cf7-submit input[type="submit"]:hover {
	filter: brightness(1.05);
}

.wpcf7 form .cf7-submit input[type="submit"]:active {
	transform: translateY(1px);
}

.wpcf7 form .wpcf7-not-valid-tip {
	color: #E31E2D;
	margin-top: 6px;
	font-size: 12px;
}

.wpcf7 .screen-reader-response {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	color: #E31E2D;
}

@media (max-width: 680px) {
	.wpcf7 form .cf7-grid {
		grid-template-columns: 1fr;
	}
}

.wpcf7 .cf7-note br {
	display: none;
}

.wpcf7 form .cf7-note label {
	display: grid;
	grid-template-columns: 22px 1fr;
	column-gap: 12px;
}

.wpcf7 form .cf7-note--ended .cf7-consent-detail,
.wpcf7 .cf7-communication-detail {
	padding-left: 0px !important;
}

.wpcf7 .cf7-consent-detail,
.wpcf7 .cf7-communication-detail {
	display: block;
	padding-left: 34px;
}

.wpcf7 .cf7-communication-detail br {
	display: unset;
}

.wpcf7 .cf7-consent-detail a,
.wpcf7 .cf7-communication-detail a {
	color: #E31E2D;
}

.wpcf7 form .cf7-note--ended .cf7-consent-detail a,
.wpcf7 .cf7-communication-detail a {
	color: #000000 !important;
}

.wpcf7 .wpcf7-list-item-label,
.wpcf7 .cf7-note span {
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 16px;
	/* 160% */
	margin: 0;
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label {
	color: #E31E2D;
	font-weight: bold;
	font-size: 16px;
	line-height: 16px;
	/* 160% */
}

.wpcf7 form .cf7-note--ended .wpcf7-acceptance .wpcf7-list-item-label {
	color: #000000;
}

.wpcf7 input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	margin: 0;
	color: #E31E2D;
	width: 22px;
	height: 22px;
	border: 2px solid #D9D9D9;
	border-radius: 5px;
	display: inline-grid;
	place-content: center;
}

.wpcf7 input[type="checkbox"]::before {
	content: "";
	width: 12px;
	height: 12px;
	transform: scale(0);
	box-shadow: inset 1em 1em #E31E2D;
	transform-origin: bottom left;
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.wpcf7 input[type="checkbox"]:checked::before {
	transform: scale(1);
}

.wpcf7 .wpcf7-checkbox label {
	cursor: pointer;
}

.wpcf7 div[data-id="other-job-title"][style]:not([style*="display: none"]) {
	display: block;
}

.wpcf7 .cf7-field p {
	margin-bottom: 0;
}

.wpcf7 .cf7-consent-row {
	margin-bottom: 16px;
}

.wpcf7 div[data-id="specify-trade"],
.wpcf7 div[data-id="specify-tradeshow"],
.wpcf7 div[data-id="specify-social"],
.wpcf7 div[data-id="specify-other"] {
	display: none;
	grid-column: 1 / -1;
}

/* Acoustic ENDED.php form styling */
@media (min-width: 768px) {
	form.fc--form .row {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}
}

form.fc--form .row-col {
	margin-bottom: 22px;
}

form.fc--form .row-col:only-child {
	width: 100%;
}

@media (min-width: 768px) {
	form.fc--form .row-col {
		width: 49%;
		margin-bottom: 29px;
	}
}

form .fc--form-controls-wrapper {
	align-items: flex-start;
	padding: 16px;
}

@media (min-width: 768px) {
	form .fc--form-controls-wrapper {
		padding: 16px 0;
		justify-content: flex-start;
	}
}

form .fc--form-controls-wrapper .btn-primary {
	min-width: 200px;
	color: #fff;
	background: #E31E2D;
	border-color: #E31E2D;
	font-size: 16px;
	font-weight: bold;
}

/* =============================================== Dynamics Form specific styles =============================================== */
/* ------------------------------------------------------------------------------------------------------------------------------ */

.form .onFormSubmittedFeedback {
	width: 100% !important;
}

.form .textFormFieldBlock, .form .phoneFormFieldBlock {
	padding: 0px 3px !important;
	gap: 6px !important;
}

.form .columnContainer {
	flex: 1 1 50% !important;
}

.form .columns-equal-class {
	gap: 20px !important;
}

.form .textFormFieldBlock {
	margin-bottom: 20px !important;
}

.form .consentBlock span {
	color: #E4002B !important;
}

.dynamics-form,
.dynamics-form * {
	box-sizing: border-box;
}

.dynamics-form .marketingForm {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	font-family: inherit;
	color: #000;
	background: #fff !important;
}

/* Reset Dynamics generated layout wrapper */
.dynamics-form .marketingForm [data-layout="true"] {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	background: transparent !important;
}

/* This specific export has a first row of hidden source/lead fields */
.dynamics-form .marketingForm [data-layout="true"] > .wrap-section:first-child {
	display: none !important;
}

/* Turn Dynamics rows into a CF7-like 2-column grid */
.dynamics-form .marketingForm [data-section="true"].wrap-section {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 8px;
	row-gap: 0;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.dynamics-form .marketingForm .columnContainer {
	width: auto !important;
	min-width: 0 !important;
	flex: initial !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	display: block !important;
}

.dynamics-form .marketingForm .columnContainer[data-container-width="100"],
.dynamics-form .marketingForm .columnContainer[data-container-width="100.00"] {
	grid-column: 1 / -1;
}

/* Field spacing */
.dynamics-form .marketingForm .textFormFieldBlock,
.dynamics-form .marketingForm .lookupFormFieldBlock,
.dynamics-form .marketingForm .optionSetFormFieldBlock,
.dynamics-form .marketingForm .phoneFormFieldBlock,
.dynamics-form .marketingForm .twoOptionFormFieldBlock,
.dynamics-form .marketingForm .multiOptionSetFormFieldBlock,
.dynamics-form .marketingForm .consentBlock {
	min-width: 0;
	margin-bottom: 15px !important;
}

.dynamics-form .marketingForm .multiOptionSetFormFieldBlock, 
.dynamics-form .marketingForm .optionSetFormFieldBlock,
.dynamics-form .marketingForm .twoOptionFormFieldBlock {
	padding: 0 !important;
}

/* Labels */
.dynamics-form .marketingForm .textFormFieldBlock > label,
.dynamics-form .marketingForm .lookupFormFieldBlock > label,
.dynamics-form .marketingForm .optionSetFormFieldBlock > label,
.dynamics-form .marketingForm .phoneFormFieldBlock > label,
.dynamics-form .marketingForm .twoOptionFormFieldBlock > .block-label,
.dynamics-form .marketingForm .multiOptionSetFormFieldBlock > .block-label {
	display: inline-block !important;
	vertical-align: text-top;
	margin-bottom: 2px !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	line-height: 19px !important;
	color: #000 !important;
}

.dynamics-form .marketingForm .textFormFieldBlock > label > span,
.dynamics-form .marketingForm .lookupFormFieldBlock > label > span,
.dynamics-form .marketingForm .optionSetFormFieldBlock > label > span,
.dynamics-form .marketingForm .phoneFormFieldBlock > label > span,
.dynamics-form .marketingForm .multiOptionSetFormFieldBlock > .block-label > span {
	font: inherit !important;
	color: inherit !important;
}

/* Required asterisks */
.dynamics-form .marketingForm .textFormFieldBlock[data-required="required"] > label::after,
.dynamics-form .marketingForm .lookupFormFieldBlock[data-required="required"] > label::after,
.dynamics-form .marketingForm .optionSetFormFieldBlock[data-required="required"] > label::after,
.dynamics-form .marketingForm .phoneFormFieldBlock[data-required="required"] > label::after,
.dynamics-form .marketingForm .twoOptionFormFieldBlock[data-required="required"] > .block-label::after,
.dynamics-form .marketingForm .multiOptionSetFormFieldBlock[data-required="required"] > .block-label::after {
	content: "*";
	display: inline-block;
	color: #E31E2D;
	margin-left: 4px;
}

/* Inputs */
.dynamics-form .marketingForm input[type="text"],
.dynamics-form .marketingForm input[type="email"],
.dynamics-form .marketingForm input[type="tel"],
.dynamics-form .marketingForm input[type="number"],
.dynamics-form .marketingForm select,
.dynamics-form .marketingForm textarea {
	width: 100% !important;
	padding: 12px 14px !important;
	border: 2px solid #D9D9D9 !important;
	border-radius: 10px !important;
	background-color: #fff !important;
	box-shadow: 0 1px 0 rgba(0, 0, 0, .02) inset !important;
	font-size: 16px !important;
	line-height: 1.3 !important;
	color: #000 !important;
	font-family: inherit !important;
}

.dynamics-form .marketingForm textarea {
	min-height: 120px;
	resize: vertical;
}

.dynamics-form .marketingForm input::placeholder,
.dynamics-form .marketingForm textarea::placeholder {
	color: #999;
	opacity: 1;
}

/* Select arrow */
.dynamics-form .marketingForm select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 2.25rem !important;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAxMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0d3dudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUuNSAwLjgxMzM1NEwxMC4yNjMxIDkuMDYzMzVIMC43MzY4Nkw1LjUgMC44MTMzNTRaIiBmaWxsPSJibGFjayIvPgo8cGF0aCBkPSJNNS41IDIwLjgxMzRMMC43MzY4NiAxMi41NjM0TDEwLjI2MzEgMTIuNTYzNEw1LjUgMjAuODEzNFoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=") !important;
	background-repeat: no-repeat !important;
	background-position: right .75rem center !important;
	background-size: .8rem auto !important;
	background-clip: padding-box !important;
}

/* Focus */
.dynamics-form .marketingForm input:focus,
.dynamics-form .marketingForm select:focus,
.dynamics-form .marketingForm textarea:focus {
	outline: none !important;
	border-color: #999 !important;
	box-shadow: 0 0 0 3px rgba(0, 0, 0, .06) !important;
}

/* Dynamics phone country-code wrapper */
.dynamics-form .marketingForm .phoneCountryCode {
	display: flex !important;
	align-items: center;
	width: 100%;
	border: 2px solid #D9D9D9 !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 1px 0 rgba(0, 0, 0, .02) inset !important;
}

.dynamics-form .marketingForm .phoneCountryCode:focus-within {
	border-color: #999 !important;
	box-shadow: 0 0 0 3px rgba(0, 0, 0, .06) !important;
}

.dynamics-form .marketingForm .phoneCountryCodeLabel {
	flex: 0 0 auto;
	padding-left: 14px;
	font-size: 16px;
	line-height: 1.3;
	color: #000;
}

.dynamics-form .marketingForm .phoneCountryCode input[type="tel"] {
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0 10px 10px 0 !important;
	padding-left: 8px !important;
}

.dynamics-form .marketingForm .phoneCountryCode input[type="tel"]:focus {
	box-shadow: none !important;
}

/* Checkbox/radio groups */
.dynamics-form .marketingForm fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.dynamics-form .marketingForm .radiobuttons,
.dynamics-form .marketingForm .multiOptionSetFormFieldBlock fieldset {
	display: grid;
	gap: 8px;
	margin-top: 6px;
}

.dynamics-form .marketingForm .radiobuttons > div,
.dynamics-form .marketingForm .multiOptionSetFormFieldBlock fieldset > div {
	display: flex;
	align-items: center;
	gap: 10px;
}

.dynamics-form .marketingForm .radiobuttons label,
.dynamics-form .marketingForm .multiOptionSetFormFieldBlock fieldset label {
	margin: 0;
	font-size: 14px;
	line-height: 18px;
	font-weight: 400;
	color: #000;
}

/* Custom checkbox/radio visuals */
.dynamics-form .marketingForm input[type="checkbox"],
.dynamics-form .marketingForm input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	margin: 0;
	color: #E31E2D;
	width: 22px;
	height: 22px;
	border: 2px solid #D9D9D9;
	display: inline-grid;
	place-content: center;
	flex: 0 0 22px;
}

.dynamics-form .marketingForm input[type="checkbox"] {
	border-radius: 5px;
}

.dynamics-form .marketingForm input[type="radio"] {
	border-radius: 50%;
}

.dynamics-form .marketingForm input[type="checkbox"]::before {
	content: "";
	width: 12px;
	height: 12px;
	transform: scale(0);
	box-shadow: inset 1em 1em #E31E2D;
	transform-origin: bottom left;
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.dynamics-form .marketingForm input[type="radio"]::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	transform: scale(0);
	box-shadow: inset 1em 1em #E31E2D;
}

.dynamics-form .marketingForm input[type="checkbox"]:checked::before,
.dynamics-form .marketingForm input[type="radio"]:checked::before {
	transform: scale(1);
}

/* Terms / consent rows */
.dynamics-form .marketingForm .consentBlock {
	padding: 0 !important;
}

.dynamics-form .marketingForm .twooption_checkbox > div,
.dynamics-form .marketingForm .consentBlock > div {
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr);
	column-gap: 12px;
	align-items: start;
}

.dynamics-form .marketingForm .twooption_checkbox label,
.dynamics-form .marketingForm .consentBlock label {
	display: block !important;
	margin: 0 !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	color: #000 !important;
	background: transparent !important;
}

.dynamics-form .marketingForm .twooption_checkbox label span,
.dynamics-form .marketingForm .consentBlock label span {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	color: inherit !important;
	background: transparent !important;
	border: none !important;
	display: inline !important;
}

.dynamics-form .marketingForm .twooption_checkbox label > span > span:first-child {
	display: inline-block;
	color: #E31E2D !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	line-height: 16px !important;
	margin-bottom: 4px;
}

.dynamics-form .marketingForm .twooption_checkbox a,
.dynamics-form .marketingForm .consentBlock a {
	color: #E31E2D !important;
	text-decoration: underline !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	background: transparent !important;
	border: none !important;
}

/* Submit */
.dynamics-form .marketingForm .submitButtonWrapper {
	display: flex !important;
	justify-content: center;
	width: 100% !important;
	margin: 16px 0 0 !important;
	text-align: center !important;
}

.dynamics-form .marketingForm .submitButton {
	min-width: 200px !important;
	width: auto !important;
	height: auto !important;
	padding: 13px 32px !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	color: #fff !important;
	background: #000 !important;
	border: 0 !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	font-family: inherit !important;
}

.dynamics-form .marketingForm .submitButton span {
	font: inherit !important;
	color: inherit !important;
}

.dynamics-form .marketingForm .submitButton:hover {
	filter: brightness(1.05);
}

.dynamics-form .marketingForm .submitButton:active {
	transform: translateY(1px);
}

/* Remove the Dynamics asterisk from the end of the full label */
.marketingForm
.twoOptionFormFieldBlock[data-targetproperty="donotpostalmail"]
.twooption_checkbox label::after {
    content: none !important;
    display: none !important;
}

/* Add the asterisk directly after the Terms and Conditions heading */
.marketingForm
.twoOptionFormFieldBlock[data-targetproperty="donotpostalmail"]
.twooption_checkbox label > span[data-teams="true"] > span:first-child::after {
    content: " *";
    display: inline;
    width: auto;
    line-height: inherit;
    color: rgb(195, 52, 0);
}

.textFormFieldBlock, 
.dateTimeFormFieldBlock, 
.twoOptionFormFieldBlock, 
.optionSetFormFieldBlock, 
.multiOptionSetFormFieldBlock, 
.lookupFormFieldBlock {
	gap: 6px !important;
}

/* Mobile */
@media (max-width: 680px) {
	.dynamics-form .marketingForm [data-section="true"].wrap-section {
		grid-template-columns: 1fr;
	}

	.dynamics-form .marketingForm .columnContainer {
		grid-column: 1 / -1;
	}
}