/*
Theme Name: Twenty Twenty-Five CHILD Niskayuna
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: CHILD THEME of the Twenty Twenty-Five Wordpress Theme.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
	1.0 Links and buttons
		1.1 Links - Visited, hover and focus styles
		1.2 Links - Link color inside blocks with a background color
		1.3 Links - External and pdf link indicators
		1.4 Links - Lists of links
		1.5 Button styles
	2.0 Navigation
		2.1 Navigation - MAIN
		2.2 Navigation - SECONDARY
		2.3 Navigation - SCHOOLS
		2.4 Navigation - SEARCH and TRANSLATE
		2.5 Navigation - CONNECT LINKS
		2.6 Navigation - MOBILE NAV
	3.0 Header
	4.0 Footer
	5.0 Pages
		5.1 Page - Search Results
		5.2 Page - Staff Directory Results
		5.3 Page - Home
		5.4 Page - School Pages
		5.5 Page - News
		5.6 Page - About Us
	6.0 Features
		6.1 Features - Special Alert Bar
		6.2 Features - ICS Calendar
		6.3 Features - ICS Calendar - Grid View
		6.4 Features - Yoast Breadcrumbs
		6.5 Features - Smart Slider
		6.6 Features - CSS Animations
	7.0 Media Queries

/*--------------------------------------------------------------
 * 1.0 Links and buttons
 --------------------------------------------------------------*/

/* 1.1 Links - Visited, hover and focus styles  */

:focus-visible {
	outline: 3px solid;
}

.focus-visible-white a:focus,
.focus-visible-white img:hover {
	color: #fff !important;
	opacity: 0.7;
	outline: 1px dotted !important;
}

a:hover,
a:focus,
a:where(:not(.wp-element-button)):hover,
a:where(:not(.wp-element-button)):focus {
	text-decoration: underline;
	text-decoration-style: solid;
	text-decoration-thickness: 2px;
}

a:where(:not(.wp-element-button)):visited {
    color: #800080;
}

/* 1.2 Links - Link color inside blocks with a background color */

.has-background a:where(:not(.wp-element-button)),
.has-background a:where(:not(.wp-element-button)):visited { 
    color: inherit;
}

/* Set visited link colors based on what color is used for the background.*/
.has-background-color.has-contrast-background-color a:visited { 
    color: inherit;
}

/* 1.3 Links - External and pdf link indicators */

a[rel=" nofollow"]:after, /* Note: Do not remove the space before nofollow on this line. This is a fix for an extraneous space coming in on buttons in the WP editor */
a[rel="nofollow"]:after,
a[rel="noreferrer"]:after,
a[rel="noopener"]:after,
a[rel="nofollow noreferrer"]:after,
a[rel="nofollow noopener"]:after,
a[rel="noreferrer nofollow"]:after,
a[rel="noreferrer noopener"]:after,
a[rel="noopener nofollow"]:after,
a[rel="noopener noreferrer"]:after,
a[rel="nofollow noreferrer noopener"]:after,
a[rel="nofollow noopener noreferrer"]:after,
a[rel="noreferrer nofollow noopener"]:after,
a[rel="noreferrer noopener nofollow"]:after,
a[rel="noopener nofollow noreferrer"]:after,
a[rel="noopener noreferrer nofollow"]:after {
    font-family: FontAwesome;
	font-size: small;
    content:' \f08e';
    margin: 0;
}

a[href$=".pdf"]:after {
    font-family: FontAwesome;
    font-size: small;
    font-size: 0.8125rem;
    content:' \f1c1';
    margin: 0;
}

/* Turn off external indicators for social links and connect button links */

.wp-block-social-links a[rel=" nofollow"]:after, /* Note: Do not remove the space before nofollow on this line. This is a fix for an extraneous space coming in on buttons in the WP editor */
.wp-block-social-links a[rel="nofollow"]:after,
.wp-block-social-links a[rel="noreferrer"]:after,
.wp-block-social-links a[rel="noopener"]:after,
.wp-block-social-links a[rel="nofollow noreferrer"]:after,
.wp-block-social-links a[rel="nofollow noopener"]:after,
.wp-block-social-links a[rel="noreferrer nofollow"]:after,
.wp-block-social-links a[rel="noreferrer noopener"]:after,
.wp-block-social-links a[rel="noopener nofollow"]:after,
.wp-block-social-links a[rel="noopener noreferrer"]:after,
.wp-block-social-links a[rel="nofollow noreferrer noopener"]:after,
.wp-block-social-links a[rel="nofollow noopener noreferrer"]:after,
.wp-block-social-links a[rel="noreferrer nofollow noopener"]:after,
.wp-block-social-links a[rel="noreferrer noopener nofollow"]:after,
.wp-block-social-links a[rel="noopener nofollow noreferrer"]:after,
.wp-block-social-links a[rel="noopener noreferrer nofollow"]:after {
	display: none;
}

/* 1.4 Links - Lists of links */

/* List of links for News Archives and Recent Headlines */
ul.listoflinks,
.listoflinks ul {
	list-style: none;
	padding-left: 0;
	color: var(--wp--preset--color--contrast);
}

ul.listoflinks li,
.listoflinks ul li {
	display:flex;
	justify-content: space-between;
	padding: 5px 0 5px 0;
	border-bottom: 1px solid var(--wp--preset--color--base-3);
	margin-bottom: .25em 0 .25em 0;
	color: var(--wp--preset--color--contrast);
} 

