/*
Theme Name: Communikids 2024 Theme
Theme URI: https://designtlc.com
Version: 1.123
Description: An child theme for Communikids
Author: The Beaver Builder Team
Author URI: https://designtlc.com
template: bb-theme
*/

/* Add your custom styles here... */ 
/* Put @import here for loading fonts */
/* ------------------ ROOT VARIABLES ------------------ */
:root {

    /* ------------------ Colors ------------------ */
     	--white: #FFFFFF;
        --fl-global-link-color: #D22629;
        --fl-global-link-hover: #2F5AA8;
        --fl-global-bg-color-dark: #2F5AA8;
        --fl-global-bg-color-light: #C0EEFF;
        --fl-global-ck-blue: #2F5AA8;
        --fl-global-pink: #D22629;
        --fl-global-light-blue70: #C0EEFF;
        --fl-global-text-blue: #1C345F;
		--fl-global-orange: #F26E21;
        --head-bg-color:#C0EEFF;
    	--head-text-color:#1C345F;

    /* ------------------  Typefaces ------------------ */
		--font-nunito: "Nunito", sans-serif;
        --font-roboto: "Roboto", sans-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:
        line-height: 
        color: 
        font-family:
        font-weight: */
    }
	html body p {
		margin: 0;
	}

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

    }

	.fl-module-content .fl-rich-text a {
		color: var(--fl-global-pink);
	}

    .fl-rich-text a {
      	color: var(--fl-global-link-color);
    }

    .fl-rich-text a:hover {
      color: fl-global-link-hover;
    /* text-decoration: none;*/
    }

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

	h1.page-title .fl-heading, .page-title h1 {
		font-size: 2.5rem;
		text-transform: uppercase;
    }

    h2.fl-heading {
        font-weight: 600;
    }

    .small .fl-module-content h2.fl-heading  {
        font size: 1.875rem;
        line-height: 1.1;
        margin-bottom: 0;
        font-weight: 700;
    }

	h2.pp-infobox-title-prefix {
		font-weight: 600;
		font size: 1.875rem;
        line-height: 1.1;
	}

	.location-intro {
		font-weight: 700;
		color: var(--fl-global-text-blue);
		font-family: var(--font-nunito);
		font-size: 2.5rem;
	}

    .fl-module-heading h2.fl-heading {
		font-weight: 600;
    }

    h3.fl-heading, .fl-builder-content h3 {
		font-weight: 600;
    }

    .fl-module-content h3.fl-heading {
		font-weight: 600;
    }

    h4, h4.fl-heading, .fl-builder-content h4 {

    }

    .fl-module-heading h4.fl-heading {
    }

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

	.fl-rich-text p {
		margin-bottom: 15px;
	}

	table th, table td {
    padding: 0 5px!important;
}

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

.fl-builder-content .fl-builder-content-4931 .fl-theme-builder-header-sticky .fl-theme-builder-header-scrolled .fl-theme-builder-header-shrink.fl-row.fl-row-full-width.fl-row-bg-color.fl-node-msrp7u92vgez.fl-row-default-height.fl-row-align-center {
    display: none!important;
}
.fl-builder-content[data-type="header"].fl-theme-builder-header-sticky .fl-row.fl-row-full-width.fl-row-bg-color.top-row.fl-row-default-height.fl-row-align-center {
        display: none;
    }

.top-row-link a {
	color: var(--fl-global-ck-navy) !important;
}

.top-row-link a:hover {
	color: var(--fl-global-ck-blue) !important;
}


