/*
Theme Name: The River School Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: A child theme for The River School
Author: Design TLC
Author URI: https://designtlc.com
template: bb-theme
*/


/* Add your custom styles here... */ 
/* Put @import here for loading fonts */



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

    /* ------------------ Colors ------------------ */
        --fl-white: #FFFFFF;
        --fl-body-font: #444552;;
		--fl-link-color: #009490;
		--fl-link-hover: #193D6A;
		--bg-color-dark: #000000;
		--fl-bg-color-light: #e5e5e5;
		--fl-navy: #193D6A;
		--fl-teal: #009490;
		--fl-dark-teal: #00807B;
		--fl-gray: #E5E6EB;
		--fl-charcoal: #444552;
		--fl-light-blue: #E9F5F9;
		--fl-bright-blue: #39409B;
		--fl-aqua: #259CC1;
		--fl-peach: #FFF7EF;
		--fl-orange: #EB6F0A;
		--fl-yellow: #FCCC44;
		--fl-red: #E93027;
		--fl-lavendar: #AAADD1;

    /* ------------------  Typefaces ------------------ */
        --font-sans: sans-serif;
        --font-serif: serif;

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


/* ---- Fix fonts that render as bold in Firefox ------------------ */
    html {
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      font-smoothing: antialiased;
      font-weight: 400;
    }

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

/* ------------------ FONT STYLES and HEADINGS ------------------ */
    html {
      font-size: 16px !important;
    }
    body {
    	overflow-x: hidden;
    }

    html {
      hanging-punctuation: first last;
    }

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

    html body {
        font size: 20px;
        line-height: 1.45;
        color: var(--charcoal);
    }

    a.fl-button, a.fl-button:visited {

    }

    .fl-rich-text a {
    /* color: var(--COLOR NAME);*/
    }

    .fl-rich-text a:hover {
    /* color: var(--COLOR NAME);*/
    /* text-decoration: none;*/
    }

   .fl-rich-text { /* THIS MAY NOT BE NEEDED IF THIS IS SET IN GLOBAL BB */
      /*  margin: 20px 0 0 0;*/
    }

    h1.page-title .fl-heading { /* THIS MAY NEED TO BE .page-title h1 */

    }

/* Page Title Underline */
.pp-infobox {
  text-align: left;
}

.title-underline-wrap {
  display: block;
  line-height: 0;
  margin-top: 0.4em;
}

/* keep a fixed visual height */
.title-underline {
  display: block;
  height: 6px;          /* controls how thick the line looks */
  width: 100%;
  max-width: none;
}


    h2.fl-heading, .fl-rich-text h2,  .fl-module-heading h2.fl-heading {
        font-weight: 700;
        font-size: 36px;
		margin-bottom: 20px!important; /* Apply the bottom margin */
    }

    h3.fl-heading, .fl-builder-content h3 {
        margin-top: 10px;
        font-size: 36px;
        display: block;
        font-weight: 700;
		color: #00807B;
    }

    h3 .fl-heading-text, .fl-module-content h3.fl-heading {
        margin-top: 10px;
		margin-bottom: 10px;
        font-size: 30px;
        display: block;
        font-weight: 700;
		color: #00807B;
    }

    .fl-builder-content .fl-rich-text h3 {
        font-weight: 700;
        font-size: 30px;
		color: #00807B;
    }

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

/* ------------------ HEADER ------------------ */

/*.fl-module-content.fl-node-content.fl-theme-builder-header-shrink-module-bottom.fl-theme-builder-header-shrink-module-top img.fl-photo-img.wp-image-17213.size-full.fl-node-qire9lwh8tmf-img-0 {
    max-height: 80px!important;
}*/

.fl-node-qire9lwh8tmf .fl-photo-img {
    width: 300px!important;
}

.fl-theme-builder-header-shrink .fl-node-qire9lwh8tmf img.fl-photo-img {
    max-height: 80px!important;
}

span.fl-menu-mobile-toggle-label {
    font-weight: 700;
}

.header-row .fl-row-content-wrap .fl-row-content {
    max-width: 1740px;
}

.fl-builder-content[data-type="header"].fl-theme-builder-header-shrink .fl-row-content-wrap .top-row {
	display:none;
}

/* start search icon */
.astm-search-menu.is-menu.is-dropdown.menu-item {
	display: inline-block;
	margin: 0 0px 0 0;
	display: inline-block;
	height: auto;
	vertical-align: middle;
}
.astm-search-menu.is-menu.is-dropdown.menu-item a {
	display: block;
	height: auto;
}
/* end search icon */