ul.listoflinks li:after,
.listoflinks ul li:after {
    color: var(--wp--preset--color--contrast-2);
    content: "\f105";
	font-family: FontAwesome;
	font-weight: 300;
	font-size: 1.25rem;
    vertical-align: middle;
	float: right;
	padding-left:10px;
	transform: translateY(-2px);
}

.listoflinks ul li a,
ul.listoflinks li a {
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}

.listoflinks ul li a:hover,
.listoflinks ul li a:focus,
ul.listoflinks li a:hover,
ul.listoflinks li a:focus {
	text-decoration: underline;
	text-decoration-style: solid;
	text-decoration-thickness: 2px;
}

.listoflinks ul li a:visited,
ul.listoflinks li a:visited {
	color:inherit;
}

/* List of links for Featured Links */

ul.featuredlinks,
.featuredlinks ul {
	list-style: none;
	padding-left: 0;
	color: var(--wp--preset--color--base);
}

ul.featuredlinks li,
.featuredlinks ul li {
	display:flex;
	justify-content: space-between;
	padding: 5px 0 5px 0;
	border-bottom: 1px solid var(--wp--preset--color--base);
	margin-bottom: .25em 0 .25em 0;
	color: var(--wp--preset--color--base);
} 

ul.featuredlinks li:after,
.featuredlinks ul li:after {
    color: var(--wp--preset--color--base);
    content: "\f105";
	font-family: FontAwesome;
	font-weight: 300;
	font-size: 1.25rem;
    vertical-align: middle;
	float: right;
	padding-left:10px;
}

.featuredlinks ul li a,
ul.featuredlinks li a {
	text-decoration: none;
	color: var(--wp--preset--color--base);
}

.featuredlinks ul li a:hover,
.featuredlinks ul li a:focus,
ul.featuredlinks li a:hover,
ul.featuredlinks li a:focus {
	text-decoration: underline;
	text-decoration-style: solid;
	text-decoration-thickness: 2px;
}

.featuredlinks ul li a:visited,
ul.featuredlinks li a:visited {
	color:inherit;
}

/* Bullets and Numbered Lists colors */

li::marker {
    color: #C32032;
}

ol li::marker {
color: #000000;
}

/* Change bullet color to white if the list has a black background */
.has-contrast-background-color li::marker {
    color: #ffffff;
}

/* Change bullet color to white if the list has a red background */
.has-contrast-2-background-color li::marker {
    color: #ffffff;
}

/* Change bullet color to white if the list has a medium gray background */
.has-contrast-3-background-color li::marker {
    color: #ffffff;
}

/* Change bullet color to white if the list has a dark red background */
.has-accent-background-color li::marker {
    color: #ffffff;
}

/* Change bullet color to white if the list has a dark gray background */
.has-accent-2-background-color li::marker {
    color: #ffffff;
}


/* Base styles for Horizontal Section Links on regular page */

.section-links-container {
  display: flex;
	flex-direction:row;
	align-items: center; /* Vertically centers content */
}

.section-links-heading {
  white-space: nowrap; /* Prevents text in heading from wrapping */
	margin-right:2.5em !important;
}

.wp-block-group .listoflinks-horizontal-container {
border-left: 2px solid #000;
	padding-left:2.5em !important;
}

ul.listoflinks-horizontal {
	display: flex;       /* Aligns items in a row */
 	list-style: none;    /* Removes bullet points */
  	gap: 10px 30px;		/* Row gap and column gap. Adds space between items */
  	padding: 0;			/* Removes default browser padding */
	flex-wrap: wrap;	/* Allows list to wrap to multiple lines */
}

ul.listoflinks-horizontal li,
.listoflinks-horizontal ul li {
	white-space: nowrap; /* Prevents text inside from wrapping */
	margin-top:0;
	padding-left:0 !important;
} 

.listoflinks-horizontal ul li a,
ul.listoflinks-horizontal li a {
	text-decoration: none;
}

.listoflinks-horizontal ul li a:hover,
.listoflinks-horizontal ul li a:focus,
ul.listoflinks-horizontal li a:hover,
ul.listoflinks-horizontal li a:focus {
	text-decoration: underline;
	text-decoration-style: solid;
	text-decoration-thickness: 2px;
}

.listoflinks-horizontal ul li a:visited,
ul.listoflinks li a:visited {
	color:inherit;
}

/* Styles for School Links on School Landing Pages */

#schoollinks .wp-block-group .section-links-container-outer {
background-color: var(--wp--preset--color--contrast-4) !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
padding-left: 3em;
padding-right:3em;
margin-bottom:0 !important;
}

#schoollinks .section-links-container {
    display: flex;
    flex-direction: column;
}

#schoollinks .wp-block-group .listoflinks-horizontal-container {
border-left: none;
padding-left: 0 !important;
	margin:0 !important;
	width:100%;

}

#schoollinks .section-links-heading {
white-space: normal; 
margin:0 !important;
	width:100%;
}

#schoollinks h2 {
color: #fff !important;
font-size: var(--wp--preset--font-size--medium-large) !important;
margin-top: 0px !important;
margin-bottom: 0.5em !important;
font-style: normal !important;
font-weight: 300 !important;
letter-spacing: 1px !important;
text-transform: uppercase !important;
}

