/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://spudman.org
Description: Custom child theme for Spudman migration using Twenty Twenty-Five.
Author: Your Name
Template: twentytwentyfive
Version: 1.0.0
Text Domain: twentytwentyfive-child
*/

/* Add any custom raw CSS from the old Spudman site below this line */

/**
 * WordPress Core Style Resets
 * These help override some of the more aggressive "where" selectors
 * added by the block editor and Twenty Twenty-Five.
 */

/* --- GLOBAL / RESETS --- */
:root {
	--wp--preset--font-size--medium: clamp(16px, 0.875rem + ((1vw - 3.2px) * 0.455), 19px);
}
:root :where(.wp-block-list li),
:where(.wp-block-list),
.entry-content > *:first-child,
.wp-block-post-content > *:first-child {
	margin-block: 0;
	margin-top: 0;
}

:where(.wp-site-blocks :focus) {
	outline: none;
}

::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1; 
}

::-webkit-scrollbar-thumb {
  background: #fe2a77;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #1a66;
}

body {
  scrollbar-width: thin;
  scrollbar-color: #fe2a77 #f1f1f1;
	padding-top: 140px;
}

body.admin-bar {
	padding-top: 150px;
}
.wp-block-social-link:hover {
    transform: scale(1);
}
.wp-block-social-links .wp-block-social-link.wp-social-link:hover .wp-block-social-link-anchor svg{color:var(--wp--preset--color--spudman-pink);}
.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg{transition: color 0.3s ease}
.gradient-text {
    color: #f9643d;
    background-image: linear-gradient(64.27deg, #ffb200 10%, #e73244 65.06%, #7a3074 101.43%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.wp-site-blocks{overflow-x: hidden;}
/* --- HEADER --- */
.spudman-sticky-header {
	position: fixed;
	inset: 0 0 auto 0;
	width: 100%;
	z-index: 999;
	    background: rgba(46, 50, 97, 0.4);
    border-bottom: 1px solid #4b508a;
	transition: background-color 0.3s ease-out;
	padding: 10px;
}

.spudman-sticky-header--active {
	background-color: #2e3261;
}

.admin-bar .spudman-sticky-header {
	top: 32px;
}
figure.wp-block-embed {
    max-width: 1170px;
}
/* --- NAV --- */
.wp-block-site-logo.cloned-mobile-logo {
    display: none;
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
	font-weight: 500;
	letter-spacing: 1px;
	padding: 4px 20px;
	transition: color 0.3s ease;
}
.wp-block-navigation .wp-block-navigation-item{padding: 0;}

.wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--spudman-pink);
	text-decoration: none;
}

.wp-block-navigation-item.active-nav-item .wp-block-navigation-item__content {
	color: #007bff;
	position: relative;
}


.wp-block-navigation-item.active-nav-item .wp-block-navigation-item__content::after {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	bottom: -7px;
	transform: translateX(-50%);
	width: 105%;
	height: 2px;
	background-color: #007bff;
}

.wp-block-navigation .race-bible .wp-block-navigation-item__content {
	color: #f00;
	transition: all 0.4s ease-in-out;
}

