/*
 Theme Name:   WebsiteValet "Starter Site" Child Theme for GeneratePress
 Theme URI:    http://generatepress.com
 Description:  A child theme customized for: reachingforhigher.com
 Author:       Tim Taricco
 Author URI:   http://www.timtaricco.com
 Template:     generatepress
 Version:      03.06.26
 Tags: none
*/



:root {

    /* Text Styling */
    --text-base: 18px;
    --line-height-base: 1.5em;
    --margin-bottom-base: 1.25em;
    
    --text-xs: 0.694rem;
    --line-height-xs: 1.6em; 
    --margin-bottom-xs: 0.75em;
    
    --text-sm: 0.833rem;
    --line-height-sm: 1.55em; 
    --margin-bottom-sm: 1em;
    
    --text-p: 18px;
    --line-height-p: 1.5em; 
    --margin-bottom-p: 1.25em;
    
    --text-md: 1.125rem;
    --line-height-md: 1.5em; 
    --margin-bottom-md: 1.25em;
    
    --text-lg: clamp(1.25rem, 0.671vw + 1.053rem, 1.5rem);
    --line-height-lg: 1.45em; 
    --margin-bottom-lg: 1.25em;
    
    --text-xl: clamp(1.5rem, 0.839vw + 1.246rem, 1.813rem);
    --line-height-xl: 1.4em; 
    --margin-bottom-xl: 1.5em;
    
    --text-h1: clamp(2.75rem, 3.356vw + 1.139rem, 4rem);
    --line-height-h1: calc(1px + 2ex); 
    --margin-bottom-h1: 1rem;
    
    --text-h2: clamp(1.75rem, 1.007vw + 1.267rem, 2.125rem);
    --line-height-h2: calc(6px + 2ex); 
    --margin-bottom-h2: 1rem;
    
    --text-h3: clamp(1.375rem, 0.671vw + 1.053rem, 1.625rem);
    --line-height-h3: calc(6px + 2ex); 
    --margin-bottom-h3: 1rem;
    
    --text-h4: clamp(1.188rem, 0.503vw + 0.946rem, 1.375rem);
    --line-height-h4: calc(6px + 2ex); 
    --margin-bottom-h4: 1rem;
    
    --text-h5: 1.25rem;
    --line-height-h5: 1.4em; 
    --margin-bottom-h5: 1rem;
    
    --text-h6: 1.125rem;
    --line-height-h6: 1.4em; 
    --margin-bottom-h6: 1rem;

    --text-accent: clamp(1.75rem, 1.007vw + 1.267rem, 2.125rem);
    --line-height-accent: 1.1em;
    --margin-bottom-accent: 2rem;

    /* Margin Styling */
    --margin-xs: clamp(0.938rem, 0.8408rem + 0.4092vw, 1.25rem); /* 20/15px */
    --margin-sm: clamp(1.25rem, 0.8607rem + 1.6393vw, 2.5rem); /* 40/20px */
    --margin-md: clamp(2.5rem, 1.7213rem + 3.2787vw, 5rem); /* 80/40px */
    --margin-lg: clamp(3.75rem, 2.5820rem + 4.9180vw, 7.5rem); /* 120/60px */
    --margin-xl: clamp(5rem, 3.4426rem + 6.5574vw, 10rem); /* 160/80px */
	--margin-before-list: 0.25em;
	--margin-thin: 0.25em;

}


/*** WordPress Link Styling Custom CSS ***/
p.gb-text a,
#main p a,
#main li a {
  text-decoration: none;
  position: relative;
  color: var(--accent); /* Normal state color */
  background-image: linear-gradient(var(--accent), var(--accent));
  background-size: 100% 1.5px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size 0.5s ease-in-out, color 0.3s ease-in-out;
}
p.gb-text a:is(:hover, :focus),
#main p a:is(:hover, :focus),
#main li a:is(:hover, :focus) {
  background-size: 0 1.5px; /* Full width underline on hover */
  background-image: linear-gradient(var(--accent-2), var(--accent-2)); /* Change color of underline on hover */
  cursor: pointer;
  color: var(--accent-2); /* Change text color on hover */
}


/*** WordPress General Styling Custom CSS ***/
#main p:last-child:last-of-type,
.site-footer p:last-child:last-of-type {
	margin-bottom: 0;
} /* Remove bottom margin from last paragraph in a container */
#main sup,
.site-footer #main sup {
    position: relative;
    font-size: 70%;
    line-height: 0;
    vertical-align: baseline;
    top: -.5em;
} /* Style Superscript */


