/*
Theme Name: Twenty Twenty-Four CHILD for the Potsdam site
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Author: Capital Region BOCES Communications Service Web Team 
Author URI: https://wordpress.org
Description: CHILD THEME of the Twenty Twenty-Four Wordpress Theme.
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.0
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfour
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
	3.0 Header
	4.0 Footer
	5.0 Pages
		5.1 Page - Search Results
		5.2 Page - Staff Directory Results
	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
	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;
}

/* 1.4 Links - Lists of links */

ul.listoflinks,
.listoflinks ul {
	list-style: none;
	margin-left: -0.5em;
	padding-left: 0;
}

ul.listoflinks li,
.listoflinks ul li {
	padding-left: 1.5em;
    text-indent: -1em;

}

ul.listoflinks li:before,
.listoflinks ul li:before {
    color: var(--wp--preset--color--accent-2);
    content: "\f101";
	font-family: FontAwesome;
	font-weight: 900;
	font-size: 1.5em;
	margin-right: 0.25em;
	margin-top: -7px;
    vertical-align: sub;
}


/* 1.5 Button styles */

/* Set a global button hover style. This is needed because when a button color is set manually in the editor, it overrides the hover color set via the json. */
.wp-block-button__link.wp-element-button:hover {
	background-color: var(--wp--preset--color--contrast) !important;
}

/* Set button hover styles based on what color is used for the button text.*/
.wp-block-button__link.has-contrast-color.wp-element-button:hover,
.wp-block-button__link.has-accent-color.wp-element-button:hover,
.wp-block-button__link.has-accent-2-color.wp-element-button:hover {
	background-color: var(--wp--preset--color--accent-5) !important;
}

/*--------------------------------------------------------------
 * 2.0 Navigation
 --------------------------------------------------------------*/

/* 2.1 Navigation - MAIN - Add class of mainnav to the nav block in WP */

.mainnav {
	font-size: 1.1rem;
	font-weight: 600;
}

.wp-block-navigation.mainnav .wp-block-navigation-item{
	justify-content: left;
}

.wp-block-navigation.mainnav .wp-block-navigation-item a,
.wp-block-navigation.mainnav .wp-block-navigation-item a.wp-block-navigation-item__content {
	padding: .5em 1em;
}

.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"] {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	padding: .5em 1em;
}

.mainnav ul li.current-menu-item a {
    color: var(--wp--preset--color--accent) !important;
    background-color: var(--wp--preset--color--base);
}

/* 2.2 Navigation - SECONDARY - Add class of secondarynav to the nav block in WP */

.icon-calendar a:before {
    font-family: FontAwesome;
	color: #ffffff; 
    content:' \f133';
    margin: 0 0.375em 0 0;
	vertical-align: middle;
}

.icon-contact a:before {
    font-family: FontAwesome;
	color: #ffffff; 
    content:' \f095';
    margin: 0 0.375em 0 0;
	vertical-align: middle;
}

.icon-directions a:before {
    font-family: FontAwesome;
	color: #ffffff; 
    content:' \f279';
    margin: 0 0.375em 0 0;
	vertical-align: middle;
}

.icon-news a:before {
    font-family: FontAwesome;
	color: #ffffff; 
    content:' \f1ea';
    margin: 0 0.375em 0 0;
	vertical-align: middle;
}

/* 2.3 Navigation - SCHOOL - Add class of schoolnav to the nav block in WP */

.schoolnav {
	font-size: 1.1rem;
	font-weight: 600;

}

.wp-block-navigation.schoolnav .wp-block-navigation-item{
	justify-content: left;
}

.wp-block-navigation.schoolnav .wp-block-navigation-item a,
.wp-block-navigation.schoolnav .wp-block-navigation-item a.wp-block-navigation-item__content {
	padding: .5em 1em;
	justify-content: center;
}

.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"] {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
	text-underline-offset: 3px;
	padding: .5em 1em;
}


/* 2.4 Navigation - SEARCH and TRANSLATE */

/* 2.5 Navigation - CONNECT LINKS - Add class of socialnav */

.socialnav img {
	margin-right: 5px; 
	margin-top: -2px;
	vertical-align: middle;
}

.wp-block-navigation.socialnav .wp-block-navigation-item a,
.wp-block-navigation.socialnav .wp-block-navigation-item a.wp-block-navigation-item__content {
	padding: .25em 0em;
}

/* 2.6 Mobile Navigation - Add class of mobilenav to the nav block in WP */

.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"] {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
	text-underline-offset: 3px;
	padding: .5em 1em;
}

.mobilenav ul li.current-menu-item a {
    color: var(--wp--preset--color--accent);
    background-color: var(--wp--preset--color--base);
}