.wp-block-navigation .race-bible .wp-block-navigation-item__content:hover {
	background: #373d80 linear-gradient(45deg, #371b14 0%, #35111e 100%) left -100% center / 200% 200%;
	border-radius: 30px;
	transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* --- MAIN / CONTENT LAYOUT --- */
body:not(.home) main.wp-block-group {
	background-color: var(--wp--preset--color--navy);
	color: #fff;
}

body:not(.home) .wp-block-post-content {
	max-width: 800px;
	margin: 0 auto;
}
body:not(.home) .wp-block-post-content.alignfull {
    max-width: 1800px;
}

main .wp-block-heading {
	font-weight: 700;
	color: #fff;
	margin: 25px 0 15px;
}

main .wp-block-list {
	list-style: none;
	padding: 0;
	text-align: center;
	margin: 10px 0;
}

main .wp-block-list li {
	margin-bottom: 2px;
}

main .wp-block-list li a {
	color: #fff;
	text-decoration: none;
	display: inline-flex;
	font-size: 18px;
	transition: all 0.3s ease;
}

main .wp-block-list li a:hover {
	color: var(--wp--preset--color--spudman-pink);
	text-decoration: underline;
}
main .wp-block-list.course-list { text-align: left; padding-left: 20px; }
main .wp-block-list.course-list li{ margin-bottom:0px; line-height: 1.6;}
main hr.wp-block-separator {
	margin: 20px auto;
	border-color: rgba(255, 255, 255, 0.2);
	border-bottom-width: 1px;
}
.wp-block-separator.alignwide {
    max-width: 100%;
}
.content-inner {
    padding-bottom: 10%;
}

/* Back-to-Top Button */
.progress-wrap {
	position: fixed;
	right: 20px;
	bottom: 20px;
	height: 50px;
	width: 50px;
	cursor: pointer;
	display: block;
	border-radius: 50px;
	box-shadow: inset 0 0 0 2px #fe2a7740;
	z-index: 10000;
	opacity: 0;
	visibility: hidden;
	transform: translateY(15px);
	transition: all 200ms linear;
	background-color: var(--wp--preset--color--navy);
}

.progress-wrap.is-active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.progress-wrap svg.progress-circle {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.progress-wrap svg.progress-circle path {
	stroke: #fe2a77;
	stroke-width: 4;
	fill: none;
	box-sizing: border-box;
	transition: all 200ms linear;
}

.progress-wrap .progress-icon {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	color: #fff;
}

.progress-wrap .progress-icon svg {
	width: 26px;
	height: 26px;
	fill: currentColor;
}
/* --- BUTTONS --- */
.btn-spudman {
    display: inline-block;
    color: #ffffff;
    background-color: #373d80;
    background-image: var(--wp--preset--gradient--spudman-cta);
    background-size: 100% 100%;
    text-decoration: none;
    transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    padding: 12px 40px;
    border-radius: 50px;
    font-weight: 700;
    margin: 0;
    font-size: 18px;
}
.btn-spudman:hover {
	color: #ffffff;
	background-size: 200% 200%;
	background-position: left -100% center;
}
/* --- FOOTER --- */
.spudman-footer {
	position: relative;
	overflow: hidden;
	background: url('/wp-content/uploads/2026/08/swimexit.jpg') top left;
	padding: 450px 0 30px;
}

.spudman-footer::before {
	content: "";
	position: absolute;
	bottom: -10px;
	inset-inline: 0;
	width: 100%;
	height: 40%;
	background: #18214c;
	border-radius: 700% 700% 0 0;
	transform: scaleX(1.2);
	z-index: 0;
}

.spudman-footer__inner {
	position: relative;
	z-index: 1;
}
.spudman-footer .wp-block-separator{position: relative;z-index: 1;}
.footer-copy {
    position: relative;
}
footer .wp-block-image {
    max-width: 370px;
}
footer .wp-block-navigation .wp-block-navigation-item__label{white-space: nowrap;}
footer .wp-block-navigation-item.active-nav-item .wp-block-navigation-item__content{color: unset;}
footer .wp-block-navigation-item.active-nav-item .wp-block-navigation-item__content::after{display: none;}
footer .wp-block-navigation-item.active-nav-item .wp-block-navigation-item__content:hover,
footer .wp-block-navigation .wp-block-navigation-item__content:hover{color:#fb1ac0;}
@media only screen and (max-width: 1400px) {
	footer .wp-block-social-links { padding-right: 40px; }

}


@media (max-width: 1199px) {
    body {padding-top: 130px;}
    .wp-block-spacer.desktop {display: none;}
	.has-global-padding { padding-right: 5%; padding-left: 5%; }
	header .wp-block-site-logo.cloned-mobile-logo { display: inline-flex;position: absolute; left: 0; top: 0;margin-left: -70px; clip-path: inset(0 0 0 70px);}
	header .wp-block-navigation__responsive-container-open { display: flex !important; flex-direction: column; justify-content: center; align-items: center; gap: 5px; background: transparent; border: none; padding: 8px; cursor: pointer; z-index: 9; }
	header .wp-block-navigation__responsive-container-open .icon-bar { width: 28px; height: 2px; background-color: #ffffff; display: block; transition: transform 0.3s ease, opacity 0.3s ease; transform-origin: center; }
	header .wp-block-navigation:has(.is-menu-open) .wp-block-navigation__responsive-container-open .top-bar { transform: translateY(7px) rotate(45deg); }
	header .wp-block-navigation:has(.is-menu-open) .wp-block-navigation__responsive-container-open .middle-bar { opacity: 0; }
	header .wp-block-navigation:has(.is-menu-open) .wp-block-navigation__responsive-container-open .bottom-bar { transform: translateY(-7px) rotate(-45deg); }
	header .wp-block-social-links {display:none;}
	header .wp-block-navigation__responsive-dialog .wp-block-social-links {display:block;margin: auto;}
	header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; position: fixed; }
	header .wp-block-navigation .wp-block-navigation__responsive-container-open { display: flex; }
	header .wp-block-navigation .wp-block-navigation__responsive-container { width: 0px; opacity: 0; transition: width 0.3s ease; display: block !important; min-height: 100vw; }
	header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open { width: 75%; height: 100vh; left: 0; right: auto; background-color: var(--wp--preset--color--navy); padding: 40px 20px; display: flex; flex-direction: column; overflow: visible; opacity: 1;}
	header .wp-block-navigation .wp-block-navigation__responsive-container-close { position: absolute; top: 20px; right: 20px; color: #fff; }
	header .wp-block-navigation .wp-block-navigation__responsive-container-close svg { width: 32px; height: 32px; }
	header .wp-block-navigation .wp-block-navigation__responsive-container-content { padding-top: 40px; width: 100%; }
	header .wp-block-navigation .wp-block-navigation__container { gap: 12px; width: 100%; margin: 25px 0; }
	header .wp-block-navigation .wp-block-navigation-item { background: #3c447a; border-radius: 25px; width: 100%; }
	header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content { font-size: 19px; line-height: 1; width: 100%; background-color: #ffffff1f; display: flex; align-items: center; justify-content: space-between; color: #ffffff; font-weight: 500; margin-bottom: 5px; }
	header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content span{  padding: 13px 15px;}
	header .wp-block-navigation .wp-block-navigation-item.race-bible .wp-block-navigation-item__content { color: #ff3b30; border-radius: 30px;}
	body.has-modal-open .wp-block-site-logo { position: fixed; top: 20px; left: 20px; z-index: 100000; max-width: 180px; }
	body.has-modal-open .wp-block-social-links { display: flex; justify-content: center; margin: 30px 0 0 0; width: 100%; z-index: 100000; }
	header .wp-block-navigation .wp-block-social-links .wp-social-link .wp-block-social-link-anchor { width: 40px; min-width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background-color: #2c3269; background-image: linear-gradient(180deg, #f9643d 0%, #fe2a77 100%); padding: 0; }
	header .wp-block-navigation .wp-block-social-links .wp-social-link .wp-block-social-link-anchor:hover svg,
	header .wp-block-navigation .wp-block-social-links .wp-social-link .wp-block-social-link-anchor svg { width: 20px; height: 20px; color: #fff; }
	footer .wp-block-navigation { font-size: 17px; padding: 0px; min-width: 107%; padding-top:15px; }
	.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{font-weight: 600;padding: 4px 0px;}
	.spudman-footer .wp-block-navigation .wp-block-navigation-item{margin: auto; flex: 1 1 30%;}
	header .wp-block-navigation .wp-block-navigation-item.active-nav-item span { color: #007bff; }
	.wp-block-navigation-item.active-nav-item .wp-block-navigation-item__content::after{width: 100%; bottom: -2px;}
	.has-modal-open .wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close:before { content: ''; display: block; background: black; position: absolute; width: 100vw; height: 150vh; top: -50vh; left: 72px; opacity: 0.4; }
    .spudman-footer figure.wp-block-image.size-full.is-resized {
    padding-bottom: 35px;
}
}


@media only screen and (max-width: 767px) {
	h4, .h4 {
        font-size: 20px;
        line-height: 24px;
        margin-top: -4px;
    }
	.mobile-wrap{flex-wrap: wrap;flex-direction:column;}
	.spudman-footer {
		padding-top: 200px;
	}
	.spudman-footer__inner {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	footer .wp-block-navigation-item__content {
		margin: auto;
	}
	.spudman-footer::before {
    height: 45%;
}
}