/*** WordPress Table Block Custom CSS ***/
#main .wp-block-table {
	margin: 0;
} /* Table block formatting */
#main figure.wp-block-table {
	overflow-x: auto;
	overflow-y: hidden;
} /* Allow sideways scroll for table block on mobile */
#main .wp-block-table table {
	min-width: 688px;
	margin: 0;
} /* Allow sideways scroll for table block on mobile */


/*** Horizontal Line Styling ***/
#main hr {
	margin-top: var(--margin-bottom-p);
	margin-bottom: var(--margin-bottom-p);
} /* Adjust HR styling */
#main .wp-block-separator {
	border: .5px solid;
} /* Adjust HR styling */


/*** WordPress Blockquote Block Custom CSS ***/
#main blockquote {
	border: none;
	font-size: var(--text-lg);
	line-height: var(--line-height-lg);
	margin-bottom: var(--margin-bottom-lg);
}
#main blockquote::before {
	content: "\201C";
	display: block;
	font-size: 100px;
	color: var(--accent-2);	
	top: -60px;
	left: -48px;
	position: relative;
	height: 0;
}
#main blockquote p {
	margin-bottom: var(--margin-bottom-p);
}
#main .wp-block-quote {
	border-left: 0 !important;
}
@media (max-width: 767px) {
	#main blockquote::before {
		left: -28px;
	}
}

/*** WordPress Lists Block Custom CSS ***/

/* Base styles for unordered lists */
#main ul.wp-block-list,
#main .gb-container ul,
#main .acf-wysiwyg-editor-styling ul {
  margin: 0 0 var(--margin-bottom-p) 0;
  list-style: none;
}
#main ul.wp-block-list li,
#main .gb-container ul li,
#main .acf-wysiwyg-editor-styling ul li {
  position: relative;
  padding-left: 25px;
}
#main ul.wp-block-list li::before,
#main .gb-container ul li::before,
#main .acf-wysiwyg-editor-styling ul li::before {
  content: "\25A0";
  color: var(--accent-2);
  font-size: 17px;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-2px);
}

/* Nested unordered lists */
#main ul.wp-block-list li ul,
#main .gb-container ul li ul,
#main .acf-wysiwyg-editor-styling ul li ul {
  margin: 0;
  padding-left: 10px;
  list-style: none;
}
#main ul.wp-block-list li ul li,
#main .gb-container ul li ul li,
#main .acf-wysiwyg-editor-styling ul li ul li {
  position: relative;
  padding-left: 25px;
}
#main ul.wp-block-list li ul li::before,
#main .gb-container ul li ul li::before,
#main .acf-wysiwyg-editor-styling ul li ul li::before {
  content: "\25A0";
  color: var(--accent-2);
  font-size: 17px;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-2px);
}

/* Style for top-level ordered lists */
#main ol.wp-block-list,
#main .gb-container ol,
#main .acf-wysiwyg-editor-styling ol {
  margin: 0 0 var(--margin-bottom-p) 0;
  padding-left: 25px;
  list-style: decimal;
}

/* Add padding or margin to all <li> elements inside ordered lists */
#main ol.wp-block-list li,
#main .gb-container ol li,
#main .acf-wysiwyg-editor-styling ol li {
  padding-left: 5px;
}

/* Style for the markers (numbers and letters) */
#main ol.wp-block-list li::marker,
#main .gb-container ol li::marker,
#main .acf-wysiwyg-editor-styling ol li::marker {
  color: var(--accent);
  font-weight: bold;
}

/* Nested ordered lists */
#main ol.wp-block-list ol,
#main .gb-container ol ol,
#main .acf-wysiwyg-editor-styling ol ol {
  margin-bottom: 0;
  padding-left: 20px;
  list-style: lower-alpha;
}

/* Style for markers in nested lists */
#main ol.wp-block-list ol li::marker,
#main .gb-container ol ol li::marker,
#main .acf-wysiwyg-editor-styling ol ol li::marker {
  color: var(--accent);
  font-weight: bold;
}

/* Unordered lists inside ordered lists */
#main ol.wp-block-list li ul,
#main .gb-container ol li ul,
#main .acf-wysiwyg-editor-styling ol li ul {
  margin: 0;
  padding-left: 10px;
  list-style: none;
}
#main ol.wp-block-list li ul li,
#main .gb-container ol li ul li,
#main .acf-wysiwyg-editor-styling ol li ul li {
  position: relative;
  padding-left: 25px;
}
#main ol.wp-block-list li ul li::before,
#main .gb-container ol li ul li::before,
#main .acf-wysiwyg-editor-styling ol li ul li::before {
  content: "\25A0";
  color: var(--accent);
  font-size: 17px;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-2px);
}

