/*
Theme Name: xprize
Theme URI: https://xprizewp.com/
Author: WP Engine
Author URI: https://wpengine.com/
Description: With its clean, minimal design and powerful feature set, xprize enables agencies to build stylish and sophisticated WordPress websites. xprize is a masterpiece of design and functionality. It features a range of valuable patterns, including hero and portfolio sections, prominent call-to-action buttons, and customer testimonials. Whether you’re building a website for your business, personal brand, or creative project, xprize is perfect for anyone looking to launch quickly and efficiently.
Tags: block-patterns, block-styles, custom-colors, custom-logo, custom-menu, editor-style, full-site-editing, one-column, template-editing, threaded-comments, translation-ready, wide-blocks
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.2
Version: 1.00.00
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: xprize
*/


/* Defaults
---------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

a,
button,
input:focus,
input[type="button"],
input[type="submit"],
textarea:focus,
.wp-element-button {
	transition: all 0.2s ease-in-out;
}

a,
a:focus,
a:hover,
a:not(.wp-element-button) {
	text-decoration-thickness: 1px;
}



/* -- Forms -- */

input,
select,
textarea {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: 0;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--font-weight--light);
	line-height: var(--wp--custom--line-height--body);
	padding: 10px 20px;
	width: 100%;
}

input:focus,
textarea:focus {
	background-color: var(--wp--preset--color--neutral);
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
}

::placeholder {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.5;
}

/* Blocks
---------------------------------------- */

/* -- Code -- */

*:not(.wp-block-code) > code {
	background-color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--small);
	padding: 5px 8px;
}

/* -- Navigation -- */









/* Utility
---------------------------------------- */

/* -- Box Shadow -- */

.is-style-shadow-light {
	box-shadow: var(--wp--preset--shadow--light);
}

.is-style-shadow-solid {
	box-shadow: var(--wp--preset--shadow--solid);
}


/* -- Hero Background -- */

