/*
Theme Name: Leffell School Theme
Theme URI: https://designtlc.com
Version: 1.12
Description: A child theme for The Leffell School
Author: Design TLC
Author URI: https://designtlc.com
template: bb-theme
*/

/* Add your custom styles here... */ 
/* Put @import here for loading fonts */
body,
.fl-builder-content,
.fl-builder-content * {
  font-family: 'HCo Gotham', Arial, Helvetica, sans-serif;
}

/* ------------------ ROOT VARIABLES ------------------ */
:root {

    /* ------------------ Colors ------------------ */
	--white: #FFFFFF;
	--link-color: #006341;
	--link-hover: #1a4c38;
	--bg-color-dark: #1a4c38;
	--bg-color-light: #909195;
	--green: #006341;
	--gray: #3f3e43;
	--dark-green: #1a4c38;
	--gold: #FFB600;

    /* ------------------  Typefaces ------------------ */
	--font-body: 'HCo Gotham', Arial, Helvetica, sans-serif;
	--font-head: 'HCo Gotham', Arial, Helvetica, sans-serif;

    /* ------------------ Type Sizes ------------------ */
    --size-default: 1rem;
}


/* ---- Fix fonts that render as bold in Firefox ------------------ */

    @-moz-document url-prefix() {
      body {
        font-weight: normal !important;
      }
    }

/* WP HELP DOCS */
#cws-wp-help-listing-wrap ul.children.ui-sortable a {
    font-weight: 400!important;
    color: #2271b1!important;
}

#cws-wp-help-listing ul li a {
    text-decoration: none;
    font-weight: 600!important;
    color: #000!important;
}

/* Optimization Fixes 
.fl-post-image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}*/

.skip-to-content,
a.skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.skip-to-content:focus,
a.skip-link:focus {
    left: 0;
    width: auto;
    height: auto;
}


/* ------------------ FONT STYLES and HEADINGS ------------------ */
	html {
	  -moz-osx-font-smoothing: grayscale;
	  -webkit-font-smoothing: antialiased;
	  font-smoothing: antialiased;
	  font-weight: 400;
	  font-size: 16px !important;
	  hanging-punctuation: first last;
	}

    .fl-builder-content .fl-button {
        transition: background-color 0.3s ease;
    }

    h1.fl-heading, .fl-heading h1 { 
		color: #161A23!important;
    }

	.news-title h1 {
		font-size: 32px;
		line-height: 1.2;
	}

    .fl-module-content li, .fl-rich-text li {
        margin-bottom: 10px;
    }

	::marker {
		color: var(--green);
	}

	h1.page-title {
		color: #fff;
		text-transform: uppercase;
		margin-top: 0 !important;
	}

	h1.page-title-white {
		color: #fff!important;
	}

	.parent-page {
		display: block;
		font-size: 0.875rem;
		letter-spacing: 0.125rem;
		padding-bottom: 1.125rem;
		margin-bottom: 1.125rem;
		position: relative;
		font-weight: 800;
		text-align: center;
		text-transform: uppercase;
		color: #fff;
	}

	.parent-page-sub {
		display: block;
		font-size: 0.875rem;
		letter-spacing: 0.125rem;
		padding-bottom: 1.125rem;
		margin-bottom: 1.125rem;
		position: relative;
		font-weight: 800;
		text-align: center;
		text-transform: uppercase;
		color: var(--gray);
	}
	.parent-page:empty {
		display: none;
	}

	html:not(.home) .parent-page::after, .parent-page-sub::after {
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		left: 50%;
		margin-left: -25px;
		width: 50px;
		height: 1px;
		border-width: 1px 0 0 0;
		border-style: solid;
		border-top-color: var(--gold);
		background-color: transparent;
	}

	h2.white-section-heading {
		color: #fff;
		font-weight: bold;
	  	margin: 0;
	  	padding: 0 0 1.125rem 0;
	 	position: relative;
	}

	h2.section-heading-left {
		font-weight: bold;
	  	padding: 0 0 1.125rem 0;
	  	position: relative;
		/*margin: 0 0 1.5625rem 0;*/
		text-align: left !important;
	}

	h2.section-heading-center, h1.section-heading-center {
		font-weight: bold;
  		margin: 0;
   		padding: 0 0 1.125rem 0;
  		position: relative;
	}

	.fl-rich-text p {
		margin: 0 0 20px !important;
	}
	.fl-rich-text p:last-child {
		margin-bottom: 20px;
	}

	.fl-module.green-bg, .green-bg {
		background: var(--green)!important;
		padding: 20px 30px;
	}

	.fl-module.gray-bg {
		background:#E7EAEC;
		padding: 20px 30px;
	}

	.fl-col-content.fl-node-content .blue-bg-head {
		background: #141861!important;
		padding: 15px!important;
		margin-left: 0!important;
		margin-right:0!important;
		margin-bottom: 0!important;
		color: #DE5DAA!important;
	}

	.fl-module.fl-module-rich-text.purple-bg {
		background-color:#5C65A9!important;
		padding: 20px;
		margin: 0;
		color: #fff!important;
		font-size: 16px;
	}

	label#bboxevent_lblEventName {
		font-weight: 400;
	}

	.BBFormTitle {
		font-size: 26px!important;
	}

	/* Slider */
	.n2-ss-slider,
	.n2-ss-slider * {
		font-family: 'HCo Gotham', Arial, Helvetica, sans-serif !important;
	}