#schoollinks ul.listoflinks-horizontal {
	display: flex;       
	flex-direction:column;
 	list-style: none;    /* Removes bullet points */
  	padding: 0;			/* Removes default browser padding */
	flex-wrap: wrap;	/* Allows list to wrap to multiple lines */
}

#schoollinks ul.listoflinks-horizontal li,
#schoollinks .listoflinks-horizontal ul li {
	padding: 5px 0 5px 0;
	border-bottom: 1px solid var(--wp--preset--color--base);
	margin-bottom: .25em 0 .25em 0 !important;
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--medium-small)!important;
	font-weight:400;
	white-space: normal;
}

#schoollinks ul.listoflinks-horizontal li:after,
#schoollinks .listoflinks-horizontal ul li:after {
    color: var(--wp--preset--color--base);
    content: "\f105";
	font-family: FontAwesome;
	font-weight: 300;
	font-size: 1.25rem;
    vertical-align: middle;
	float: right;
	padding-left:10px;
}


/* 1.5 Button styles */


/*--------------------------------------------------------------
 * 2.0 Navigation
 --------------------------------------------------------------*/

/* 2.1 Navigation - MAIN - Add class of mainnav to the nav block in WP */

.wp-block-navigation.mainnav .wp-block-navigation-item a,
.wp-block-navigation.mainnav .wp-block-navigation-item a.wp-block-navigation-item__content {
    border-bottom: 2px solid transparent;
}

.wp-block-navigation.mainnav .wp-block-navigation-item a:hover, 
.wp-block-navigation.mainnav .wp-block-navigation-item a:focus,
.wp-block-navigation.mainnav .wp-block-navigation-item a[aria-current="page"] {
  text-decoration:underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

mainnav ul li.current-menu-item a {
    border-bottom: 2px solid var(--wp--preset--color--base);
}

.wp-block-navigation.mainnav .wp-block-navigation__responsive-container-open:after {
    content: "Main Menu";
    text-transform: uppercase;
	font-size: var(--wp--preset--font-size--medium-small) !important;
	font-weight: 600;
}

.wp-block-navigation.mainnav .wp-block-navigation__responsive-container-close:after {
    content: "Close";
    padding: 0.5em 0;
    text-transform: uppercase;
	font-size: var(--wp--preset--font-size--medium-small) !important;
	font-weight: 600;
}

.wp-block-navigation.mainnav .wp-block-navigation__responsive-container-close {
	display: flex;
	align-items: center;
}

.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
	margin-right:.25em;
}

/* Main navigation SUBMENU DROPDOWN styles */

.wp-block-navigation-submenu ul li {
	font-size: var(--wp--preset--font-size--small)!important;
	text-transform: none;
}

.wp-block-navigation.mainnav .wp-block-navigation-submenu .wp-block-navigation-item a {
	padding: .5em 1em;
}

/* Make the icon large enough for accessibility and move it within the hover and active background color */
.wp-block-navigation.mainnav .wp-block-navigation__submenu-icon {
	height: 1em;
	width: 1em;
	margin-top:-3px;
}

.wp-block-navigation.mainnav .wp-block-navigation-submenu .wp-block-navigation-item a:hover, 
.wp-block-navigation.mainnav .wp-block-navigation-submenu .wp-block-navigation-item a:focus,
.wp-block-navigation.mainnav .wp-block-navigation-submenu .wp-block-navigation-item a[aria-current="page"] {
  text-decoration:underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	background-color:var(--wp--preset--color--base-2);
}


/* 2.2 Navigation - SECONDARY - Add class of secondarynav to the nav block in WP */

.secondarynav ul li{
padding-right:15px;
}

.secondarynav li {
  display: inline-block;
  border-right: 2px solid #C32032;
}
.secondarynav li:last-child {
  border-right: none; /* Removes line after the last item */
}

.secondarynav ul li:last-child {
padding-right:0;
}

/* 2.3 Navigation - SCHOOL - Add class of schoolnav to the nav block in WP */

.wp-block-navigation.schoolnav .wp-block-navigation-item a,
.wp-block-navigation.schoolnav .wp-block-navigation-item a.wp-block-navigation-item__content {
    border-bottom: 3px solid transparent;
}

.wp-block-navigation.schoolnav .wp-block-navigation-item a:hover, 
.wp-block-navigation.schoolnav .wp-block-navigation-item a:focus,
.wp-block-navigation.schoolnav .wp-block-navigation-item a[aria-current="page"] {
  text-decoration:underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 4px;
	text-decoration-color: var(--wp--preset--color--contrast-2);
}

schoolnav ul li.current-menu-item a {
    text-decoration:underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 4px;
	text-decoration-color: var(--wp--preset--color--contrast-2);
}

.wp-block-navigation.schoolnav .wp-block-navigation__responsive-container-open:after {
    content: "Our Schools";
    text-transform: uppercase;
	font-size: var(--wp--preset--font-size--medium-small) !important;
	font-weight: 600;
}

.wp-block-navigation.schoolnav .wp-block-navigation__responsive-container-close:after {
    content: "Close";
    padding: 0.5em 0;
    text-transform: uppercase;
	font-size: var(--wp--preset--font-size--medium-small) !important;
	font-weight: 600;
}