/* Header Mobile Styles - Small */
@media only screen and (max-width: 468px) {	
    .top-row .top-row-middle {
        display: none;
    }
    .top-row .top-row-buttons {
        display: none;
    }
    .top-row .fl-row-content-wrap {
    	background-color: unset;
    }
    html body .top-row .top-row-intro .fl-rich-text {
    	color: var(--fl-global-ck-blue) !important;
    	font-weight: 500;
    	font-size: 0.9375rem;
    }
    .cls-button.schedule-tour-mobile {
        display: block !important;
    }
    .logo-menu-row .fl-col-group.fl-col-group-custom-width {
    	flex-direction: column;
    }
    .logo-menu-row .fl-col-group.fl-col-group-custom-width .menu-col .fl-col-content.fl-node-content {
    	flex-direction: row;
    	 width: 100%;
    }
    .logo-menu-row .fl-col-group.fl-col-group-custom-width .menu-col,
    .logo-menu-row .fl-col-group.fl-col-group-custom-width .header-logo-col {
        width: 100% !important;
    }
}
/* Header Mobile Styles - Lg Mobile 768 */
@media only screen and (min-width: 468px) and (max-width: 768px) {
    .top-row-intro {
        display: none !important;
    }
    .top-row-middle {
        display: none !important;
    }
    .top-row-buttons {
    }
    .into-text-mid-mobile {
        display: block !important;
    }
}
/* Header Mobile Styles - Tablet 1024 */
@media only screen and (min-width: 468px) and (max-width: 993px) {
    
    .top-row-middle {
        display: none !important;
    }
    .top-row-buttons,
    .top-row-intro {
       width: 50% !important;
    }
}
@media only screen and (min-width: 767px) and (max-width: 1178px) {
   
	html body #mega-menu-wrap-header ul#mega-menu-header > li.mega-menu-item {
		margin-right: 0px;
		margin-left: 0px;
	}
}
.cls-button.schedule-tour-mobile {
    display: none;
}
.into-text-mid-mobile {
    display: none;
}

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

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

  	.footer h2 {

    }

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

    }

.fa-phone {
	  display: inline-flex;
	  align-items: center;
	}

	.fa-phone::before {
	  content: "\f095";
	  font-family: "Font Awesome 5 Free"; /* Or 6 */
	  font-weight: 900;
	  margin-right: 0.5em;
	  display: inline-block;
	}

/* ------------------ MAIN NAVIGATION ------------------ */

/* click open menu - NO MEGA MENU***************************/

.menu2 {
	font-size: 16px;
	font-weight: 400;
}
/* Max Mega Menu */
#mega-menu-wrap-header ul#mega-menu-header > li.mega-menu-item {
	position: relative;
	margin-right: 15px;
  	margin-left: 15px;
}
html body #mega-menu-wrap-header #mega-menu-header li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {
	display: none;
}
#mega-menu-wrap-header ul#mega-menu-header > li.mega-menu-item > ul.mega-sub-menu {
	width: auto !important;
	min-width: calc(100% + 100px) !important;
}
#mega-menu-wrap-header #mega-menu-header li.mega-menu-item.mega-menu-flyout ul.mega-sub-menu {
	z-index: 9999;
	border-radius: 0px;
	background-color: #c0eeff;
	border: 0;
	padding: 15px 10px 15px 20px;
	position: absolute;
	width: 100%;
	max-width: none;
	left: 0;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
}
#mega-menu-wrap-header #mega-menu-header > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
	color: #1c345f;
	background-color: transparent;
	font-size: 18px;
	text-transform: none;
	text-decoration: none;
	font-weight: normal;
	text-align: left;
	margin: 0px 0px 0px 0px;
	padding: 5px 0px 10px 0px;
	line-height: 1.1;
}
#mega-menu-wrap-header #mega-menu-header > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover {
	background-color: transparent;
	color: #d22629;
}
@media only screen and (min-width: 767px) and (max-width: 1027px) {
	#mega-menu-wrap-header #mega-menu-header > li.mega-menu-item > a.mega-menu-link {
    	font-size: .875rem;
  	}
}
@media only screen and (max-width: 767px) {
	html body #mega-menu-wrap-header #mega-menu-header li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {
		display: block;
	}
	html body #mega-menu-wrap-header #mega-menu-header li.mega-menu-item.mega-menu-flyout ul.mega-sub-menu {
		background-color: transparent;
		padding: 15px 10px 15px 20px;
		box-shadow: none;
		position: relative;
    	min-width: 100% !important;
	}
	#mega-menu-wrap-header #mega-menu-header > li.mega-menu-item > a.mega-menu-link {
		color: rgb(47,90,168);
		font-size: 18px;
	}
	#mega-menu-wrap-header #mega-menu-header > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
		color: rgb(47,90,168);
	}
}
/* ------------------ End MAIN NAVIGATION ------------------ */
/* ------------------ Sub Pages ------------------ */
.fl-row.subpage-row {
	max-width: 950px;
}
.accordion-subpage .fl-accordion-button-icon {
	opacity: 1;
}
.fl-accordion-small .fl-accordion-content {
    padding: 30px 30px 30px 30px;
}
/* ------------------ End Sub Pages ------------------ */
/* ------------------ INTERIOR-SIDEBAR NAVIGATION ------------------ */
.locations-sidebar a {
	margin: 0;
	display: block;
	padding: 0;
	line-height: 1.1;
}
.sidebar-nav {
}
.sidebar-nav li {
}
.sidebar-nav .indent {
}
/* ------------------ BUTTONS ------------------ */
	a.fl-button {
		border-radius: 0 !important;
	}

	a.register-button, a.register-button-list {
		border: solid 2px var(--fl-global-ck-blue);
		padding: 5px 10px;
		display: inline-block;
		margin: 20px 0;
		color: var(--fl-global-ck-blue);
		background: #fff;
	}
	a.register-button:hover, a.register-button-list:hover {
		background: #d3f3ff;
		color: var(--fl-global-pink);
	}

	a.register-button-list {
		margin: 20px 20px 0;
		background: #fff;
		color: var(--fl-global-ck-blue);
	}

	.lang-icon {
		max-height: 25px;
		margin-right: 8px;
	}


	/* location tabs */
	a.fl-button .tab-button, .tab-button a.fl-button {
		border-style: solid;
		border-width: 2px !important;
		background-clip: border-box;
		background: #fff !important;
		border-color: var(--fl-global-ck-blue) !important;
		width: 230px;
	}

	.tab-button a.fl-button .fl-button-text {
		color: var(--fl-global-ck-blue) !important;
		font-size: 22px;
	}

	.tab-button a.fl-button:hover .fl-button-text {
		color: var(--fl-global-ck-blue) !important;
	}

	a.fl-button .tab-button:hover, .tab-button a.fl-button:hover {
		border-color: var(--fl-global-pink)!important;
		background-color: var(--fl-global-bright-blue-50)!important;
	}

	.lang-class-tab .fl-tabs-label {
		font-size: 1rem!important;
	}


	.lang-list .pp-list-item-content {
		display: flex;
		align-items: center;
		gap: 2px;
	}


