.uppercase {
	text-transform: uppercase;
}

section.section.application-section {
	padding-top: clamp(100px, 10vw, 280px);
	padding-bottom: clamp(80px, 10vw, 280px);
}

.application-section {
	min-height: 100vh;
	position: relative;
	overflow: hidden;
}

.application-section .step-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.application-section .step-background.active {
	opacity: 1;
}

@media screen and (min-width: 750px) {
	section.section.application-section {
		padding-left: 10%;
		padding-right: 10%;
	}
}

@media screen and (min-width: 1024px) {
	section.section.application-section {
		padding-left: 15%;
		padding-right: 15%;
	}
}

.application-section .floating-assets {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: clamp(450px, 80vw, 1920px);
	pointer-events: none;
	overflow: hidden;
}

.application-section .floating-assets img {
	position: absolute;
}
.application-section .floating-assets img:first-child {
	width: clamp(80px, 12.5vw, 300px);
	object-fit: contain;
    top: 15%;
    right: 2%;
    transform: rotate(-20deg);
	animation: floatUpAbout 4s ease-in-out infinite;
}

.application-section .floating-assets img:nth-child(2) {
	top: 40%;
    left: 1%;
    transform: rotate(-25deg);
    width: clamp(100px, 11vw, 300px);
	object-fit: contain;
	animation: floatDownAbout 4s ease-in-out infinite;
}

.application-section .floating-assets img:nth-child(3) {
	bottom: 5%;
	right: 3%;
	width: clamp(100px, 11vw, 300px);
	object-fit: contain;
	animation: floatDownForm 4s ease-in-out infinite;
}

.application-wrapper {
	background-color: #F5F8F7;
	border-radius: clamp(15px, 1.5vw, 30px);
	box-shadow: 0px 0px 80px rgba(0,0,0,0.05);
	padding: clamp(35px, 5vw, 100px) clamp(15px, 5vw, 100px);
	position: relative;
}

.application-wrapper .application-closed-text {
	font-style: italic;
	font-weight: 700;
}

.application-wrapper .application-head .top-logo-container {
	display: flex;
	width: clamp(200px, 15vw, 300px);
	margin: 0 auto;
}


.application-wrapper .application-head .top-logo-container img {
	width: 100%;
	object-fit: contain;
}

.application-wrapper .application-head .progress-bar {
	display: flex;
	justify-content: space-between;
	margin: 1.5em auto;
}

@media screen and (min-width: 800px) {
	.application-wrapper .application-head .progress-bar {
		width: 80%;
	}
}

@media screen and (min-width: 1024px) {
	.application-wrapper .application-head .progress-bar {
		width: 75%;
	}
}

.application-wrapper .application-head .progress-bar .step {
	width: 30%;
	text-align: center;
	position: relative;
	font-family: "Obviously Narrow", sans-serif;
}


.application-wrapper .application-head .progress-bar .step .step-label {
	line-height: 1.2;
}

.application-wrapper .application-head .progress-bar .step:not(:last-child):after {
	content: "";
	position: absolute;
    background-color: #F7004B;
    height: 2px;
    width: 70%;
    left: 100%;
    top: 35%;
    transform: translate(-40%, 0%);
}

.application-wrapper .application-head .progress-bar .step .number-container {
	border: 1px solid #F7004B;
	background-color: #F5F8F7;
	width: clamp(40px, 3vw, 60px);
    height: clamp(40px, 3vw, 60px);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
	margin: 0.35em auto;
	transition: color 0.5s ease, background-color 0.5s ease;
}

.application-wrapper .application-head .progress-bar .step .number-container .number {
	line-height: 1;
    transform: translate(0, -5%);
}

.application-wrapper .application-head .progress-bar .step .number-container .checkmark {
	display: none;
}

.application-wrapper .application-head .progress-bar .step.current .number-container {
	background-color: rgba(247, 0, 75, 0.2);
}

.application-wrapper .application-head .progress-bar .step.past .number-container {
	background-color: #F7004B;
}

.application-wrapper .application-head .progress-bar .step.past .number-container .number {
	display: none;
}