.wp-block-navigation.schoolnav .wp-block-navigation__responsive-container-close {
	display: flex;
	align-items: center;
}


/* 2.4 Navigation - SEARCH and TRANSLATE */

/* Reduce the height and padding of the search bar */
.wp-block-search__inside-wrapper {
    height: 30px !important; /* Adjust height as needed */
}

.wp-block-search__input {
    padding: 5px 10px !important; /* Shrinks the inner space */
    height: 100% !important;
}

.wp-block-search__button {
    padding: 0px 5px !important; /* Adjusts the button size to match */
margin-left:0 !important;
background-color:var(--wp--preset--color--contrast);
}

/* 2.5 Navigation - CONNECT LINKS */

.classlink::before {
	content: url(/wp-content/themes/twentytwentyfive-child-Nisky/assets/images/Nisky-connect-icons_ClassLink.svg);
	height:18px;
	width:25px;
	margin-right: 5px;
  	vertical-align: middle;
	align-items: center;
}


.linqconnect::before {
	content: url(/wp-content/themes/twentytwentyfive-child-Nisky/assets/images/Nisky-connect-icons_LINQConnect.svg);
	height:18px;
	width:18px;
	margin-right: 5px;
  	vertical-align: middle;
}

.parentsquare::before {
	content: url(/wp-content/themes/twentytwentyfive-child-Nisky/assets/images/Nisky-connect-icons_ParentSquare.svg);
	height:18px;
	width:18px;
	margin-right: 5px;
  	vertical-align: middle;
}

.powerschool::before {
	content: url(/wp-content/themes/twentytwentyfive-child-Nisky/assets/images/Nisky-connect-icons_PowerSchool.svg);
	height:18px;
	width:14px;
	margin-right: 5px;
  	vertical-align: middle;
}


/* 2.6 Navigation - Mobile Nav */

.wp-block-navigation.mobilenav .wp-block-navigation-item {
	width: 100%;
}

.wp-block-navigation.mobilenav .wp-block-navigation-item a,
.wp-block-navigation.mobilenav .wp-block-navigation-item a.wp-block-navigation-item__content {
	padding: .5em 1.5em;
	width: 100%;
}

.wp-block-navigation.mobilenav .wp-block-navigation-item a:hover, 
.wp-block-navigation.mobilenav .wp-block-navigation-item a:focus,
.wp-block-navigation.mobilenav .wp-block-navigation-item a[aria-current="page"]{
	text-decoration:underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.mobilenav ul li.current-menu-item a {
	border-bottom: 2px solid var(--wp--preset--color--base);
}

.wp-block-navigation.mobilenav button.wp-block-navigation__responsive-container-open:after {
    content: "Main Menu";
    text-transform: uppercase;
	font-size: var(--wp--preset--font-size--medium-small) !important;
	font-weight: 600;
}

.wp-block-navigation.mobilenav button.wp-block-navigation__responsive-container-close:after {
    content: "Close";
    padding: 0.5em 0;
    text-transform: uppercase;
	font-size: var(--wp--preset--font-size--medium-small) !important;
	font-weight: 600;
}
.wp-block-navigation.mobilenav .wp-block-navigation__responsive-container-close {
	display: flex;
	align-items: center;
}

.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
	margin-right:.25em;
}

.wp-block-navigation.mobilenav.items-justified-center{
	width: 100%;
}

.mobilenav div.wp-block-spacer {
	border-top: 2px solid #fff;
	width: 100% !important;
	
}

/*--------------------------------------------------------------
 * 3.0 Header
 --------------------------------------------------------------*/

header .wp-block-site-logo img {
	height: auto;
	width: 282px;
}

/*--------------------------------------------------------------
 * 4.0 Footer
 --------------------------------------------------------------*/

footer.wp-block-template-part{
	margin-block-start: 0 ;
}

.pillar-column-1, .pillar-column-2  {
padding-right:2em;
border-right: 1px solid #fff;
}

.pillar-column-3  {
border-right: none;
}


.wp-block-social-links li{
border: 1px solid #fff;
padding:5px !important;
}

.footer-site-text p {
    font-size: var(--wp--preset--font-size--tiny);
    font-family: 'Open Sans', sans-serif;
    color: #fff;
}

/*--------------------------------------------------------------
 * 5.0 Pages
 --------------------------------------------------------------*/

/* 5.1 Page - Search Results */

/* Add icons before results of different types — page, post, pdf */

body.search.search-results .wp-block-query li.type-page h2.wp-block-post-title::before {
    content: "\f108";
    font-family: 'FontAwesome';
    color: var(--wp--preset--color--contrast-2);
    padding-right: 0.25em;
    text-transform: uppercase;
}
    
body.search.search-results .wp-block-query li.type-post h2.wp-block-post-title::before {
    content: "\f1ea";
    font-family: 'FontAwesome';
    color: var(--wp--preset--color--contrast-2);
    padding-right: 0.25em;
    text-transform: uppercase;
}

body.search.search-results .wp-block-query li.type-pdf h2.wp-block-post-title::before {
    content: "\f1c1";
    font-family: 'FontAwesome';
    color: var(--wp--preset--color--contrast-2);
    padding-right: 0.25em;
    text-transform: uppercase;
}

/* 5.2 Page - Staff Directory Results */