.wp-block-navigation.mobilenav .wp-block-navigation__responsive-container-open:after {
    content: "Menu";
    text-transform: uppercase;
}

.wp-block-navigation.mobilenav .wp-block-navigation__responsive-container-close:after {
    content: "Close";
    padding: 0.5em 0;
    text-transform: uppercase;
}

.wp-block-navigation.mobilenav.items-justified-center{
	width: 100%;
}

.mobilenav div.wp-block-spacer {
	background-color: var(--wp--preset--color--accent-2);
	width: 100% !important;
	height: 2px !important;
}

/*--------------------------------------------------------------
 * 3.0 Header
 --------------------------------------------------------------*/

/*--------------------------------------------------------------
 * 4.0 Footer
 --------------------------------------------------------------*/

/*--------------------------------------------------------------
 * 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 */
.noblanks {
	margin-left: 2em;
	font-weight: bold;
}

.noresults {
	margin-left: 2em;
	font-weight: bold;
}

table#datatable.tablesorter.staff {
	width: 90%;
}

table#datatable.tablesorter.staff thead tr {
	text-align: left;
	background-color: #08245c;
	color: #ffffff;
}

table#datatable.tablesorter.staff tr:nth-child(even) {
	background-color: #f2f2f2;
}

thead tr th.header {
	cursor: pointer;
}
/*--------------------------------------------------------------
 * 6.0 Features
 --------------------------------------------------------------*/

/* 6.1 Features - Special Alert Bar */

.special-alert h1:after {
    content:"\f06a";
    color: var(--wp--preset--color--base);
    margin-left:0.5em;
    font-family:'FontAwesome';
    font-weight:normal;
}

.wp-block-group.special-alert h1 {
	padding: 1em 0 0 0 !important;
	color: #ffffff;
}

.wp-block-group.special-alert p {
	padding: 0 0 1em 0 !important;
	color: #ffffff;
}

/* 6.2 Features - ICS Calendar */
.homecal h4.ics-calendar-date {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
	font-weight:600;
	font-size: var(--wp--preset--font-size--small);
    letter-spacing: normal;
    text-transform: none;
	padding: 0.25em 0.5em;
	display:inline-block;
	margin-top: 0;
}
.homecal .ics-calendar-date-wrapper {
	border-top: 2px solid var(--wp--preset--color--accent);
}

.homecal .ics-calendar .events .time .end_time,
.homecal .ics-calendar .events .time .end_time:hover {
	display: none !important;
}

.homecal .ics-calendar.r34ics_compact dl.events {
	display: grid;
	grid-template-columns: 6em calc(100% - 6em);
}

.homecal .ics-calendar.r34ics_compact {
	font-size: 100%;
}

.homecal .ics-calendar dl.events {
	display: flex;
 	padding-left: 0.5em;
	line-height: 1.2;
	font-weight: 500;
	flex-wrap: wrap;
}

.homecal .ics-calendar dl.events dt {
 	display: flex;
	margin-right: 1rem;
	line-height: 1.2;
	font-weight: 600;
}

.schoolcal .ics-calendar-basic-wrapper ul.events li div.event-info {
    font-weight: 400;
	font-family: 'Open Sans', Arial, sans-serif;
	color: #002349;
	text-transform: none;
}

.schoolcal .ics-calendar-basic-wrapper ul.events {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	column-gap: 1rem;
	border-left: medium var(--wp--preset--color--accent);

}

.schoolcal .ics-calendar-basic-wrapper ul.events li {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background-color: rgba(0,0,0,0);
	padding-right: 1em;
	color: var(--wp--preset--color--accent);
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.5em;
    text-transform: uppercase;
	width: 100%;
	border-right: medium var(--wp--preset--color--accent);
	border-top: var(--wp--preset--color--accent)!important;
}
.schoolcal .ics-calendar-basic-wrapper ul.events .event h4.date {
	font-size: 100%;
	font-weight: 400;
    margin: 0.5em 0em;
	line-height: 1em;
	font-family: 'Oswald', Arial, sans-serif;
	text-transform: none;
	background-color: var(--wp--preset--color--accent);
	color: white;
	padding: 0.5em;
 
}

.schoolcal .ics-calendar-basic-wrapper ul.events .event .title {
	font-weight: 600;
	font-size: 1rem;
	font-family: 'Open Sans', Arial, sans-serif;
	color: #002349;
	text-transform: none;
}

.schoolcal .ics-calendar-basic-wrapper ul.events .event .time {
	font-size: 100%;
	font-weight: 400;
    margin: 0.5em 0;
	font-family: 'Open Sans', Arial, sans-serif;
	color: #002349;
	text-transform: none;
}

.schoolcal .ics-calendar-basic-wrapper ul.events .event .time br{
	display: none;
}

.schoolcal .ics-calendar-basic-wrapper ul.events .event .time .end_time {
	font-size: 100%;
}

