/*
 Theme Name:   Veritas Academy Tucson
 Theme URI:    https://vatucson.com
 Description:  Theme for Veritas Academy Tucson
 Author:       Shanda Watts
 Author URI:   https://crushingpixels.com
 Template:     generatepress
 Version:      2.0
*/


/***Load Fonts 

@font-face {
    font-family: 'Inter';
    src: local(''), 
		 url('../generatepress_child/fonts/InterVariable.woff2') format('woff2-variations'),
         url('../generatepress_child/fonts/InterVariable.ttf') format('truetype-variations');
    font-weight: 300 400 500 600 700;
    font-style: normal;
	font-display: swap;
}
***/




/***Container Styles ***/

/* Site Wrapper */
.site-wrapper {
    width: 100%;
    max-width: 1920px;
    margin-inline: auto;
}

.ar-16-9 {
    aspect-ratio: 16/9;
}

.ar-9-16 {
    aspect-ratio: 9/16;
}

.ar-4-3 {
    aspect-ratio: 4/3;
}

.ar-3-4 {
	aspect-ratio: 3/4;
}
.ar-3-1 {
	aspect-ratio: 3/1;
}

.ar-1-1 {
	aspect-ratio: 1/1;
}


/* Visually Hidden */
.visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* inside editor-style.css (or enqueued editor CSS) */
.editor-styles-wrapper .visually-hidden:not(:focus):not(:active) {
  clip: auto !important;
  clip-path: none !important;
  height: auto !important;
  overflow: visible !important;
  position: static !important;
  white-space: normal !important;
  width: auto !important;
}


/* No Underline */
.no-ul, .no-ul a {
	text-decoration: none;
}

/* To Uppercase */
.to-upper {
	text-transform: uppercase;
}

/* Remove bottom margin on last paragraph */
.gb-container p:last-child:last-of-type {
    margin-bottom: 0px;
}

.block-editor-block-list__layout .gb-container p:nth-last-child(2) {
    margin-bottom: 0px;
}

/**Cursor**/
.pointer {
	cursor:pointer;
}

/**Typography **/

/**Clamp Defaults:
https://chrisburnell.com/clamp-calculator/?font-size-root=16&size-min=18&size-max=24&viewport-min=320&viewport-max=1600&viewport-units=vw&rounding-strategy=nearest&rounding-value=0.5em 
Min Viewpoint: 320px
Max Viewpoint: 1600px
Rootsize: 16px
Viewpoint Units: vw
Rounding Nearest
Rounding Value 0.5em
**/

:root {
	--headline-font:'Playfair Display', serif;
	--body-font: 'Barlow', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	
	/* Color Styles */
	--body-font-color: #4A4A4A;
	
	--button-gold: #B79300;
	--button-blue: #043271;
	--button-white: #FFFFFF;
	--button-black: #000000;
	
	--nav-normal: #FFFFFF;
	--nav-hover: #B79300;
	--nav-active: #B79300;

	/* Body text size: fluid ~ 17.5px to 20px */
	--body: clamp(1.094rem, round(1.055rem + 0.195vw, 0.5em), 1.25rem);

	/* Headline XL: fluid ~ 52px to 72px */
	--headline-xl: clamp(3.25rem, round(2.938rem + 1.563vw, 0.5em), 4.5rem);

	/* Headline H1: fluid ~ 52px to 60px */
	--headline-h1: clamp(3.25rem, round(3.125rem + 0.625vw, 0.5em), 3.75rem);

	/* Headline H2:fluid ~ 44px to 52px */
	--headline-h2: clamp(2.75rem, round(2.625rem + 0.625vw, 0.5em), 3.25rem);

	/* Headline H3: fluid ~ 41px to 45px */
	--headline-h3: clamp(2.563rem, round(2.5rem + 0.313vw, 0.5em), 2.813rem);

	/* Headline H4: fluid ~ 24px to 30px */
	--headline-h4: clamp(1.5rem, round(1.406rem + 0.469vw, 0.5em), 1.875rem);

	/* Headline H5: fluid ~ 20px to 28px */
	--headline-h5: clamp(1.25rem, round(1.125rem + 0.625vw, 0.5em), 1.75rem);

	/* Headline H6: fluid ~ 18px to 24px */
	--headline-h6: clamp(1.125rem, round(1.031rem + 0.469vw, 0.5em), 1.5rem);

	/* Body XL: fluid ~ 24px to 28px */
	--body-xl: clamp(1.5rem, round(1.438rem + 0.313vw, 0.5em), 1.75rem);

	/* Body LG: fluid ~ 20px to 24px */
	--body-lg: clamp(1.25rem, round(1.188rem + 0.313vw, 0.5em), 1.5rem);

	/* Body MD: fluid ~ 16px to 18px */
	--body-md: clamp(1rem, round(0.969rem + 0.156vw, 0.5em), 1.125rem);

	/* Body SM: fixed ~ 16px */
	--body-sm: clamp(1rem, round(1rem + 0vw, 0.5em), 1rem);

	/* Body XS: fixed ~ 14px */
	--body-xs: clamp(0.875rem, round(0.875rem + 0vw, 0.5em), 0.875rem);

	--padding-left-right-fullwidth: clamp(2.5rem, calc((100% - 1600px) / 2 + 2.5rem), calc((100% - 1600px) / 2 + 2.5rem));
	
	/* Left and right padding: min ~ 16px, fluid ~ 14px to 18px, max ~ 24px */
	--padding-left-right: clamp(1rem, 0.848rem + 0.758vw, 1.5rem);

	/* Top and bottom padding for default container: min ~ 48px, fluid ~ 48px to 88px, max ~ 80px */
	--padding-default-top-bottom: clamp(3rem, 2.394rem + 3.03vw, 5rem);

	/* Top and bottom padding for XXL container: min ~ 112px, fluid ~ 120px to 174px, max ~ 192px */
	--padding-xxl-top-bottom: clamp(7rem, 7.648vw + 5.47rem, 12rem);

	/* Top and bottom padding for XL container: min ~ 100px, fluid ~ 108px to 174px, max ~ 224px */
	--padding-xl-top-bottom: clamp(6.25rem, 6.692vw + 4.859rem, 14rem);

	/* Top and bottom padding for LG container: min ~ 72px, fluid ~ 72px to 128px, max ~ 120px */
	--padding-lg-top-bottom: clamp(4.5rem, 3.591rem + 4.545vw, 7.5rem);

	/* Top and bottom padding for MED container: min ~ 24px, fluid ~ 24px to 48px, max ~ 40px */
	--padding-med-top-bottom: clamp(1.5rem, 1.197rem + 1.515vw, 2.5rem);

	/* Top and bottom padding for SM container: fixed ~ 24px */
	--padding-sm-top-bottom: clamp(1.5rem, 1.5rem + 0vw, 1.5rem);

	/* Top and bottom padding for XS container: fixed ~ 16px */
	--padding-xs-top-bottom: 1rem;

}