/* 5.3 Home */

.inner-shadow {
  box-shadow: 
    /* Top shadow: h-offset v-offset blur spread color inset */
    inset 0px 4px 6px 0px rgba(0, 0, 0, 0.1);
}

/* 5.4 School Landing Pages */

.school-news h3 {
border-left: 6px solid var(--wp--preset--color--contrast-2);
    padding-left: 8px;
}

/* Nisky-by-the-numbers */

.transparentbox {
  background-color: rgba(255, 255, 255, 0.5) !important; /* 50% transparent white */
}

.nisky-numbers-columns-top {
	gap:0;
}

.wp-block-group .redbox {
		margin-left:-50px;
	}

.whiteseparator {
color: var(--wp--preset--color--base);
border-width: 0 0 3px 0 !important;
width:20%;
}

.redseparator {
color: var(--wp--preset--color--contrast-2);
border-width: 0 0 3px 0 !important;
width:20%;
}

/* 5.5 News Archives Page */

.redseparator-news {
color: var(--wp--preset--color--contrast-2);
border-width: 0 0 3px 0 !important;
width:10%;
}

/* 5.6 About Us Page */

#about-us-page .section-links-container-outer {
	margin-bottom:0 !important; /*removes bottom margin form section links */
}

.intro-section .whiteseparator {
color: var(--wp--preset--color--base);
border-width: 0 0 3px 0 !important;
width:15%;
}

.intro-section {
	padding:3em 10em 3em 10em;
}

.epic-description {
border-left: 6px solid var(--wp--preset--color--contrast-2);
    padding-left: 15px;
}


/*--------------------------------------------------------------
 * 6.0 Features
 --------------------------------------------------------------*/

/* 6.1 Features - Special Alert Bar */

.special-alert {
	background-color:#fdb515;
}

.special-alert h1:after {
    content:"\f06a";
    color: var(--wp--preset--color--base);
    margin-left:0.5em;
    font-family:'FontAwesome';
    font-weight:normal;
}

/* 6.2 Features - ICS Calendar */

/* Landing Page compact list view */

.ics-calendar h4 {
	color: var(--wp--preset--color--contrast-2);
    background-color: var(--wp--preset--color--base-2);
    padding: 8px;
    display: inline-block;
    border-radius: 0 15px 0 0px;
	font-size: var(--wp--preset--font-size--small)!important;
}

.ics-calendar-list-wrapper .ics-calendar-date {
	margin: .5em 0 0em !important;
}

.ics-calendar.r34ics_compact dl.events {
	border-top: 1px solid var(--wp--preset--color--base-2);
	margin: 0 0 .5em;
	font-size:16px;
	padding-left:.8em;
}

.ics-calendar.r34ics_compact dl.events {
display:flex !important;
flex-direction:column !important;
}

.ics-calendar-list-wrapper h4 {
margin:0em !important;
}

.ics-calendar .events .time .end_time {
	font-size:100% !important;
}

/* ICS Calendar - Full Page List View */

.ics-calendar-paginate.next {
    color: #fff;
	background-color: #000000;
	border-radius: 999px;
	padding: 10px 30px;
	text-decoration: none;	
}

.ics-calendar-paginate.prev {
    color: #fff;
	background-color: #000000;
	border-radius: 999px;
	padding: 10px 30px;
	text-decoration: none;	
}

.ics-calendar-paginate.next > a.prev:hover,
.ics-calendar-paginate.next > a.prev:focus,
.ics-calendar-paginate.next > a.next:hover,
.ics-calendar-paginate.next > a.next:focus {
    background: var(--wp--preset--color--contrast-2) !important;
	text-decoration: underline;
}



.ics-calendar dl.events {
	border-top: 1px solid #EEEEEE;
	padding-left: .8em; 
}

.ics-calendar-date {
font-size: var(--wp--preset--font-size--medium-small) !important;
}


.ics-calendar-list-wrapper .ics-calendar-date{
padding: .5em .8em;	
}

.ics-calendar .event.all-day {
	padding-top:.5em !important;
}

.ics-calendar .event .descloc.ics-calendar dl.events {
	font-size:100%;
}


/* 6.3 Features - ICS Calendar - Grid View */

.ics-calendar-color-key {
	border:1px solid #000000;
	padding-top:.5em;
	padding-bottom:.5em;
}

/* adds underline to calendar events that have more details in grid view */
	.wp-site-blocks span.title.has_desc.confirmed {
	text-decoration: underline;
	}


.ics-calendar-arrow-nav > a.prev,
.ics-calendar-arrow-nav > a.next {
    color: #fff;
	background-color: #000000;
	border-radius: 999px;
	padding: 10px 30px;
	text-decoration: none;	
}

.ics-calendar-arrow-nav > a.prev:hover,
.ics-calendar-arrow-nav > a.prev:focus,
.ics-calendar-arrow-nav > a.next:hover,
.ics-calendar-arrow-nav > a.next:focus {
    background: var(--wp--preset--color--contrast-2);
	text-decoration: underline;
}

.ics-calendar-arrow-nav {
margin-bottom:1.5em !important;
}

.ics-calendar-month-grid th {
    background: #71767A !important;
	color: #ffffff !important;
}

