/**
 * Student Projects gate — visitor states and access form.
 */

body[data-visitor="first"] .only-unlocked,
body[data-visitor="first"] .only-returning {
	display: none !important;
}

body[data-visitor="unlocked"] .only-first,
body[data-visitor="unlocked"] .only-returning {
	display: none !important;
}

body[data-visitor="returning"] .only-first,
body[data-visitor="returning"] .only-unlocked {
	display: none !important;
}

.tag--opened {
	display: none !important;
}

.js-project-card.is-opened .tag--opened {
	display: inline-flex !important;
}

.vr-sp-modal h2,
.vr-sp-modal h2#vr-sp-modal-title,
.vr-sp-modal .vr-sp-success h2 {
	margin: 0 0 12px !important;
	font-size: var(--e-global-typography-cc07eb6-font-size) !important;
	line-height: var(--e-global-typography-cc07eb6-line-height) !important;
	font-family: var(--e-global-typography-cc07eb6-font-family), sans-serif !important;
	font-weight: 500 !important;
	color: var(--e-global-color-7501ff5) !important;
}

.vr-sp-modal .vr-sp-why {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.7;
	font-weight: 400;
}

.vr-sp-choice-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.vr-sp-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 30px;
}

.vr-sp-form[hidden],
.vr-sp-success[hidden],
#vr-sp-choice[hidden] {
	display: none !important;
}

.vr-sp-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.vr-sp-field--full,
.vr-sp-actions,
.vr-sp-error,
.vr-sp-back,
.vr-sp-newsletters {
	grid-column: 1 / -1;
}

.vr-sp-form.is-returning .vr-sp-first-only {
	display: none !important;
}

.vr-sp-modal .vr-sp-field > label,
.vr-sp-modal .vr-sp-label {
	display: block !important;
	width: auto !important;
	margin: 0 0 4px !important;
	padding: 0 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	color: #222 !important;
}

.vr-sp-modal .vr-sp-req {
	color: #222 !important;
}

.vr-sp-modal .vr-sp-field input[type="text"],
.vr-sp-modal .vr-sp-field input[type="email"],
.vr-sp-modal .vr-sp-field select {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 42px !important;
	min-height: 42px !important;
	padding: 8px 16px !important;
	border: 1px solid #666 !important;
	border-radius: 3px !important;
	background-color: #fff !important;
	color: #000 !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 24px !important;
	box-shadow: none !important;
}

.vr-sp-modal .vr-sp-field select {
	-webkit-appearance: none !important;
	appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1.2 1.3L6 6.1l4.8-4.8'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 12px 8px !important;
	padding-right: 36px !important;
}

.vr-sp-modal .vr-sp-field input[type="text"]:focus,
.vr-sp-modal .vr-sp-field input[type="email"]:focus,
.vr-sp-modal .vr-sp-field select:focus {
	outline: 3px auto #000 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	border: 1px solid #666 !important;
}

.vr-sp-modal .vr-sp-hint,
.vr-sp-modal .vr-sp-privacy {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 400;
	line-height: 20px;
	color: #666;
}

.vr-sp-modal .vr-sp-privacy {
	margin: 8px 0 0;
}

.vr-sp-newsletters .vr-sp-checks {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0;
}

.vr-sp-modal label.vr-sp-check {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 10px !important;
	width: 100% !important;
	margin: 10px 0 !important;
	padding: 0 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: var(--e-global-color-7501ff5) !important;
	cursor: pointer;
}

.vr-sp-modal label.vr-sp-check span {
	flex: 1 1 auto;
	width: auto !important;
	display: inline !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
}

.vr-sp-modal label.vr-sp-check input[type="checkbox"] {
	flex: 0 0 16px !important;
	width: 16px !important;
	min-width: 16px !important;
	max-width: 16px !important;
	height: 16px !important;
	margin: 3px 0 0 !important;
	padding: 0 !important;
	border: 1px solid #666 !important;
	border-radius: 2px !important;
	background: #fff !important;
	accent-color: var(--e-global-color-7501ff5);
	cursor: pointer;
	-webkit-appearance: auto !important;
	appearance: auto !important;
}

.vr-sp-modal .vr-sp-newsletter-link,
.vr-sp-modal .vr-sp-newsletter-link:hover,
.vr-sp-modal .vr-sp-newsletter-link:focus,
.vr-sp-modal .vr-sp-newsletter-link:active {
	font-weight: 500;
	font-size: 0.95rem;
	color: inherit;
}

.vr-sp-modal button.vr-sp-back,
.vr-sp-modal button.vr-sp-back:hover,
.vr-sp-modal button.vr-sp-back:focus,
.vr-sp-modal button.vr-sp-back:focus-visible,
.vr-sp-modal button.vr-sp-back:active {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-self: start;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 0 4px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	color: var(--e-global-color-7501ff5) !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	cursor: pointer !important;
}

.vr-sp-modal button.vr-sp-back::before {
	content: '<';
	margin-right: 6px;
}

.vr-sp-error {
	margin: 0;
	color: #b42318;
}

.vr-sp-modal .vr-sp-btn {
	appearance: none !important;
	border-radius: 8px !important;
	padding: 8px 16px !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	cursor: pointer;
}

.vr-sp-modal .vr-sp-btn--primary {
	border: 0 !important;
	background: #92ff33 !important;
	color: #0e093a !important;
}

.vr-sp-modal .vr-sp-btn--ghost {
	border: 1px solid #0e093a !important;
	background: #fff !important;
	color: #0e093a !important;
}

.vr-sp-modal .vr-sp-btn:disabled {
	opacity: 0.65;
	cursor: wait;
}

.vr-sp-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.vr-sp-modal .vr-sp-success h2 {
	margin-bottom: 8px !important;
}

@media (max-width: 640px) {
	.vr-sp-form {
		grid-template-columns: 1fr;
	}
}