.schoolcal .fullcal {
	display: flex;
	justify-content: center;
	font-weight: 600;
	font-size: 16px;
	font-size: 1rem;
}

.schoolcal .ics-calendar-paginate.next {
    color: var(--wp--preset--color--accent-2);
    background-color: #002349;
    border-radius: 25px;
    padding: 0.5em 1em;
	text-decoration: none;
}


.schoolcal .ics-calendar-paginate.prev {
    color: var(--wp--preset--color--accent-2);
    background-color: #002349;
    border-radius: 25px;
    padding: 0.5em 1em;
	text-decoration: none;
}

.schoolcal .ics-calendar-paginate-wrapper a:hover {
	color: var(--wp--preset--color--accent-2);
	text-decoration: underline;
}

.schoolcal .ics-calendar-paginate-wrapper a:focus {
	color: var(--wp--preset--color--accent-2);
	text-decoration: underline;
}

/*Custom Styling for Full Calendar*/
.ics-calendar .fc .descloc, .ics-calendar .fc .fc-daygrid-day-bottom, .ics-calendar .fc .fc-view-harness * {
    font-size: 16px !important;
}
.ics-calendar .fc .fc-daygrid-event, .ics-calendar .fc .fc-event, .ics-calendar .fc .fc-event td, .ics-calendar .fc .fc-event:focus, .ics-calendar .fc .fc-event:focus-within, .ics-calendar .fc .fc-event:hover, .ics-calendar .fc .fc-event:visited, .ics-calendar .fc .fc-list-table a:not([href]) {
    color: var(--r34ics--color--black) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    height: 100% !important;
    line-height: 1.6 !important;
	padding: 5px!important;
}

/* 6.3 Features - ICS Calendar - Grid View */
.listview .ics-calendar dl.events dd.event {	
	 border-bottom: 1px solid #fff;
}

/* 6.4 Features - Yoast Breadcrumbs */

.yoast-breadcrumbs {
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
	font-family: 'Open Sans', sans-serif;
}

.yoast-breadcrumbs a {
	color: var(--wp--preset--color--contrast);
}


/*--------------------------------------------------------------
 * 7.0 Media Queries
 --------------------------------------------------------------*/

@media screen and (max-width: 1320px) {
	

}

@media screen and (min-width: 1024px) and (max-width: 1320px) {
	.headerimage {
		background-position: 50% 50% !important;
	}

}

@media screen and (max-width: 1024px) {
	.headerimage {
		background-position: 35% 50% !important;
	}

}

@media screen and (max-width: 900px) {
	.headerimage {
		background-position: 27% 50% !important;
	}
	
} 

@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. */ 
		.schoolcal .ics-calendar-basic-wrapper ul.events {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	column-gap: 1rem;
	border-left: none;
	}

}


@media screen and (max-width: 782px) {
	.headerimage {
		background-position: 20% 50% !important;
	}
	div.desktopnav {
		display: none;
	}
}
	
@media screen and (min-width: 782px) {
	
	div.mobilenav {
		display: none;
	}
	div.desktopnav {
		display: block;
	}
}

@media screen and (max-width: 600px) {
	.headerimage {
		background-position: 17% 50% !important;
	}
	
}
/*  --Responsive TABLES--
Max width before this PARTICULAR table gets nasty
This query will take effect for any screen smaller than 760px
and also iPads specifically.
*/
@media 
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px) {

	/* Force table to not be like tables anymore */
	table, thead, tbody, th, td, tr { 
		display: block; 
		margin-bottom: 0px;
	}
	
	table th {
	background:#eeeeee;
	border: 1px solid #dddddd;
	padding: 20px 5px; 
	}

	
	
	/* Hide table headers (but not display: none;, for accessibility) */
	thead tr { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	
	tr { border: 1px solid #ccc; }
	
	td { 
		/* Behave  like a "row" */
		border: none;
		border-bottom: 1px solid #eee; 
		position: relative;
		padding: 7% 2%;
		height: auto;
	}
	
	td:before { 
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 2px;
		left: 6px;
		width: 45%; 
		padding-right: 10px; 
		white-space: nowrap;
	}
	
	/* Label the data for staff directory table */
	.staff td:nth-of-type(1):before { content: "Last:"; font-weight: bold; }
	.staff td:nth-of-type(2):before { content: "First:"; font-weight: bold; }
	.staff td:nth-of-type(3):before { content: "Email:"; font-weight: bold; }
	.staff td:nth-of-type(4):before { content: "Title:"; font-weight: bold; }
	.staff td:nth-of-type(5):before { content: "Department:"; font-weight: bold; }
	.staff td:nth-of-type(6):before { content: "Phone/Ext:"; font-weight: bold; }

}




 