body {
	font-family: var(--body-font);
	font-weight:400;
	color: var(--body-font-color);
}

.heading-font {
	font-family: var(--headline-font);
	font-weight:700;
}

.body-font {
	font-family: var(--body-font);
}

p {
	font-size:var(--body);
	font-family: var(--body-font);
	line-height: 1.6;
	margin-bottom: 1.25rem;
}

h1, h2, h3, h4, h5, h6, .headline-xl, .headline-h1, .headline-h2, .headline-h3, .headline-h4, .headline-h5, .headline-h6 {
	font-family: var(--headline-font);
	margin-bottom:1rem;
	line-height: 1.15;
	font-weight:400;
}

.headline-xl {
	font-size:var(--headline-xl);
}


h1, .headline-h1 {
	 font-size: var(--headline-h1);
	 line-height:1.1;
}

h2, .headline-h2 {
	font-size: var(--headline-h2);
	line-height:1.1;
}

h3, .headline-h3 {
	font-size: var(--headline-h3);
	 line-height:1.2;
}

h4, .headline-h4 {
	font-size: var(--headline-h4);
	 line-height:1.25;
}

h5, .headline-h5 {
	font-size: var(--headline-h5);
	line-height: 1.25;
}

h6, .headline-h6{
	font-size: var(--headline-h6);
	line-height: 1.4;
}

.sub-headline {
	font-size: clamp(1.5rem, round(1.438rem + 0.313vw, 0.5em), 1.75rem);
}

.body-xl {
	font-family: var(--body-font);
    font-size: var(--body-xl);
}

.body-lg {
	font-family: var(--body-font);
    font-size: var(--body-lg);
}

.body-md {
	font-family: var(--body-font);
    font-size: var(--body-md);
}

.body-sm {
	font-family: var(--body-font);
    font-size: var(--body-sm);
}

.body-xs {
	font-family: var(--body-font);
    font-size: var(--body-xs);
}

.body-lt {
	font-weight:300;
}


.balanced {
  max-inline-size: 50ch;
  text-wrap: balance;
}

.pretty {
  text-wrap: pretty;
}

.li-space-md li {
	margin-bottom: 1.5rem;
}

.justify {
	text-align: justify;
}

.stretch-link{
	position: relative;
}

.stretch-link a::after{
	content: '';
	position: absolute;
	inset: 0;
}

.stretch-link a:is(:focus-visible)::after{
	outline: 2px solid;
}

.stretch-link a:is(:hover, :focus){ 
	outline: none;
} 


/***Section Padding***/

.container-default {
    padding: var(--padding-default-top-bottom) var(--padding-left-right);
}

.container-xxl {
    padding: var(--padding-xxl-top-bottom) var(--padding-left-right);
}

.container-xl {
    padding: var(--padding-xl-top-bottom) var(--padding-left-right);
}

.container-lg {
    padding: var(--padding-lg-top-bottom) var(--padding-left-right);
}