.application-wrapper .application-head .progress-bar .step.past .number-container .checkmark {
	display: block;
	width: 60%;
	object-fit: contain;
}

.application-wrapper .application-steps .step2,
.application-wrapper .application-steps .step3 {
	display: none;
}

.application-wrapper .introduction-container .introduction-heading {
	margin: 0.25em 0;
    line-height: 1.1;
}

.application-wrapper .introduction-container .introduction-main-text {
	margin-top: clamp(45px,5vw,100px);
	margin-bottom: clamp(45px,5vw,100px);
}

.application-wrapper .introduction-container .introduction-main-text .introduction-title {
	font-family: "General Sans", sans-serif;
	padding: clamp(5px,.6vw,10px) clamp(15px,2vw,50px);
    border: 1px solid #1c2bad;
    border-radius: clamp(20px, 5vw, 50px);
	width: fit-content;
	margin: 0 auto;
}

@media screen and (min-width: 1024px) {
	.application-wrapper .introduction-container .introduction-main-text {
		width: 75%;
	}
}

.application-wrapper .introduction-container .introduction-info {
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
	background-image: url('../images/application-introduction-bg.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	padding: clamp(15px,2vw,40px);
	border-radius: clamp(10px,1vw,30px);
}

.application-wrapper .introduction-container .introduction-info .info-item {
	text-align: center;
	width: 100%;
	margin: 1em 0;
}

@media screen and (min-width: 750px) {
	.application-wrapper .introduction-container .introduction-info .info-item {
		width: 32%;
		margin: 0;
	}
}

.application-wrapper .introduction-container .introduction-info .info-item .icon-container {
	width: 15%;
	padding-top: 13%;
	position: relative;
	margin: 0.5em auto;
}


.application-wrapper .introduction-container .introduction-info .info-item .icon-container img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.application-wrapper .introduction-container .introduction-info .info-item .text {
	margin: 0;
}

.application-wrapper .introduction-container .introduction-flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 2em 0;
}


.application-wrapper .introduction-container .introduction-flex .introduction-flex-item {
	width: 100%;
}

.application-wrapper .introduction-container .introduction-flex .introduction-flex-item .flex-item-title {
	margin-bottom: 0.5em;
}

.application-wrapper .introduction-container .introduction-flex .introduction-flex-item .item {
	position: relative;
	padding-left: clamp(32px,2.75vw,80px);
	margin: 1em 0;
}

.application-wrapper .introduction-container .introduction-flex .introduction-flex-item .item .title {
	margin: 0.25em 0;
	line-height: 1.3;
}

.application-wrapper .introduction-container .introduction-flex .introduction-flex-item .item .text {
	margin: 0;
}

.application-wrapper .introduction-container .introduction-flex .introduction-flex-item .item:before {
	content: "";
	width: clamp(20px, 1.75vw, 50px);
	height: clamp(20px, 1.75vw, 50px);
	position: absolute;
	top: 0;
	left: 0;
	background-image: url('../images/checkmark-white-blue.svg');
	background-size: contain;
	background-repeat: no-repeat;
	transform: translate(0, 15%);
}

@media screen and (min-width: 750px) {
	
	.application-wrapper .introduction-container .introduction-flex .introduction-flex-item {
		width: 47%;
	}
}

.application-wrapper .introduction-container .introduction-notice {
	background-color: rgba(247, 0, 75, 0.05);
	border-radius: clamp(10px, 1vw, 30px);
	padding: clamp(15px, 2vw, 40px);
	margin: 2em 0;
	
}

.application-wrapper .introduction-container .introduction-notice h2,
.application-wrapper .introduction-container .introduction-notice h3,
.application-wrapper .introduction-container .introduction-notice h4 {
	font-size: clamp(20px, 2.1vw, 54px);
	font-weight: 700;
	margin: 0.25em 0 0 0;
}

.application-wrapper .introduction-container .introduction-notice p {
	font-size: clamp(14px, 1.05vw, 26px);
	font-weight: 500;
}

.application-wrapper .introduction-container .introduction-notice em {
	font-style: normal;
	color: #F7004B;
}

.application-wrapper .introduction-text ul {
	margin-left: 0;
	padding-left: 1.5em;
}