/* Center List */
#main ul.wp-block-list.is-centered {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  align-items: center;
}

#main ul.wp-block-list.is-centered li {
  position: static;
  padding-left: 0;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  text-align: left;
  margin-left: -20px;
}

#main ul.wp-block-list.is-centered li::before {
  position: static;
  transform: none;
  flex-shrink: 0;
}


/*** GenerateBlocks Footer Elements Link Styling ***/
footer .gb-headline a,
footer .gb-headline-text a,
footer .gb-text a,
footer .gb-headline a:visited,
footer .gb-headline-text a:visited,
footer .gb-text a:visited,
footer .gb-headline a:link,
footer .gb-headline-text a:link,
footer .gb-text a:link {
    text-decoration: none;
	position: relative;
	color: var(--base-3); /* Normal state color */
	background-image: linear-gradient(var(--base-3), var(--base-3));
	background-size: 0 1.5px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size 0.5s ease-in-out, color 0.3s ease-in-out;
}
footer .in-paragraph-link a,
footer .in-paragraph-link a:visited,
footer .in-paragraph-link a:link {
	text-decoration: none;
	position: relative;
	color: var(--base-3); /* Normal state color */
	background-image: linear-gradient(var(--base-3), var(--base-3));
	background-size: 100% 1.5px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size 0.5s ease-in-out, color 0.3s ease-in-out;
}
footer .gb-headline a:hover,
footer .gb-headline a:focus,
footer .gb-headline-text a:hover,
footer .gb-headline-text a:focus,
footer .gb-text a:hover,
footer .gb-text a:focus {
    background-size: 100% 1.5px; /* Full width underline on hover */
	background-image: linear-gradient(var(--base-3), var(--base-3)); /* Change color of underline on hover */
	cursor: pointer;
	color: var(--base-3); /* Change text color on hover */
}
footer .in-paragraph-link a:hover,
footer .in-paragraph-link a:focus {
	background-size: 0 1.5px;
    cursor: pointer;
    color: var(--base-3);
}


/*** Post/Page Password Protected Page styling custom CSS ***/
.post-password-required .inside-article .entry-content {
	max-width: 1200px;
	margin: auto;
	padding: 80px 40px;
	min-height: 700px;
} /* Post/Page Password Protected Page Styling */
@media (max-width: 1024px) {
	.post-password-required .inside-article .entry-content {
		padding: 60px 40px;
		min-height: 400px;
	} /* Post/Page Password Protected Page Styling */
}
@media (max-width: 767px) {
	.post-password-required .inside-article .entry-content {
		padding: 40px 20px;
	} /* Post/Page Password Protected Page Styling */
}
.post-password-form {
	max-width: 300px;
	margin: auto;
} /* Post/Page Password Protected Page Styling */
.post-password-form label {
	padding: 0;
} /* Post/Page Password Protected Page Styling */
.post-password-form label input[type="password"] {
	display: block;
	width: 300px;
	font-size: inherit;
	line-height: inherit;
	color: var(--contrast);
	padding: 12px 20px !important;
	border: 2px solid var(--contrast);
	background-color: var(--base);
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
} /* Post/Page Password Protected Page Styling */
.post-password-form input[type="submit"] {
	font-size: inherit;
	font-weight: 600;
	line-height: inherit;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--base);
	padding: 8px 30px;
	border: 2px solid var(--contrast);
	background-color: var(--contrast);
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	-webkit-transition: all 0.2s ease-in 0s;
	-moz-transition: all 0.2s ease-in 0s;
	-o-transition: all 0.2s ease-in 0s;
	-ms-transition:all 0.2s ease-in 0s;
	transition: all 0.2s ease-in 0s;
	min-width: 300px;
	margin-top: 20px;
} /* Post/Page Password Protected Page Button Styling */
.post-password-form input[type="submit"]:hover,
.post-password-form input[type="submit"]:focus {
	background-color: var(--contrast);
	color: var(--base);
	text-decoration: none;
	border: 2px solid var(--contrast);
} /* Post/Page Password Protected Page Button Styling */
@media (max-width: 460px) {
	.post-password-form,
	.post-password-form label input[type="password"],
	.post-password-form input[type="submit"] {
		min-width: 100%;
	}
}