html body .cls-button.btn-blue .fl-button {
	border: 2px solid var(--fl-global-ck-blue) !important;
	background-color: transparent;
}
html body .cls-button.btn-white .fl-button {
	border: 2px solid #fff !important;
	background-color: transparent;
}
html body .cls-button.btn-blue.white-bg .fl-button {
	background-color: #fff;
}
html body .cls-button.btn-blue.white-bg .fl-button .fl-button-text,
html body .cls-button.btn-blue .fl-button .fl-button-text {
	color: var(--fl-global-ck-blue);
}
html body .cls-button.btn-blue .fl-button:hover {
	border: 2px solid var(--fl-global-pink) !important;
}
html body .cls-button.btn-blue .fl-button:hover .fl-button-text {
	color: var(--fl-global-pink);
}
html body .pp-tabs-panel-content .cls-button.btn-blue .fl-button {
	width: 200px;
}
html body .pp-tabs-panel-content .cls-button.btn-blue .fl-button .fl-button-text {
	text-transform: initial;
}

/*------------------ SMART SLIDER ------------------ */
html body .testimonial-img .n2-ss-item-image-content > img {
	border: 13px solid var(--fl-global-bright-blue);
	border-radius: 50%;
	box-sizing: border-box;
}

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

/* TABLES */
.tablepress>:where(thead,tfoot)>tr>* {
    background-color: #C0EEFF!important;
    color: #000;
}

/* --***************************************************** ----- */
/* ------------------ RESPONSIVE STYLES ------------------ */
/* Mobile Styles -  Special Sizes*/
@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) {
	.page-title h1 {
		font-size: 1.875rem;
    }
	
	.lang-list .pp-tabs-custom-style .tab-content .pp-infolist ul.pp-list-items {
		flex-direction: column;
		display: flex;
		padding: 0;
		margin: 0;
		list-style: none;
		gap: 12px;
	}
	
	#mega-menu-wrap-header .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-label span {
		color:#2f5aa8;
	}
}

/* Mobile Styles - Small */
@media only screen and (max-width: 468px) {}
.locationflag {
	list-style: none; 
	padding: 0; 
	margin: 0; 
	display: flex; 
	flex-direction: row;
  	flex-wrap: wrap-reverse;
  	justify-content: flex-start;
  	align-items: center;
  	align-content: center; 
}
.locationflag li { position: relative; padding: 0 30px 0 30px; color: white; }
.locationflag li::before {
	content: '';
	display: block;
	width: 30px;
	height: 30px;
	background-position: center;
	background-size: contain;
	position: absolute;
	left: -10px;
	border-radius: 50%;
	top: -4px;
}
.french::before {
	background-image: url('/wp-content/uploads/2024/09/French.svg');
}
.mandarin::before {
	background-image: url('/wp-content/uploads/2024/09/mandarin.svg');
}
.spanish::before {
	background-image: url('/wp-content/uploads/2024/09/Spanish-C.svg');
}