.application-wrapper .introduction-text em strong {
	font-style: normal;
	color: #E11F26;
}

.application-wrapper .introduction-container .button-container {
	display: flex;
	justify-content: center;
}

.application-wrapper .introduction-container .button.button-next {
	padding-top: clamp(10px, 0.5vw, 15px);
    padding-bottom: clamp(12px, 0.8vw, 20px);
}

.application-wrapper .form-container .form-section {
	margin: clamp(30px,4vw,80px) 0;
}


.application-wrapper .form-container .form-section .form-section-heading {
	margin: 0;
}

.application-wrapper .form-container .form-section ul,
.application-wrapper .form-container .form-section ol {
	margin-left: 0;
	padding-left: 1em;
}

.application-wrapper .form-container .form-section .form-section-text p {
	margin: 1em 0;
}

.application-wrapper .form-container .form-section .form-fields .form-field label {
	display: flex;
	font-size: clamp(14px, 1.05vw, 22px);
	font-weight: 400;
	margin-bottom: 0.5em;
}

.application-wrapper .form-container .form-section .form-fields .form-field label .required {
	display: flex;
	margin-left: 0.25em;
	color: #E11F26;
}

.application-wrapper .form-container input:not([type="checkbox"]):not([type="file"]):not([type="submit"]),
.application-wrapper .form-container textarea,
.application-wrapper .form-container select {
	width: 100%;
	border-radius: clamp(5px, 0.5vw, 15px);
	border: 1px solid #CCCCCC;
    padding: 10px 20px;
	background-color: #F5F8F7;
}

.application-wrapper .form-container select {
	-webkit-appearance: none;
	position: relative;
}

.application-wrapper .form-container .form-field-select .input {
	position: relative;
}

.application-wrapper .form-container .form-field-select .input:after {
	content: "";
	width: 1.25em;
	height: 0.75em;
	background-image: url( '../images/caret-down.svg' );
	background-size: 100% auto;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	right: 20px;
	pointer-events: none;
	transform: translate(0, -50%);
}

.application-wrapper .form-container .form-field-select:has(.wpcf7-not-valid-tip) .input:after {
	transform: translate(0,calc(-50% - 0.75em));
}

.application-wrapper .form-container .codedropz-upload-wrapper {
	margin-top: 1.5em;
}

.application-wrapper .form-container .codedropz-upload-handler {
	border: 1px solid #CCCCCC;
}

.application-wrapper .form-container .codedropz-upload-container {
	padding: clamp(25px, 5%, 70px);
}

.application-wrapper .form-container .codedropz-upload-inner:before {
	content: "";
	display: block;
	width: clamp(30px, 2.5vw, 50px);
	height: clamp(30px, 2.5vw, 50px);
	background-image: url("../images/upload-big-arrow.svg");
	background-size: 100% auto;
	background-repeat: no-repeat;
	margin: 0 auto;
	margin-bottom: 0.25em;
}

.application-wrapper .form-container .codedropz-upload-inner:after {
	content: "PDF only • Max 20 pages • Max file size 20 MB";
	color: #1C2BAD;
	font-size: clamp(14px, 1.05vw, 26px);
	font-weight: 500;
	display: block;
	margin-top: 1.5em;
}

.application-wrapper .form-container .codedropz-upload-inner h3 {
	font-family: "General Sans", sans-serif;
	font-size: clamp(18px, 1.565vw, 42px);
	font-weight: 500;
	margin: 0;
}

.application-wrapper .form-container .codedropz-upload-inner span {
	font-size: clamp(18px, 1.565vw, 42px);
	font-weight: 500;
	margin: 0.25em 0;
}

.application-wrapper .form-container .codedropz-upload-inner .cd-upload-btn {
	font-family: "Obviously Narrow", sans-serif;
	font-size: clamp(16px, 1.305vw, 36px);
	font-weight: 700;
    text-decoration: none;
    border-radius: clamp(5px, 0.5vw, 15px);
    border: 1px solid #F7004B;
    box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.2);
    width: fit-content;
    margin: 10px auto;
    padding: clamp(10px, 0.5vw, 10px) clamp(20px, 2.5vw, 30px);
    padding-top: clamp(5px, 0.15vw, 10px);
	color: #FFFFFF;
	background-color: #F7004B;
    transition: color 0.5s ease, background-color 0.5s ease;
    pointer-events: auto;
    display: flex;
    align-items: center;
    position: relative;
	cursor: pointer;
}