.container-md {
    padding: var(--padding-med-top-bottom) var(--padding-left-right);
}

.container-sm {
    padding: var(--padding-sm-top-bottom) var(--padding-left-right);
}

.container-xs {
    padding: var(--padding-xs-top-bottom) var(--padding-left-right);
}

/** Buttons **********/

.gb-button {
	border-radius: 50px;
	text-align: center;
	padding: 15px 30px;
	border: 2px solid transparent;
	font-weight: 600;
}

.gb-button-text {
	font-family:var(--body-font);
	font-size: 1rem;
	text-transform: uppercase;
	font-weight: 600;
}

.btn-gold {
	background-color: var(--button-gold) !important;
	color: var(--button-white) !important;
	transition: all 0.3s;
}

.btn-gold:hover {
	background-color:#86711b !important;
	color: var(--button-white) !important;
	opacity:0.9;
}

.btn-blue {
	background-color: var(--button-blue) !important;
	color: var(--button-white) !important;
	transition: all 0.3s;
}

.btn-blue:hover {
	background-color: #0A103C !important;
	color: var(--button-white) !important;
}

.btn-outline {
	background-color: transparent !important;
	color: var(--button-blue) !important;	
	border: 2px solid var(--button-blue);
	transition: all 0.3s;
}

.btn-outline:hover {
	opacity:0.9;
	background-color:var(--accent-gold)!important;
	border: 2px solid var(--accent-gold);
}

/*Password Protected Page */
.post-password-required {
	padding: var(--padding-default-top-bottom) var(--padding-left-right);
	margin-left: auto;
    margin-right: auto;
    max-width: var(--gb-container-width);
	display: flex;
    flex-direction: column;
      align-items: center;
    justify-content: center;
	text-align:center;
}

.ppw-ppf-desc {
	margin-bottom:1rem;
	
}

.ppw-ppf-field-container {
	padding:2rem;
	background-color:#f8fafc;
}

.ppw-pwd-label {
	font-weight:500;
}

input[name="post_password"] {
  margin-left:1rem;
}

/* Top Nav Bar (hook) */

.top-nav-bar svg {
	fill: var(--button-gold) !important;
}

/* Main Navigation */

.main-navigation .main-nav ul li a {
	font-size: 0.875rem;
	color: var(--nav-normal);
	text-transform: uppercase;
	font-weight:600;
	border-bottom:3px solid transparent;
	
}

.main-navigation .main-nav ul li a:hover {
	color: var(--nav-hover);
	border-bottom:3px solid var(--nav-hover);
}

.main-navigation .main-nav ul li a:active {
	color: var(--nav-active);
	border-bottom:3px solid var(--nav-active);
}

@media (min-width: 480px) {
.main-navigation .inside-navigation {
    justify-content: flex-end !important;
}
}
/* Footer Navigation */

.site-footer nav ul li a {
	font-size: 0.875rem;
	color: var(--nav-normal);
	text-transform: uppercase;
	font-weight:500;
	padding:0 25px;
	text-decoration: none;
}

.site-footer nav ul li a:hover {
	color: var(--nav-hover) !important;
}

.site-footer nav ul li [aria-current="page"] {
	color: var(--nav-active) !important;
}

/* Footer Social Buttons */

.site-footer .social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg:hover {
	fill: #B79300;
}

/* Haumburger Menu Styling */ 
	.main-navigation .menu-toggle {
 	font-size: 2em;
}  

/**Section Colors */

.royal-blue-bg a {
	color:#f7c90d;
}

.royal-blue-bg a:hover {
	color:#e5b905;
}
/** Academy Tabs **/

.academic-tab h4 {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	width: 250px;
	border-bottom: 1px solid #FFFFFF;
}

/* Schedule Tables */
  .schedule-table {
    background-color: #0452B9;
    color: #FFFFFF;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;          
  }

  .schedule-table,
  .schedule-table tbody,
  .schedule-table tr,
  .schedule-table td {
    border: none;      
    outline: none;                  
    background: transparent;          
  }

  .schedule-table td {
    padding: 0.5rem;
  }

  .schedule-table tbody tr:first-child td {
    border-bottom: 1px solid #FFFFFF; 
  }

  .vert-middle {
    vertical-align: middle;
  }



/*Staff Pages*/
.facet-staff_id { display: none; }

.wpgb-content-popup {
  display: none;
}

.wpgb-content-popup.is-visible {
  display: block;
}

.editor-styles-wrapper .wpgb-content-popup, .editor-styles-wrapper .facet-staff_id, .editor-styles-wrapper .overlay-staff-loop-wrap  {
  display: block;
}



.overlay-staff-loop-wrap {
    opacity: 0;
    transition: opacity 0.4s ease;
}

.overlay-staff-loop-wrap.faded-in {
    opacity: 1;
}

/**-----------------------Add Custom Styles--------------------------**/

/*Desktop*/
@media only screen and (min-width: 1025px) {


}
/*Tablet and smaller styles*/
@media only screen and (max-width: 1024px) {


}