.day {
    background-color: #EEEEEE !important;
    font-weight: 700;
font-size: 1.025rem !important;
    padding: .2em .8em;
    text-align: right;
}

.ics-calendar-month-grid .today .day {
   background-color: #C32032 !important;
color: #ffffff !important;
}

.ics-calendar-month-grid .off {
background-color: #EEEEEE !important;
}

.ics-calendar-month-grid ul.events {
font-size:.875rem !important;
}

.ics-calendar-month-grid .events .all-day-indicator {
font-size:100% !important;
}

.ics-calendar-month-grid .events .time {
font-size:100% !important;
font-weight:700 !important;
}



/* 6.4 Features - Yoast Breadcrumbs */

.yoast-breadcrumbs {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--tiny);
	font-family: 'Open Sans', sans-serif;
}

.yoast-breadcrumbs a {
	color: var(--wp--preset--color--contrast);
}


/* 6.5 Features - Smart Slider */


/* Rounded corners on Smart Sliders */
.n2-ss-slider-2 .n2-ow {
	border-radius: 25px 0px 25px 0px !important;
}


/* 6.6 Features - Content Patterns for Editors */

/* Table of Contents */

.toc > li {
padding: 5px 0 10px 0;
margin: .25em 0 .25em 0;
border-bottom: 2px dotted #c7c7c7;
list-style:none;
}

.toc {
padding-left: 0em;
}

/* Add Font Awesome icon to nested lists only */

/* 1. Remove default bullets from nested lists only */
.toc ul ul {
  list-style-type: none;
}

/* 2. Add Font Awesome icon to nested list items */
.toc ul ul li::before {
  content: "\f105"; 
  font-family: FontAwesome;
  font-weight: 900; /* Required for Solid icons */
color:#C32032;
  display: inline-block;
  width: 1em; /* Space for the icon */
  margin-left: -1.5em; /* Pull icon into the gutter */
}

/* Numbered list using counter method (Note: Is not compatible with IE 7 and older since IE didn’t add support for the content property and the :before and :after pseudo-elements until IE 8) */


.round-numbered-list {
	counter-reset:li; /* Initiate a counter */
	margin-left:0; /* Remove the default left margin */
	padding-left:0; /* Remove the default left padding */
}

.round-numbered-list > li {
	position:relative; /* Create a positioning context */
	margin:0 0 .75em 2em; /* Give each list item a left margin to make room for the numbers */
	padding:4px 8px; /* Add some spacing around the content */
	list-style:none; /* Disable the normal item numbering */
}

.round-numbered-list > li:before {
	content:counter(li); /* Use the counter as content */
	counter-increment:li; /* Increment the counter by 1 */
	/* Position and style the number */
	position:absolute;
	top:-2px;
	left:-2em;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	width:2em;
	/* Some space between the number and the content in browsers that support
	   generated content but not positioning it (Camino 2 is one example) */
	margin-right:8px;
	padding:4px;
	border-radius:999px;
	color:var(--wp--preset--color--base);
	background:var(--wp--preset--color--contrast-2);
	font-weight:bold;
	font-family:"Open Sans", Arial, sans-serif;
	text-align:center;
}


/* Numbered list using divs */

.round-number {
	color:var(--wp--preset--color--base);
	background:var(--wp--preset--color--contrast-2);
	width:30px;
	height:30px;
	border-radius: 50%;
	 /* Use Flexbox to center the content inside the circle */
  display: flex;
  justify-content: center;
  align-items: center;
}

.round-number p {
	font-weight:bold;
	font-family:"Open Sans", Arial, sans-serif;
	font-size: 1rem;
}

/* Media & Text Block - Rounded corners on images */

.border-top-left img {
border-top-left-radius:25px !important;
}

.border-bottom-right img {
border-bottom-right-radius:25px !important;
}

.border-top-left-and-bottom-right img {
border-radius: 25px 0px 25px 0px !important;
}

/* Large Quote */

.large-quote {
  position: relative;
  padding: 1.5rem;
  margin: 2rem auto;
	border:none;
}

.large-quote::before {
  content: "“";
  position: absolute;
  top: -20px;
  left: 10px;
  transform: translateX(-50%);
  font-size: 12rem;
font-family: 'Lora';
	color: #A31126;
  /*color: rgba(0,0,0,0.2); /* Faint, 'behind text' color */
  z-index: 0;
  line-height: 1;
}

.large-quote p {
  position: relative; /* Keeps the text on top of the quote mark */
  z-index: 1;
}

/* 6.6 Features - CSS Animations */

/* EPIC Interactive Feature on About Us page */

/* Container for the whole word */
.word-buttons {
	display: flex;
	gap: 15px;
	justify-content: center;
	align-items:center;
	font-family: "Open Sans", Arial, sans-serif;
	margin-top:-100px;
}

/* Styling each individual letter-button */
.letter-btn {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: clamp(8rem, 20vw, 22rem);
	font-weight: 800;
	color: transparent; /* Removes the inner fill */
  -webkit-text-stroke: 2px #fff; /* Sets the outline width and color */
	background: transparent;
	border: none;
	cursor: pointer;
	transition: transform 0.2s;
    text-decoration: none;
}

/* Hover effect for the button box */
.letter-btn:hover {
	transform: scale(1.1); /* Adds a fun pop effect on hover */
	color: #C32032;
	-webkit-text-stroke: 0px; /* removes the outline width and color */
	text-decoration:none;
}