/* ------------------ HEADER ------------------ */
.header-quick-links .fl-button-group-button {
	padding-top: 0 !important; 
	padding-bottom: 0 !important;
}
.header-quick-links .fl-button-wrap a.fl-button {
	display: block;
	line-height: 2.25rem;
	height: 2.25rem;
	margin: 0;
	padding: 0 0.75vw;
	font-size: 0.75rem;
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
	background-color: #338267;
	color: #fff;
	-webkit-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	-ms-transition: color 0.3s ease;
	transition: color 0.3s ease;
	border: 0;
	border-radius: 0;
}

.btn-myleffell > a.fl-button {
	font-size: 1rem;
	float: none;
	color: inherit;
	font-weight: bold;
	line-height: 50px;
	background-color: #338267;
	padding: 0 1.5rem 0 1.5rem !important;
	border-color: #338267;
	border-radius: 0;
}

.btn-myleffell > a.fl-button .fl-button-icon.fl-button-icon-before.fas.fa-user {
	color: #ffb600;
	font-size: 18px;
}
.btn-myleffell > a.fl-button:hover {
	border-color: #1a4c38;
}

/* New top bar buttons */

.ql-new .fl-button-wrap a.fl-button * {
	color: var(--dark-green);
}

.ql-new .fl-button-wrap a.fl-button {
	background-color: rgba(255,255,255,0.8);
	border: 1px solid white;
	color: var(--dark-green);
	min-width: 120px;
}
.ql-new .fl-button-wrap a.fl-button:hover {
	background-color: var(--gray);
	border: 1px solid white;
	color: white;
}
.ql-new .fl-button-wrap a.fl-button:hover *{
	color: white;
}

.ql-new .fl-button-wrap a.fl-button .fl-button-icon.fl-button-icon-before.fas.fa-user {
	color: #ffb600;
}

.is-search-input {
	font-style: italic;
  	font-weight: normal;
}

.topbar-tagline p {
	color: white;
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 0 !important;
}

.btn-myleffell2 .fl-button-wrap a.fl-button .fl-button-icon.fl-button-icon-before.fas.fa-user {
	color: #ffb600;
}

/* Menu search */
.astm-search-menu.menu-item {
  margin: 10px 0px 0 6px;
  display: inline-block;
  height: auto;
  vertical-align: middle;
}



/* BLOG ----------------*/
/* Two-column blog post layout: text left, photo column right */
/* Two-column blog post layout: 50 / 50 split */
.bb-post-split{
  display:flex;
  gap:30px;
  align-items:flex-start;
}

/* Left text column */
.bb-post-main{
  flex: 0 0 50%;
  max-width: 50%;
}

/* Right image column */
.bb-post-gallery{
  flex: 0 0 50%;
  max-width: 50%;
  background: #006341;
  padding: 30px;
  border-radius: 0;
}

/* Gallery header */
.bb-post-gallery h2{
  margin: 0 0 20px 0;
  color: #fff;
}

/* Stack images vertically */
.bb-post-gallery figure{
  margin: 0 0 20px 0;
}

.bb-post-gallery img{
  display:block;
  width:100%;
  height:auto;
  border-radius:0;
}

.bb-post-gallery figcaption{
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.35;
  color: rgba(255,255,255,0.9);
}