/* ------------------ FOOTER ------------------ */

  .footer h2 {

    }

   .fl-module.fl-module-heading.footer h2 {

    }

/* ------------------ MAIN NAVIGATION ----REMOVE EITHER CLICK OPEN OR MEGA MENU: BOTH NOT NEEDED -------------- */

/* click open menu - NO MEGA MENU***************************/
html body .click-open .fl-menu {
	position: relative;
}
html body .click-open .fl-menu nav > ul.menu > ul.sub-menu li.hide-heading > .fl-has-submenu-container {
	display: none;
	visibility: hidden;
}
html body .click-open .fl-menu nav > ul.menu > li.fl-has-submenu:hover > .fl-has-submenu-container ~ .sub-menu {
	visibility: hidden;
	opacity: 0;
	display: none;
}
html body .click-open ul.fl-menu-horizontal li.fl-has-submenu.clicked > ul.sub-menu,
html body .click-open ul.fl-menu-horizontal li.fl-has-submenu.clicked > .fl-has-submenu-container ~ ul.sub-menu {
	visibility: visible !important;
	opacity: 1 !important;
	display: block !important;
}
html body .click-open .fl-menu ul.fl-menu-horizontal li.fl-has-submenu > .fl-has-submenu-container ~ ul.sub-menu {
}

.click-open .hamburger-menu .fl-hamburger-menu-top {
	height: 50px;
	width: 100%;
}
.click-open .hamburger-menu .fl-hamburger-menu-middle {
	height: 50px;
	width: 100%;
}
.click-open .hamburger-menu .fl-hamburger-menu-bottom {
	height: 50px;
	width: 100%;
}

/* end click open menu **************************/

/* mega menu REMOVE IF NOT USING MEGA MENU ******. NOTE: OPTION TO USE MAX MEGA MENU PLUGIN ****/
html body .click-open-mega .fl-menu {
	position: relative;
}
html body .click-open-mega .fl-menu ul.sub-menu li.hide-heading > .fl-has-submenu-container {
	/*! display: none; */
	/*! visibility: hidden; */
}
html body .click-open-mega .fl-menu li.mega-menu.fl-has-submenu:hover > .fl-has-submenu-container ~ .sub-menuu {
	visibility: visible;
	opacity: 1;
	display: flex !important;
}
html body .click-open-mega ul.fl-menu-horizontal li.mega-menu.fl-has-submenu.clicked > ul.sub-menu,
html body .click-open-mega ul.fl-menu-horizontal li.mega-menu.fl-has-submenu.clicked > .fl-has-submenu-container ~ ul.sub-menu {
	visibility: visible !important;
	opacity: 1 !important;
	display: flex !important;
}
html body .click-open-mega .fl-menu ul.fl-menu-horizontal li.mega-menu.fl-has-submenu > .fl-has-submenu-container ~ ul.sub-menu {
	background-color: transparent;
	padding: 20px;
	border-top: 1px solid transparent;
	left: -35px !important;
	width: calc(100% + 50px) !important;
	visibility: hidden;
	opacity: 0;
}
html body .click-open-mega .fl-menu ul.fl-menu-horizontal li.mega-menu.fl-has-submenu:hover > ul.sub-menu, 
html body .click-open-mega .fl-menu ul.fl-menu-horizontal li.mega-menu.fl-has-submenu.focus > ul.sub-menu {
	visibility: hidden;
	opacity: 0;
	display: flex !important;
}
html body .click-open-mega ul.fl-menu-horizontal li.menu-item a {
	cursor: pointer;
}
html body .click-open-mega .fl-menu li.fl-visible-mobile.menu-item {
	display: none;
}
html body .click-open-mega .fl-menu ul.fl-menu-horizontal li.mega-menu.fl-has-submenu > ul.sub-menu .top-page {
	font-size: 18px !important;
}
html body .click-open-mega .hamburger-menu .fl-hamburger-menu-top {
	height: 50px;
	width: 100%;
}
html body .click-open-mega .hamburger-menu .fl-hamburger-menu-middle {
	height: 50px;
	width: 100%;
}
html body .click-open-mega .hamburger-menu .fl-hamburger-menu-bottom {
	height: 50px;
	width: 100%;
}
/* end mega menu ******************************************/

/* TOP LEVEL PAGE & SUB PAGE SETTINGS */
/* subpage */
.subpage-row .fl-row-content-wrap .fl-row-content {
    max-width: 1440px;
    padding: 60px 0;
}