/* ----------------TABS-------------------------- */
.ui-tabs-nav.ui-corner-all.ui-helper-reset {
	background-color: #D3F3FF;
	padding: 20px 36px;
}
.classtypeprogram  .ui-widget.ui-widget-content {
	border: 0px solid #fff;
}
.classtypeprogram .ui-widget.ui-widget-content {
	border: none;
}
.classtypeprogram .locationflag {
	padding: 30px 0 10px 0;
}
.classtypeprogram .ui-state-active, 
.classtypeprogram .ui-widget-content .ui-state-active, 
.classtypeprogram .ui-widget-header .ui-state-active, 
.classtypeprogram a.ui-button:active, 
.classtypeprogram .ui-button:active, 
.classtypeprogram .ui-button.ui-state-active:hover {
	border: 1px solid rgba(45, 199, 255) !important;
	background: rgba(45, 199, 255) !important;
	font-weight: normal;
	color: #11404F !important;
}
.classtypeprogram .ui-state-default, 
.classtypeprogram .ui-widget-content .ui-state-default, 
.classtypeprogram .ui-widget-header .ui-state-default, 
.classtypeprogram .ui-button, 
html .classtypeprogram .ui-button.ui-state-disabled:hover, 
html .classtypeprogram .ui-button.ui-state-disabled:active {
	border: 1px solid #fff;
	background: #fff;
	font-weight: normal;
	color: #11404F;
}
.classtypeprogram .ui-state-active a, 
.classtypeprogram .ui-state-active a:link, 
.classtypeprogram .ui-state-active a:visited {
	color: #11404F;
	text-decoration: none;
}
.classtypeprogram .ui-tabs-nav {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-around;
	align-items: center;
	align-content: center;
}
.classtypeprogram .locationflag li {
	color: #454545;
}
.program-language {
	padding: 20px 20px 0 0;
	width: 70%;
}
.program-language-container {
	display: FLEX;
}
.button-group {
	width: 30%;
	text-align: center;
}
.program-language ul {
	padding: 0px 0 0 10px;
}
.program-language a {
    text-decoration: underline;
    color: #D22629 !important;
}
.program-language-container .button-group > a {
	color: #2F5AA8;
	text-align: center;
	font-family: 'Roboto';
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1.625rem;
	border: 2px solid #2F5AA8;
	padding: 12px 26px;
	width: 200px;
	display: inline-block;
	margin-bottom: 20px;
}
.program-language-container .button-group > a:hover {
	border-color: var(--fl-global-pink);
	background-color: #D3F3FF;
}
.ct-location-tabs .fl-tabs-labels.fl-clearfix {
	background-color: #D3F3FF;
	padding: 20px 36px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-around;
	align-items: center;
	align-content: center;
}
@media only screen and (max-width: 767px) {
    .ct-location-tabs .fl-tabs-labels {
        display: none!important;
    }
}
.fl-module-accordion .pp-infolist-icon-inner img,
.fl-tabs-panel .pp-infolist-icon-inner img {
	width: 24px;
	height: 24px;
}
.fl-module-accordion .pp-infolist-title .pp-infolist-title-text,
.fl-tabs-panel .pp-infolist-title .pp-infolist-title-text {
	font-size: 1.125rem;
}
.fl-module-accordion .pp-infolist-wrap .pp-list-item-content,
.fl-tabs-panel .pp-infolist-wrap .pp-list-item-content {
	display: flex;
	align-items: center;
	align-items: flex-start;
}
.fl-module-accordion .pp-infolist-wrap .pp-list-item .pp-icon-wrapper,
.fl-tabs-panel .pp-infolist-wrap .pp-list-item .pp-icon-wrapper {
	margin: 0;
}
.fl-module-accordion .pp-infolist-icon .pp-infolist-icon-inner,
.fl-tabs-panel .pp-infolist-icon .pp-infolist-icon-inner {
	width: 35px;
	height: 35px;
}