.welcome {
    background-image:
        linear-gradient(
            rgba(0, 0, 0, 0.45),
            rgba(0, 0, 0, 0.55)
        ),
        url('assets/images/dark-water-texture.webp');

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.xprize-resource-hero {
    background-image:
        linear-gradient(
            rgba(0, 0, 0, 0.45),
            rgba(0, 0, 0, 0.55)
        ),
        url('assets/images/xprize-finalists-hero.webp');

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

	margin-bottom: 0;
	border-radius: 0;
}

.xprize-resource-hero + .xprize-resource-content {
	margin-top: 0;
}

.xprize-resource-hero h1,
.xprize-resource-hero p {
	color: var(--wp--preset--color--base);
}

.xprize-resource-hero p {
	margin-bottom: 0;
}

/* -- Button -- */
/* XPRIZE Gradient Text Button */

.wp-block-button.is-style-xprize-gradient-text .wp-block-button__link {
	background: var(--wp--preset--color--contrast) ;
	background-image: none ;
	border: none;
}

.wp-block-button.is-style-xprize-gradient-text .wp-block-button__link .xprize-gradient-text {
	background-image: linear-gradient(
		90deg,
		var(--wp--preset--color--red) 0%,
		var(--wp--preset--color--fuchsia) 100%
	);

	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.resource-card {
	height: 100%;
}

.xprize-resource-content {
	background: var(--wp--preset--color--base);
}

.xprize-resource-content h2,
.xprize-resource-content h3,
.xprize-resource-content h4,
.xprize-resource-content p,
.xprize-resource-content li,
.xprize-resource-content a {
	color: var(--wp--preset--color--primary);
}

.xprize-card {
	background: #ffffff;
	border: none;
	border-radius: 12px;
	padding: 28px 24px;
	text-align: center;
	height: 100%;
}

.xprize-video-placeholder {
	background: #ffffff;
	border: none;
	border-radius: 10px;
	aspect-ratio: 16 / 9;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--primary);
	box-shadow: var(--wp--preset--shadow--light);
}

.xprize-resource-content h2 {
	margin-bottom: 2rem;
}

.xprize-resource-content .wp-block-columns {
	margin-top: 2rem;
}

.xprize-card ul {
	display: inline-block;
	text-align: left;
	margin: 0 auto;
}

.xprize-card li {
	margin-bottom: 0.5rem;
}

.xprize-sponsors-section {
	border-radius: 0;
}

.xprize-sponsor-grid {
	margin-top: var(--wp--preset--spacing--large);
}

.xprize-sponsor-card {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: var(--wp--preset--shadow--light);
	height: 100%;
	padding: 32px 24px;
	text-align: center;
}

.xprize-sponsor-card img {
	display: block;
	max-width: 220px;
	max-height: 90px;
	width: auto;
	height: auto;
	margin: 0 auto 24px;
}

.xprize-sponsor-card h3 {
	margin-bottom: 8px;
}

.xprize-sponsor-card p {
	margin-bottom: 0;
}

/* World Map 
---------------------------------------- */

.xprize-finalist-map-section {
	background: var(--wp--preset--color--contrast);
	border-radius: 0;
}

.xprize-finalist-map-card {
	width: 100%;
	margin: 0 auto;
	background: #ffffff;
	color: var(--wp--preset--color--primary);
	border-radius: clamp(40px, 37.4px + 0.6926vw, 64px);
	padding: clamp(32px, 5vw, 72px);
	text-align: center;
	box-shadow:
		0px 30px 8px 0px rgba(15, 15, 15, 0),
		0px 19px 8px 0px rgba(15, 15, 15, 0.01),
		0px 11px 6px 0px rgba(15, 15, 15, 0.03),
		0px 5px 5px 0px rgba(15, 15, 15, 0.05),
		0px 1px 3px 0px rgba(15, 15, 15, 0.06);
}

.xprize-finalist-map-card h2 {
	margin-top: 0;
	margin-bottom: 16px;
	color: var(--wp--preset--color--primary);
}

.xprize-finalist-map-card p {
	max-width: 680px;
	margin: 0 auto;
	color: var(--wp--preset--color--primary);
}

.xprize-map-wrap {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin-top: clamp(32px, 4vw, 56px);
	overflow: visible;
}

.xprize-map-wrap img,
.xprize-map-wrap svg {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.xprize-map-wrap svg path {
	fill: #e8e8e8 !important;
	stroke: rgba(0, 0, 0, 0.25);
	stroke-width: 0.55;
	transition: fill 0.2s ease;
}

.xprize-marker {
	position: absolute;
	z-index: 2;
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: linear-gradient(
		135deg,
		var(--wp--preset--color--fuchsia) 0%,
		var(--wp--preset--color--red) 100%
	);
	transform: translate(-50%, -50%);
	animation: xprize-pulse 2s infinite;
}

.xprize-marker::after {
	content: attr(title);
	position: absolute;
	left: 50%;
	bottom: 26px;
	transform: translateX(-50%);
	background: var(--wp--preset--color--primary);
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	padding: 6px 10px;
	border-radius: 999px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.xprize-marker:hover::after {
	opacity: 1;
}



@keyframes xprize-pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(236, 28, 255, 0.7);
	}

	70% {
		box-shadow: 0 0 0 14px rgba(236, 28, 255, 0);
	}

	100% {
		box-shadow: 0 0 0 0 rgba(236, 28, 255, 0);
	}
}

.xprize-partner-logo {
	margin-top: 24px;
	margin-bottom: 24px;
}

.xprize-partner-logo img {
	max-width: 320px;
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

/* ==========================================
   Home Page Buttons
   ========================================== */

/* ---------- Hero Buttons ---------- */

.welcome .wp-block-buttons {
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}

.welcome .wp-block-button {
	width: 300px;
	flex: 0 0 300px;
}

.welcome .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	text-align: center;
}


/* ---------- Resource Cards ---------- */

.resource-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

/* Push button to bottom */
.resource-card .wp-block-button {
	margin-top: auto;
	display: flex;
	justify-content: center;
	padding-top: 24px;
}

/* Center button and keep consistent width */
.resource-card .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	min-height: 56px;
	text-align: center;
}

.resource-card > .wp-block-list {
	width: 100%;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 1.5rem;
	text-align: left;
	list-style-position: outside;
}

.resource-card > .wp-block-list li {
	text-align: left;
}


/* ---------- Mobile ---------- */

@media (max-width: 781px) {

	.welcome .wp-block-button,
	.resource-card .wp-block-button,
	.resource-card .wp-block-button__link {
		width: 100%;
		flex-basis: 100%;
	}
}






/* Media Queries
---------------------------------------- */

@media only screen and (max-width: 600px) {

	/* -- Utility -- */

	.is-style-hidden-mobile {
		display: none !important;
	}

		.wp-block-button,
	.wp-block-button .wp-block-button__link {
		width: 100%;
	}

	.wp-block-button .wp-block-button__link {
		min-height: 52px;
	}

}

@media only screen and (max-width: 782px) {

	/* -- Columns -- */

	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}

}