/* Bordered Image  */
.bordered-image-left .fl-photo-img, .bordered-image-right .fl-photo-img {
    border-radius: 15px;
    border: 8px solid var(--fl-lavendar);
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.bordered-image-left {
    margin-top: 20px;
    margin-bottom: 20px;
}

.bordered-image-right {
    margin-top: 20px;
    margin-bottom: 20px;
}


/* Blue Background Column, Module, Row */
.blue-bg {
    background-color: var(--fl--light-blue);
    margin-bottom: 20px;
}

.blue-bg .fl-col-content {
    padding: 20px 30px;
}

.blue-bg .fl-rich-text h2 {
		font-size: 24px;
	}


.fl-node-zb5uhvdkop2q .pp-infobox-wrap .pp-infobox {
    background: #ffffff;
    text-align: left;
}


/* Target the top row to ensure the flex settings apply correctly */

    /* Target each column to set the width properly */
    .fl-col.top-page-menu-col, 
    .fl-col.top-page-hero-col {
        flex: 0 0 auto; /* Prevent columns from stretching */
    }

    /* Default column widths (for smaller breakpoints, Medium and Small) */
    .fl-col.top-page-menu-col,
    .fl-col.top-page-hero-col {
        width: 100%; /* Columns stack on small and medium screens */
    }

    .fl-col.top-page-hero-col {
        min-height: 250px;
    }

    .top-page-hero-row .fl-row-content-wrap {
        padding: 0; /* Remove any padding applied by .fl-row-content-wrap */
    }

    .fl-col.top-page-menu-col {
        width: 25%; /* Set width to 25% for the menu column */
        padding: 30px 30px 30px 55px;
        background-color: #fff7ef; /* Peach background */
    }

    .fl-col.top-page-hero-col {
        width: 75%; /* Set width to 75% for the hero column */
    }

    .fl-col.top-page-content-left-col, .fl-col.subpage-content-left-col {
        width: 25%;
        padding: 30px 40px;
    }

    .fl-col.top-page-content-right-col, .fl-col.subpage-content-right-col {
        width: 75%;
        padding: 30px 30px 30px 0;
    }

    .page-intro h2 .fl-heading-text {
        font-size: 48px;
        margin-bottom: 20px;
        line-height: 1.1;
        margin-bottom: 20px!important; /* Apply the bottom margin */
        font-weight: 700;
    }

    .page-intro .fl-rich-text {
        font-size: 26px;
        display: inline-block;
        margin-bottom: 20px;
        line-height: 1.1;
        margin-bottom: 20px!important; /* Apply the bottom margin */
        font-weight: 400;
    }

ul li.sidebar-menu-heading a {
  font-size: 30px;
  font-weight: 700;
}

ul li.sidebar-indent a {
	margin-left: 10px;
}

ul li.sidebar-subhead a {
	font-weight: 700;
}

/* Large breakpoint (1200px): 30% and 70% */
@media only screen and (max-width: 1200px)   {
	.fl-col.top-page-menu-col {
        width: 30%; /* Set width to 30% for the menu column */
    }

    .fl-col.top-page-hero-col {
        width: 70%; /* Set width to 70% for the hero column */
    }

    .fl-col.top-page-content-left-col {
        width: 30%;
    }

    .fl-col.subpage-content-left-col {
         width: 25%;
    }

    .fl-col.top-page-content-right-col {
        width: 70%;
    }

    .fl-col.subpage-content-right-col {
        width: 75%;
    }
}

/* Medium breakpoint (992px) */
@media only screen and (max-width: 992px) {

    .fl-col.top-page-menu-col {
        padding: 30px 30px 30px 30px;
    }

    .fl-col.top-page-content-left-col {
        width: 100%;
    }

    .fl-col.subpage-content-left-col {
        width: 100%;
        padding: 30px 40px 30px 40px;
    }
 
.fl-col.top-page-content-right-col, .fl-col.subpage-content-right-col {
        width:  100%;
        padding: 30px;
    }

    .fl-col.subpage-content-right-col {
        width: 100%;
    }

    .page-intro h2 .fl-heading-text {
        font-size: 34px;
    }

    .page-intro .fl-rich-text {
         font-size: 26px;
    }

    .fl-col.top-page-menu-col,
    .fl-col.top-page-hero-col {
        width: 100%; /* Stack columns at 100% width */
    }

    .blue-bg .fl-col-content {
        padding: 20px 5px 0 5px;
    }

    /* Sidebar Mobile Menu Toggle */
    .fl-menu .fl-menu-mobile-toggle {
        color: var(--fl-navy);
    }
    .fl-node-7rhjfim2v0gt button.fl-menu-mobile-toggle.hamburger-label {
        text-align: left;
        width: 100%;
    }

    span.fl-menu-mobile-toggle-label {
    text-transform: uppercase;
    }
}

/* Styles for Small (768px and below) */
@media only screen and (max-width: 768px) { 
    .fl-col.top-page-menu-col {
        padding: 30px 30px 30px 30px;
    }
	
    .blue-bg .fl-col-content {
        padding: 5px 20px 0 20px;
    }

    .fl-col.blue-bg {
        width: 100%;
    }

    .hero-sidebar-menu button.fl-menu-mobile-toggle.hamburger-label, .fl-menu .fl-menu-mobile-toggle {
        color: #193d6a!important;
    }

    .fl-col.top-page-content-left-col {
        width: 100%;
        padding: 20px;
    }

    .fl-col.subpage-content-left-col {
        width: 100%;
        padding: 20px 20px 0 20px;
    }

    .fl-col.top-page-content-right-col {
        width: 100%;
        padding: 0 20px 20px 20px;
    }

    .fl-col.subpage-content-right-col {
        width: 100%;
        padding: 0 20px 20px 20px;
    }

    .page-intro h2 .fl-heading-text {
        font-size: 34px;
        font-weight: 700;
    }

    .page-intro .fl-rich-text p{
         font-size: 24px;
    }

    .fl-row.top-page-hero-row {
        padding: 0;
    }

    .fl-col.top-page-menu-col {
        background-color: #fff7ef; /* Peach background */
    }

    .page-intro h2 .fl-heading-text {
        font-size: 28px;
        display: inline-block;
    }

    .page-intro .fl-rich-text {
        font-size: 20px;
    } 
    .fl-col.top-page-menu-col,
    .fl-col.top-page-hero-col {
        width: 100%; /* Stack columns at 100% width */
    }

    .bordered-image-left .fl-photo-img {
       /* margin: 30px 10px 30px 0;*/
    }

    .bordered-image-right .fl-photo-img {
        /*margin: 30px 0 30px 10px;*/
    }
	dotlottie-player {
		height: 100% !important;
	}
}


/* ------------------ BUTTONS ------------------ */
     /*.fl-button-wrap a, a.fl-button {
        font-size: 
        color:  
        background: 
        font-family: 
        font-weight: 
        text-transform: 
        padding:
        margin-top: 
        border-radius: 
        border: 
    }

    span.fl-button-text {
         color:  
    }

    a.fl-button, a.fl-button:visited {
        background: 
        color:  
        border: 
    }

FOR ARROW LINK STYLE 'BUTTON'
    .fl-button-text:after, a.fl-button:after {
        content: '\f061';
        font-family: 'Font Awesome 5 Pro';
        font-weight: 400;
        margin-left: 5px;  
    }

/* ------------------ ACCORDION STYLES ------------------ */

.fl-accordion-button .fl-accordion-button-icon {
    color: #00807b!important;
}

.fl-accordion-button-icon-left, .fl-accordion-button-icon-right {
    opacity: 1;
}

.fl-accordion-button-label a:hover {
    text-decoration: none;
}

.fl-accordion-content, .fl-accordion-button {
	background-color: #f8fcfd!important;
}

/* --***************************************************** ----- */
/* ------------------ RESPONSIVE STYLES ------------------ */
/* Mobile Styles -  Special Sizes*/
@media only screen and (min-width: 992px) and (max-width: 1100px) { 
    .click-open nav > ul.menu:not(.sub-menu) > li.menu-item div a, 
    .click-open nav > ul.menu:not(.sub-menu) > li.menu-item > a {
        padding-left: 7px;
        padding-right: 7px;
    }
}
@media only screen and (min-width: 1025px) and (max-width: 1160px) {

}

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

}


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

}

/* Mobile Styles - Small */
@media only screen and (max-width: 468px) {	
	html body .slide-home-testimonials .n2-ss-layer.n2-ow.curved-div:after {
		display: none;
	} 
	.fl-node-qy1mn8g3xjwv .pp-icon-wrapper {
		margin-right: -40px !important;
	}

    /*.fl-rich-text {
        padding: 0 20px;
    }*/
}

/* Home Slider style */

.slide-home-testimonials .n2-ss-layer.n2-ow.curved-div:after {
  content: "";
  position: absolute;
  display: block;
  width: 230px;
  height: 120%;
  background-color: #39409b;
  right: -60px;
  z-index: 1;
  border-radius: 0px 50% 50% 0 / 0% 50% 50% 0px;
  top: -10%;
}

.pp-infobox-wrap .pp-heading-wrapper .pp-infobox-title-wrapper {
	margin-top: -17px;
}

.pp-infobox-wrap .pp-heading-wrapper .pp-infobox-title-wrapper .pp-infobox-title {
	font-weight: 500;
}