/* Responsive: stack on mobile */
@media (max-width: 900px){
  .bb-post-split{
    flex-direction: column;
  }
  .bb-post-main,
  .bb-post-gallery{
    flex: 1 1 auto;
    max-width: none;
  }
}



/* ------------- Myleffell Button for Mobile and tablet ---------- */
.btn-myleffell-mobile > a.fl-button {
	border: none;
	margin: 0 0 0 0.375rem;
	vertical-align: top;
	font-weight: bold;
	font-size: 1.125rem;
	letter-spacing: 0;
	color: #fff;
	padding: 0;
}
.btn-myleffell-mobile > a.fl-button .fl-button-icon.fl-button-icon-before:before {
	font-size: 30px;
	width: 25px;
  	height: 30px;
}
html body .btn-myleffell-mobile > a.fl-button:hover {
	background: transparent;
	border: none;
}
/* ------------------ FOOTER ------------------ */

footer * {
	color: #fff;
}
footer .footer-top ul.menu li.menu-item::after {
	display: block;
	content: '/';
	position: absolute;
	right: -3px;
	top: 50%;
	transform: translateY(-50%);
	font-weight: bold;
	color: #fff;
}
footer .footer-top ul.menu li.menu-item a {
	font-size: 1.125rem;
	font-weight: bold;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 0.625rem 0.75rem;
	color: #fff;
}
footer .footer-top ul.menu li.menu-item:last-child::after {
	display: none;
}
.footer-logos:hover img {
	opacity: 0.5;
}
footer a {
	text-decoration: none;
}

.btn-footer a.fl-button {
	display: block;
	line-height: 2.25rem !important;
	height: 2.25rem;
	margin: 0;
	padding: 0 0.75vw;
	font-size: 0.75rem !important;
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
	background-color: rgba(255,255,255,0.8);
	color: var(--dark-green);
	-webkit-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	-ms-transition: color 0.3s ease;
	transition: color 0.3s ease;
	border: 1px solid white;
	border-radius: 0;	
}
.btn-footer a.fl-button * {
	color: var(--dark-green);
}
.btn-footer a.fl-button:hover {
	background-color: var(--gray) !important;
	border-color: white !important;
	color: white !important;
}

footer h3 {
	font-size: 14px;
}

footer nav ul.menu li.menu-item a:hover {
    border-bottom: 0px solid var(--green);
}

.footer-quicklinks {
	column-count: 2;
	column-gap: 20px;
}

.social .fl-icon {
  border: 1px solid #fff;
  padding: 7px;
}

.social .fl-icon:hover {
  border: 1px solid var(--gold);
}

/* ABOUT PAGE OFFICERS SECTION */
.cls-officers h4 {
	font-size: 1.5rem;
  	line-height: 1.2;
  	font-weight: bold;
	text-align: center;
	margin-top: 0;
}
.cls-officers p {
	letter-spacing: 0.15rem;
  	text-transform: uppercase;
  	margin: 1.25rem 2vw 0;
  	font-size: 0.75rem;
  	line-height: 1.8;
	font-weight: bold;
	text-align: center;
}
.trustees-list ul li {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 2;
	text-align: left;
}
.trustees-list {
	text-align: center;
}
.trustees-list h4 {
	font-weight: bold;
  	font-size: 1.125rem;
	margin-bottom: 1.25rem;
}
.trustees-list p {
	font-size: 1.25rem;
  	font-weight: bold;
}
.sidebar-quote {
	text-align: center;
	font-weight: 300;
	font-size: 1.5em;
	color: var(--gray);
	position: relative;
/* 	padding: 0 0 3rem 0;
	padding-top: 1.25rem; */
}

.sidebar-quote p::before {
	content: open-quote !important;
	margin-right: 10px;
}
.sidebar-quote p::after {
	content: close-quote !important;
	margin-left: 10px;
}

/* ------------------ ACCORDION STYLES ------------------ */
.fl-accordion-button .fl-accordion-button-icon-left, .fl-accordion-button .fl-accordion-button-icon-right {
    opacity: 1;
}

.fl-accordion-button {
	color :#000!important;
	font-weight: 800!important;
}

.pp-accordion-button-label {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    color: #000!important;
}

.pp-accordion-button-label:hover, 
.pp-accordion-button-label:active {
	color: #006341!important;
}

.pp-accordion-item .pp-accordion-button {
    color: #000;
}

/* ------------------- PAGE SUB MENU HORIZONTAL---------------------*/
.page-sub-menu ul.menu li.menu-item a {
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 0.625rem 0.75rem;
	color: var(--gray);
}