/* Hidden text that appears on hover */
.reveal-text {
	position: absolute;
	bottom: 10px; /* Positions text below the button */
    font-size: clamp(1.5rem, 2.5vw, 3rem);
    font-weight: 700;
    color: #fff;
    opacity: 0;
    transition: opacity 0.3s ease;
    white-space: nowrap;
}

/* Reveal the text when parent button is hovered */
.letter-btn:hover .reveal-text {
	opacity: 1;
}

a:where(:not(.wp-element-button)):visited {
    color: inherit;
}

.letter-btn:hover,
.letter-btn:focus,
.letter-btn:focus-visible {
	transform: scale(1.1); /* Adds a fun pop effect on hover */
	color: #C32032;
	-webkit-text-stroke: 0px; /* removes the outline width and color */
	text-decoration:none;
outline:0px;
}

.letter-btn:hover .reveal-text, letter-btn:focus .reveal-text, .letter-btn:focus-visible .reveal-text  {
	opacity: 1;
outline:0px;
}

/*Fade In and Up Scroll Animation */

/* Define the animation keyframes */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(40px); /* Start 40px below final position */
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Apply the animation using the view() timeline */
.fade-in-up {
  animation: fadeInUp 1s ease-out forwards;
  animation-timeline: view();
  animation-range: 0% 50%; /* Starts the animation at 0% of the scroll container's path and finish it at 50% */
}


/* Fade In and Up Scroll Animation with staggered entrance - Simulate "delay" via shifted animation ranges */

/* Define the animation keyframes */
@keyframes fadeInUpStaggered {
  from {
    opacity: 0;
    transform: translateY(50px); /* Start 50px below final position */
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 2. Base styles for the animating items */
.scroll-item {
  
  /* Link to the element's entrance timeline in the viewport */
  animation-timeline: view();
  animation-name: fadeInUpStaggered;
	animation-duration: 1s;
  
  /* Use 'both' to keep the finished animation state active */
  animation-fill-mode: both;
}

/* 3. Simulate "delay" via shifted animation ranges */
.item-1 {
  /* Starts as soon as it touches the viewport, finishes 30% through entry */
  animation-range: entry 20% entry 60%;
}

.item-2 {
  /* Starts when the item is 10% inside the viewport (Delayed) */
  animation-range: entry 30% entry 70%; 
}

.item-3 {
  /* Starts when the item is 20% inside the viewport (More Delay) */
  animation-range: entry 40% entry 80%;
}

/*Scale up and Fade out Scroll Driven Animation */

.scale-up-fade-out {
  /* Define the animation */
  animation: scaleFadeOut linear both;
  animation-timeline: view();
  /* Control exactly WHEN the effect happens */
  animation-range: exit 0% exit 50%; /* Start scaling when it begins to leave, finish when it's gone */
}

@keyframes scaleFadeOut {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(2); /* Scales up by 100% */
  }
}

/*Fade out Scroll Driven Animation */

.fade-out {
  /* Define the animation */
  animation: FadeOut linear both;
  animation-timeline: view();
  /* Control exactly WHEN the effect happens */
  animation-range: exit 25% exit 75%; /* Start fading when it begins to leave, finish when it's gone */
}

@keyframes FadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* Target only Firefox browsers */
@-moz-document url-prefix() {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}


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

@media screen and (max-width: 1320px) {
	
	/* About Us EPIC */
	.wp-block-group .epic-group h2 {
		margin-bottom:.75em !important;
	}
	
}
	
@media screen and (min-width: 1025px) {
  /* CSS rules for screens larger than 1024px go here */
	
	/* Pillars Footer Sock */
	
	.wp-block-group .pillar-text {
		display: flex;
    	align-items: flex-start;
	}
	
	.wp-block-group .pillar-text h3 {
		text-align: left !important;
	}
	
	.wp-block-group .pillar-text p {
		text-align: left !important;
	}
}

@media screen and (min-width: 1024px){

		
}

@media screen and (max-width: 1024px) {
	
	/* Header */
	
	.wp-block-navigation .mainnav {
		justify-content: flex-start;
	}
	
	.wp-block-navigation .schoolnav {
		justify-content: flex-start;
	}
	
	
	/* Pillars Footer Sock */
	
	.pillar-column   {
		display:flex;
		flex-direction: column ;
   		gap: 1em ;
	}
	
	.wp-block-column .pillar-text {
		padding-left:0 !important;
	}
	
	/* About Us EPIC */
	
	.wp-block-group .epic-group h2 {
		margin-bottom:1.5em !important;
	}
	
	.intro-section {
	padding:3em 6em 3em 6em !important;
	}
	
}

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

	/* Force columns to remain single-column view until 900px. May move this to a different query dimension if desired. */
	
	.wp-block-columns {
        flex-wrap: wrap !important;
    }
	
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis] {
        flex-grow: 1;
    }
	
	.featuredlinks-group {
		padding-bottom: 3em !important;
	}
	
	/* Header */
	
	.wp-block-site-logo {
		display:flex;
		justify-content: center;
	}
	
	.wp-block-group .secondarynav {
		display:flex;
		justify-content: center;
	}
	
	/* Footer */
	
	.footer-logo {
		display:flex;
		justify-content:center;
	}
	
	.footer-column-4 {
		display:flex;
		justify-content:flex-start;
		
	}
	
	.footer-column-4 h4 {
		text-align:left !important;
	}
	
	.wp-block-social-links {
		justify-content:flex-start;
	}

	
	/* Landing Page News sections */
	
	.news-column-1 h2 {
		display:flex;
		justify-content: center;
	}
	
	.news-column-1 .wp-block-buttons {
		display:flex;
		justify-content: center;
	} 
	
	
	/* School Page columns */
	
	.linksandcontact {
		display:flex;
		flex-direction:column;
	}
	
	