.application-wrapper .form-container .codedropz-upload-inner .cd-upload-btn:hover {
	background-color: #FFFFFF;
	color: #F7004B;
}

.application-wrapper .wpcf7-list-item {
	margin-left: 0;
}

.application-wrapper .wpcf7-list-item label {
	cursor: pointer;
}

.application-wrapper input[type="checkbox"] {
	margin-right: 1rem;
    width: clamp(20px, 1vw, 24px);
    height: clamp(20px, 1vw, 24px);
    accent-color: #1c2bad;
    flex-shrink: 0;
    transform: translate(0, 10%);
	cursor: pointer;
}

.wpcf7-list-item-label {
  white-space: pre-line; /* respects \n in text if present */
}

.application-wrapper .form-container .review-container {
	background-color: rgba(28, 43, 173, 0.05);
	border-radius: clamp(10px, 1vw, 30px);
	padding: clamp(15px, 2vw, 40px);
	margin: 2em 0;
}

.application-wrapper .form-container .review-container .form-section-heading {
	margin: 0.25em 0 0 0;
}

.application-wrapper .form-container .review-items ul {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.application-wrapper .form-container .review-items ul li {
	position: relative;
    padding-left: clamp(28px,2vw,50px);
    margin: 1em 0;
}

.application-wrapper .form-container .review-items ul li:before {
	content: "";
    width: clamp(20px, 1.5vw, 50px);
    height: clamp(20px, 1.5vw, 50px);
    position: absolute;
    top: 0;
    left: 0;
    background-image: url('../images/checkmark-white-blue.svg');
    background-size: contain;
    background-repeat: no-repeat;
    transform: translate(0, 5%);
}

.application-wrapper .form-container .review-items ul li p {
	margin: 0;
}

.application-wrapper .form-container {
	margin-top: clamp(25px, 3.5vw, 50px);
}

.application-wrapper .form-container .form-field-flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.application-wrapper .form-container .form-field-full {
	display: flex;
}

.application-wrapper .form-container .form-field {
	margin: clamp(5px, 1vw, 25px) 0;
	width: 100%;
}

.application-wrapper .form-container .form-field p {
	margin: 5px 0;
}

.application-wrapper .form-container .form-field .input {
	width: 100%;
}

.application-wrapper .form-container .flex-buttons {
	display: flex;
	justify-content: space-between;
}

.application-wrapper .form-container .flex-buttons .button-container p {
	margin: 0;
}

.application-wrapper .form-container .flex-buttons .button-container br {
	display: none;
}

.application-wrapper .form-container .flex-buttons .button {
	padding: clamp(10px, 0.5vw, 10px) clamp(15px, 1.5vw, 30px);
}

.application-wrapper .form-container .flex-buttons .button.button-back {
	padding-top: clamp(8px,.3vw,8px);
	padding-bottom: clamp(12px,.7vw,12px);
}

.application-wrapper .form-container .flex-buttons .wpcf7-spinner {
	position: absolute;
}

.application-wrapper .form-container .flex-buttons .button.button-back:before {
	content: "";
	background-image: url('../images/designwah-arrow-red.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center center;
	width: clamp(20px, 1.5vw, 40px);
    height: clamp(20px,1.5vw,40px);
    margin-right: clamp(5px, 0.5vw, 15px);
    flex-shrink: 0;
    transform: translate(0, 10%);
    filter: grayscale(0);
    -webkit-filter: grayscale(0);
    transition: filter .5s ease, -webkit-filter .5s ease;
}

.application-wrapper .form-container .flex-buttons .button.button-back:hover:before {
	filter: grayscale(1) brightness(9);
    -webkit-filter: grayscale(1) brightness(9);
}

.application-wrapper .form-container .form-submit p {
	display: none;
}

.application-wrapper .form-container .form-submit button {
	display: flex;
	align-items: center;
	cursor: pointer;
}

.application-wrapper .form-container .form-submit button:hover {
	border-color: #F7004B;
}

.application-wrapper .form-container .form-submit button img {
	filter: grayscale(1) brightness(9);
	-webkit-filter: grayscale(1) brightness(9);
	transition: filter 0.5s ease, -webkit-filter 0.5s ease;
	width: clamp(20px, 1.5vw, 40px);
    height: clamp(20px, 1.5vw, 40px);
	object-fit: contain;
}

.application-wrapper .form-container .form-submit button:hover img {
	filter: none;
	-webkit-filter: none;
}

.application-wrapper .form-container .form-submit button .button-text {
	display: flex;
    padding-bottom: 0.2em;
    margin-left: 0.5em;
}

@media screen and (min-width: 750px) {

	.application-wrapper .form-container .form-field-full,
	.application-wrapper .form-container .form-field-flex {
		margin: clamp(5px, 1vw, 25px) 0;
	}
	
	.application-wrapper .form-container .form-field {
		margin: 0;
	}

	.application-wrapper .form-container .form-field-flex .form-field-half {
		width: 48%;
	}
}

.application-wrapper .form-container .wpcf7 form .wpcf7-response-output {
	border: none;
    text-align: center;
    border-color: transparent;
    margin-left: 0;
    margin-right: 0;
}

.application-wrapper .thank-you-container {
	text-align: center;
	padding-top: clamp(40px, 3vw, 80px);
	padding-bottom: clamp(20px, 1vw, 30px);
}

.application-wrapper .thank-you-container .thank-you-title {
	margin: 0 0 0.25em 0;
    line-height: 1.1;
}

.application-wrapper .thank-you-container .thank-you-buttons {
	margin-top: clamp(30px, 3vw, 60px);
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: clamp(5px, 1vw, 30px);
}

.application-wrapper .thank-you-container .thank-you-buttons .button-container-center {
	width: 100%;
}

.application-wrapper .thank-you-container .thank-you-buttons .button.about-button:before {
	content: "";
	background-image: url('../images/designwah-about-icon.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center center;
	width: clamp(20px, 1.5vw, 40px);
    height: clamp(20px,1.5vw,40px);
    margin-right: clamp(5px, 0.5vw, 15px);
    flex-shrink: 0;
    transform: translate(0, 10%);
    filter: grayscale(1) brightness(9);
    -webkit-filter: grayscale(1) brightness(9);
    transition: filter .5s ease, -webkit-filter .5s ease;
}

.application-wrapper .thank-you-container .thank-you-buttons .button.about-button:hover:before {
	filter: grayscale(0);
    -webkit-filter: grayscale(0);
}

.application-wrapper .thank-you-container .thank-you-buttons .button.ig-button:before {
	content: "";
	background-image: url('../images/designwah-ig-red.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center center;
	width: clamp(20px, 1.5vw, 40px);
    height: clamp(20px,1.5vw,40px);
    margin-right: clamp(5px, 0.5vw, 15px);
    flex-shrink: 0;
    transform: translate(0, 10%);
    filter: grayscale(1) brightness(9);
    -webkit-filter: grayscale(1) brightness(9);
    transition: filter .5s ease, -webkit-filter .5s ease;
}

.application-wrapper .thank-you-container .thank-you-buttons .button.ig-button:hover:before {
	filter: grayscale(0);
    -webkit-filter: grayscale(0);
}

.application-wrapper .thank-you-container .thank-you-buttons .button.explore-button:before {
	content: "";
	background-image: url('../images/designwah-info-red.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center center;
	width: clamp(20px, 1.5vw, 40px);
    height: clamp(20px,1.5vw,40px);
    margin-right: clamp(5px, 0.5vw, 15px);
    flex-shrink: 0;
    transform: translate(0, 10%);
    filter: grayscale(0);
    -webkit-filter: grayscale(0);
    transition: filter .5s ease, -webkit-filter .5s ease;
}

.application-wrapper .thank-you-container .thank-you-buttons .button.explore-button:hover:before {
	filter: grayscale(1) brightness(9);
    -webkit-filter: grayscale(1) brightness(9);
}