.page-sub-menu .current_page_item a {
	color: var(--green)!important;
}

.page-sub-menu ul.menu li.menu-item {
	position: relative;
}
.page-sub-menu ul.menu li.menu-item::after {
	display: block;
	content: '/';
	position: absolute;
	right: -3px;
	top: 50%;
  	transform: translateY(-50%);
	font-weight: normal;
	color: #878889;
}
.page-sub-menu ul.menu li.menu-item:last-child:after {
	display: none;
}
.page-sub-menu nav {
	text-align: center;
}
.vimeo-video-iframe iframe {
	width: 685px !important;
	height: 385px !important;
	margin: auto;
	right: 0;
}
.about_us_carousal .n2-ss-layer-row-inner .n2-ss-layer > .n2-ss-layer-col .n2-ss-layer h3 {
	font-weight: bold !important;
	font-size: 1.375rem !important;
	color: #161A23 !important;
	margin: 0;
	font-family: 'HCo Gotham', Arial, Helvetica, sans-serif!important;
}
.about_us_carousal .n2-ss-layer-row-inner .n2-ss-layer > .n2-ss-layer-col .n2-ss-layer h3 {
	font-weight: bold !important;
	font-size: 1.375rem !important;
	color: #161A23 !important;
	margin: 0;
	font-family: 'HCo Gotham', Arial, Helvetica, sans-serif!important;
}
/* ------------------- END PAGE SUB MENU HORIZONTAL---------------------*/
/* ONLY MOBILE MENU LINK */
.mobile_only {
	display: none !important;
}

/* STAFF CONTENT */
.read-more a:hover{ 
    box-shadow: inset 0 -2px 0 0 var(--gold)!important; 
}

/* --***************************************************** ----- */
/* ------------------ RESPONSIVE STYLES ------------------ */
/* Mobile Styles -  Special Sizes*/
@media only screen and (min-width: 1025px) and (max-width: 1160px) {

	.ql-new .fl-button-wrap a.fl-button {
		min-width: 110px;
	}
	
}

/* Mobile Styles - Tablet 1024 */
@media only screen and (max-width: 1024px) {
	.ql-new .fl-button-wrap a.fl-button {
		min-width: 110px;
	}

}

/* Mobile Styles - Tablet 992 */
@media only screen and (max-width: 992px) {

	.ql-new .fl-button-group-buttons .fl-button-group-button:last-child {
		display: none;
	}
	.ql-new .fl-button-wrap a.fl-button {
		min-width: 110px;
	}
}

/* Mobile Styles - Lg Mobile 768 */
@media only screen and (max-width: 768px) {
	.header-quick-links .fl-button-wrap a.fl-button {
		font-size: 0.75rem !important;
	}
	.header-quick-links .fl-button-group-button {
		flex: 1;
	}
	.header-quick-links .fl-button-group-button .fl-button-wrap {
		width: 100%;
	}
	
	.parent-page {
		display: block;
		font-size: 0.875rem;
		letter-spacing: 0.125rem;
		padding-bottom: 0!important;
		margin-bottom: 10px!important;
		position: relative;
		font-weight: 800;
		text-align: center;
		text-transform: uppercase;
		color: #fff;
	}
	html:not(.home) .parent-page::after {
		display: none!important;
	}
	
	/* ONLY MOBILE MENU LINK */
	.mobile_only {
		display: block !important;
	}
	.mobile_only.menu-item {
		border-bottom: 1px solid var(--bg-color-dark);
	}
	.mobile_only.menu-item:last-child {
		border-bottom: 0px solid transparent;
	}
	.page-sub-menu {
		display: none;
	}
	.vimeo-video-iframe iframe {
		width: 100% !important;
		height: 100% !important;
	}
	h1.subpage-title {
		margin-top: 0!important;
	}
	/* Menu search */
	.astm-search-menu.menu-item {	
		margin: 10px 10px 0 10px;
	}
	
	.footer-quicklinks {
		column-count: 1;
	} 
}
@media only screen and (max-width: 635px) {
	.header-quick-links .fl-button-group-buttons {
		gap: 10px;
	}
	.header-quick-links .fl-button-group-button {
		flex: 1 1 0;
  		min-width: calc(50% - 10px);
		padding: 0 !important;
	}
}

/* Mobile Styles - Small */
@media only screen and (max-width: 468px) {	

}