/* Horizontal Section Links on regular page */
	
	.section-links-container {
  		display: flex;
  		flex-direction: column;  /* Stacks items vertically */
		align-items: center; /* Vertically centers content */
	}
	
	.section-links-container-outer {
		padding-top: 2em !important;
		padding-bottom:2em !important;
	}
	
	.wp-block-group .section-links-heading {
		margin:0 0 .5em 0 !important;
		width:100%;
	}
	
	.wp-block-group .listoflinks-horizontal-container {
		border-left: none; /* Removes border */
		padding-left: 0 !important;
		margin:0 !important;
		width:100%;
	}
	
	ul.listoflinks-horizontal {
		display: flex;
		flex-direction: column;  /* Stacks items vertically */
 		list-style: none;     
  		gap:0px !important;            /* removes space between items */
  		padding: 0;           /* Removes default browser padding */
	}
	
	ul.listoflinks-horizontal li,
	.listoflinks-horizontal ul li {
		border-bottom: 1px solid var(--wp--preset--color--contrast);
		padding: 10px 0 5px 0 !important;
		margin-bottom: .25em 0 .25em 0 !important;
		white-space: wrap; /* Allows list items to wrap */	
	}
	
	
	ul.listoflinks-horizontal li:after,
	.listoflinks-horizontal ul li:after {
    color: var(--wp--preset--color--contrast);
    content: "\f105";
	font-family: FontAwesome;
	font-weight: 300;
	font-size: 1.25rem;
    vertical-align: middle;
	float: right;
	padding-left:10px;
	transform: translateY(-2px);
	}

} 

@media screen and (max-width: 783px) {
	
	/* The 783px query is for the ICS calendar only because 783px is the point where it switches from list to grid view. */ 
	
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid .day {
		margin-top:1em;
		border-radius:0 15px 0 0px;
		display:inline-block;
		color: var(--wp--preset--color--contrast-2);
	}
	
	.ics-calendar-month-grid ul.events {
		border-top: 1px solid var(--wp--preset--color--base-2);
		font-size: 1rem !important;
	}	

	.ics-calendar .event .descloc {
	font-size:100%;
	
	}
}

@media screen and (max-width: 782px) {
	
	/* Header */
	
	.wp-block-group .header-right {
		display:flex;
		justify-content:center;
	}
	
	.classlink::before {
		display:none;
	}
	
	.linqconnect::before {
	display:none;
	}

	.parentsquare::before {
	display:none;
	}

	.powerschool::before {
	display:none;
	}

	
	/* Pillars Footer Sock */
	
	.pillars-outer-column {
		width:85%;
	}
	
	.pillar-column-1, .pillar-column-2  {
		padding-right:0em;
		padding-bottom:2em;
		border-right: none;
		border-bottom: 1px solid #fff;
	}
	
	.pillar-text {
		padding-left:0 !important;
	}
	
	/* School Landing Pages */
	
	.whiteseparator {
		width:15%;
	}

	.redseparator {
	width:15%;
	}
	
	/* Desktop nav visability */
	
	div.desktopnav {
		display: none;
	}
	
	/* Mobile School Nav visability */
	
	 .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none !important;
    }
    .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }
	
	/* About Us EPIC */
	
	.wp-block-group .epic-group h2 {
		margin-bottom:1.75em !important;
	}
	
	.intro-section {
	padding:3em 4em 3em 4em !important;
	}

	
	/* Reverse columns on mobile */
	
	.column-reverse {
		display:flex;
		flex-direction: column-reverse;
	}
	
	/* Nisky by the numbers */
	
	.wp-block-group .redbox {
	margin-left:0;
	margin-top:-50px;
		width:75%;
	}
	
	.redbox-column {
		display:flex;
		justify-content:center;
	}
	
}

@media screen and (min-width: 782px) {
		
/* Mobile nav visability */
	div.mobilenav {
		display: none;
	}
	
	div.desktopnav {
		display:block;
	}
	

	
@media screen and (max-width: 600px) {
	
/* Compact list-view calendar on Home and Landing Pages */
	
	.ics-calendar.r34ics_compact dl.events {
		display: flex !important;
		flex-direction: column !important;
	}
	
/* About Us Page */
	
	.intro-section {
	padding:3em 2em 3em 2em !important;
	}
	
	/* About Us EPIC */
	
	.wp-block-group .epic-group h2 {
		margin-bottom:2em !important;
	}
	
/* Media & Text Block content patterns */
	.border-bottom-right img {
	border-radius: 25px 0px 0px 0px !important;
	}
		
}
	
@media screen and (max-width: 480px) {
		
	/* About Us Page */
	
	.intro-section {
	padding:3em 1em 3em 1em !important;
	}		
		
}
