/*
 Theme Name:     LLAIC Divi Child
 Theme URI:      https://spark-development.com
 Description:    Custom Divi Child Theme for LLAIC 
 Author:         Conlin Web Design & Services LLC
 Author URI:     https://conlinwebdesign.com
 Template:       Divi
 Version:        1.0.0
*/
 
/* Setting the breakpoint of the mobile menu */
@media only screen and (max-width: 1025px) {
    #top-menu-nav, #top-menu { display: none; }
    #et_top_search { display: none; }
    #et_mobile_nav_menu { display: block; }
}

/*---------- [Equalize the Filterable Portfolio Tabs] ----------*/
/*** change width of tabs here depending on the number of tabs you have ***/
/*.equal-tabs .et_pb_filterable_portfolio .et_pb_portfolio_filters li {
    width: 12.5%; 
    text-align: center;
}*/
/*** change device breakpoint here depending on the number of tabs you have ***/
/*@media screen and (max-width: 768px){ 
    .equal-tabs .et_pb_filterable_portfolio .et_pb_portfolio_filters li {
        width: 100%; 
        text-align: center;
    }
}*/

/*---------- [Equalize the Tabs] ----------*/
/*** change width of tabs here depending on the number of tabs you have ***/
/*.equal-tabs .et_pb_tabs_controls li {
    width: 20%; 
    text-align: center;
}*/
/*** change device breakpoint here depending on the number of tabs you have ***/
/*@media screen and (max-width: 768px){ 
    .equal-tabs .et_pb_tabs_controls li {
        width: 100%; 
	text-align: center;
    }
}*/


/**************************** Stop Header Jump **************************/
/* adjust sticky header when admin bar present */
.admin-bar #main-header {
   top: 66px !important;
}

@media only screen and (min-width:981px) {
    #page-container {
        padding-top: 152px !important; /* Tweak this value as needed */
    }

    #main-header {
        top: 34px !important; /* Tweak this value as needed */
    }
}

/* **************************************************
 * Logic to stack mobile columns in a different order 
****************************************************** */
/* (https://www.elegantthemes.com/blog/divi-resources/how-to-change-divis-column-stacking-order-on-mobile-devices) */
@media all and (max-width: 980px) {
    /*** wrap row in a flex box ***/
    .restack-row {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
      -webkit-flex-wrap: wrap; /* Safari 6.1+ */
      flex-wrap: wrap;
    }

    /*** custom classes that will designate the order of columns in the flex box row ***/
    .first-on-mobile {
        -webkit-order: 1;
        order: 1;
    }
    .second-on-mobile {
        -webkit-order: 2;
        order: 2;
    }
    .third-on-mobile {
        -webkit-order: 3;
        order: 3;
    }
    .fourth-on-mobile {
        -webkit-order: 4;
        order: 4;
    }
    /*** add margin to last column ***/
    .restack-row:last-child .et_pb_column:last-child {
        margin-bottom: 30px;
    }
}

/* override default font color of #666 in style-cpt.dev.css */
.et-db #et-boc .et-l .et_pb_bg_layout_light .et_pb_post .post-meta, .et-db #et-boc .et-l .et_pb_bg_layout_light .et_pb_portfolio_item .post-meta, .et-db #et-boc .et-l .et_pb_bg_layout_light .et_pb_post .post-meta a, .et-db #et-boc .et-l .et_pb_bg_layout_light .et_pb_portfolio_item .post-meta a, .et-db #et-boc .et-l .et_pb_bg_layout_light .et_pb_post p, .et-db #et-boc .et-l .et_pb_bg_layout_light p.et_pb_title_meta_container, .et-db #et-boc .et-l .et_pb_bg_layout_light p.et_pb_title_meta_container a {
    color: #242415!important;
}
/* override parent Divi menu link style at 0.6 opacity */
.et-menu a {
    color: #660066!important;
}
a:hover, a:focus, a:active {
    color:#0766dc;
}
#main-content a {
	font-weight: bold!important;
}
#main-content a.et_pb_button  {
	font-weight: normal!important;
	line-height: 1.3em !important;
}
a.et_pb_button:after {
    font-size: 26px;
    line-height: 1em;
}

/* secondary menu bump up */
.et_pb_menu_0_tb_header.et_pb_menu ul li a {
	font-size:15px!important;
}
/* override hover style */
.et_pb_menu_1_tb_header.et_pb_menu nav>ul>li>a:hover,
#menu-secondary-menu li a:hover {
    opacity: 1;
    color: #a3d4e5!important;
}

/* override the dropdown style */
.et_pb_section_2_tb_header .et_pb_menu_1_tb_header.et_pb_menu .nav li ul {
	width:auto!important;
	background-color:#f5f5f5!important;
}
/* submenu item hover */
/*1st - leader pages have diff selector */
.et-db #et-boc .et-l .et_pb_menu_1_tb_header.et_pb_menu .nav li ul.sub-menu a:hover, 
.et_pb_section_2_tb_header .et_pb_menu_1_tb_header.et_pb_menu .nav li ul.sub-menu a:hover {
	color: #ffffff!important;
	background-color:#21134E!important; /* #660066 */
	opacity: 1.0!important;
}
/* Submenu Current menu item purple/white */
.et_pb_section_2_tb_header .et_pb_menu_1_tb_header.et_pb_menu .nav li ul.sub-menu li.current-menu-item a, .et_mobile_menu li.current-menu-item , .nav ul li.current-menu-item  {
    color: #a3d4e5!important;
    background-color: #21134E!important; /* #660066 */
}
/* Parent item when submenu item is current */
.et_pb_menu_1_tb_header.et_pb_menu nav>ul>li.current-menu-ancestor a {
	color:#a3d4e5!important;
}
/* Secondary menu - current menu item */
nav ul#menu-secondary-menu .et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item a {
    color: #a3d4e5!important;
}
/* Remove ul.submenu side padding */
.nav li li {
    padding: 0 0!important;
}
/* current page menu item no children ++specificity */
.et_pb_menu_1_tb_header.et_pb_menu .et-menu-nav ul li.current-menu-item a:hover,
.et_pb_menu_2_tb_header.et_pb_menu .mobile_nav ul li.current-menu-item a:hover {
	color:#6fd0f3!important;
	opacity:1.0!important;
}


/* mobile menu */
.et_mobile_menu li a:hover, .nav ul li a:hover {
    background-color: #21134E;/*#660066;*/
	opacity: 1.0;
}
.et_pb_menu_1_tb_header.et_pb_menu .et_mobile_menu a:hover {
	color:#ffffff!important;
}
/* menu item with submenu on submenu item hover is light on light 
 * /******************/
.et_pb_menu_2_tb_header.et_pb_menu li.menu-item-has-children:hover {
	/*color:#f00;*/
}
/******************/
.et_pb_menu_2_tb_header.et_pb_menu ul.sub-menu li.current-menu-item a {
	color:#ffffff!important;
}
.et_pb_menu_2_tb_header.et_pb_menu ul.sub-menu li.current-menu-item.current_page_parent a,
.et_pb_menu_2_tb_header.et_pb_menu ul.sub-menu li.current-menu-item.current-menu-parent a,
.et_pb_menu_2_tb_header.et_pb_menu li.menu-item-has-children,
.et_pb_menu_2_tb_header.et_pb_menu ul li:hover>a,
.et_pb_menu_2_tb_header.et_pb_menu .mobile_nav .current-menu-ancestor {
	color:#000;
}
 
/* heading sizes */
body.page-template-default #main-content h2 {
    font-size: 26px; /*22px;*/
}
body.page-template-default #main-content h3 {
    font-size: 18px;
}
body.page-template-default #main-content .three-across h2,
body.page-template-default #main-content .two-across h2 {
    font-size: 32px;
    font-weight:700;
	text-transform:uppercase;
}
body.page-template-default #main-content .three-across h2:hover,
body.page-template-default #main-content .three-across h2:focus,
body.page-template-default #main-content .three-across h2:active {
	text-decoration:underline;
}
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content .headline,
h2.entry-title {
	line-height: 1.25em;
}
#main-content h3.entry-title a {
    font-weight: normal!important;
    line-height: 1.25em;
}
.archive h2 {
    font-size: 18px;
    margin-top: 1em;
}
.et_pb_testimonial {
    overflow:visible !important;
}

#leaderwidget.et_pb_widget {
	width:100%!important;
}
.et-l--body ul.tax-only-list {
	list-style-type:none!important;
	margin-bottom:0;
}
.et_pb_widget a {
	color:#660066;
}
/* Class .taxonomy-pages added to Course Leader, Day of Week,  pages */
.taxonomy-pages h1 {
    background:#660066;
    color:#ffffff;
    padding: 10px 20px;
    margin-bottom:30px;
}
.taxonomy-pages h2 {
    font-variant: small-caps;
    margin: 1em auto;
}
.taxonomy-pages p.post-meta {
    display: none;
}
.taxonomy-pages article {
    margin-bottom: 2em;
}
/* Header */
header#main-header {
    box-shadow: inset 0px 0px 18px 0px rgb(0 0 0 / 30%);
}
#top-header .container {
	line-height:1.35em!important;
}
.logotext {
	font-size: 48px;
	font-weight: bold;
    line-height:1.4em;
}
.et_pb_section_1_tb_header .et_pb_text_0_tb_header p {
	font-size: 28px;
}
/* make logo much larger on bigger screens */
@media only screen and (min-width:1280px) {
    .et_pb_image_0_tb_header.logo img {
        max-width:200px;
    }
}
/* logo crashes with menu on mid-desktop screens */
@media only screen /*and (min-width:980px) */ and (max-width:1200px)  {
	.et_pb_row_2_tb_header.et_pb_row.menu-row {
		margin-left: auto !important;
		margin-right: 0px !important;
	}
}
/* footer tagline wrap: remove left margin on mid-desktop views */
@media only screen and (min-width:1401px) {
	.et_pb_text_6_tb_footer {
		margin-left: 20px !important;
	}
}
@media only screen and (max-width:1400px) {
	.et_pb_text_6_tb_footer p {
		margin-left: 0!important;
	}
}
@media only screen and (max-width:1100px) {
	.et_pb_text_6_tb_footer p {
		text-align:center!important;
	}
}

/* mobile menu + elements */
@media only screen and (max-width:980px) { 
    .logotext {
        line-height:1em;
    }
	.et_pb_image_0_tb_header.logo img {
		position:relative!important;
		display:block!important;
	}
	.mobile-full-width { /* for row or modules to go edge-edge */
    	margin-left: 0;
    	margin-right: 0;
    	width: 100%;
	}
	.mobile-full-width h1 {
		margin:0 20px;
	}
	/* search */
	.et_pb_search_0_tb_header.et_pb_module {
		padding-top: 50px;
		width: 100%;
	}
	.et_pb_search_0_tb_header {
		max-width: 100%!important;
		padding-left: 0!important;
	}
	/* increase site title line height on wrap */
	.et_pb_section_1_tb_header .et_pb_text_0_tb_header p {
		line-height:1.5em;
	} 
	/* align logo and hamburger menu on same level + indent */
	.et_pb_module.et_pb_image.et_pb_image_0_tb_header.logo {
		float: left;
		margin-left: 20px;
	}
	.et_pb_menu_inner_container {
		/*float:right;*/
	}
	.et_pb_menu_inner_container .mobile_menu_bar:before { 
		margin-top: -85px;
		float: right;
		margin-left: 150px;
	}
}
/* all page header sections */
.et_pb_section.s1-top {
	padding-top:0!important;
}

/* Activities & Groups page blurbs - also home-2 and home-3 --add .home class to section */
.home .et_pb_blurb .et_pb_blurb_content .et_pb_blurb_container,
.activities .et_pb_blurb .et_pb_blurb_content .et_pb_blurb_container {
	padding: 0px 15px 20px 15px;
}
/* home page short divider lines */ /*bright green - #6acd1a*/
hr.short-divider {
    width:25%; 
    color: #a3d4e5!important;
    background-color:#a3d4e5!important;
    border-color:#a3d4e5!important;
}

/* Course display */
p.title-list {
	line-height:1.2em;
	padding-bottom:.75em;
}
.home-2 .et_pb_toggle_close .et_pb_toggle_title:before {
	color:#ffffff;
}

/* Course Tabs */
.tabs-content .tab-content {
    display: none;
}
.tabs .tab {
    display: inline;
    padding: 10px 30px;
    border: 1px solid #d9d9d9;
}
.tabs-content .tab-content.active {
    display: block;
    border: 1px solid #d9d9d9;
    margin-top: 5px;
    padding: 30px;
}
.tabs .tab {
    background: #f4f4f4;
}
.tabs .tab.active {
    background: #ffffff;
    border-bottom: 1px solid #fff;
    font-weight: bold;
}
.course-list--day-name {
    font-weight: bold;
    font-size: 1.4em;
    margin-bottom: 30px;
}
.tabs-content .course-details,
.course-list--day-group .course-details,
.course-list-leader .course-details {
    display: flex;
    padding: 10px 0;
    border-bottom: 1px solid #bbb;
    /*margin-top: 50px;*/
}
.tabs-content .course-details:last-child,
.course-list--day-group .course-details:last-child,
.course-list-leader .course-details:last-child {
    border-bottom: 0;
}
.course-col-1 {
    flex-basis: 20%;
    padding-right: 20px;
    font-weight: bold;
    font-size: 1.1em;
}
.course-col-2 {
    flex-basis: 25%;
    padding-right: 20px;
}
.course-col-3 {
    flex-basis: 55%;
}
.course-list-leader .course-col-1 {
    flex-basis: 35%;
}
.course-list-leader .course-col-2 {
    flex-basis: 65%;
}
.course-details.header {
    font-weight: bold;
    font-size: 1.15em;
}
.course-details .course-title {
    line-height: 1.2;
}
/* mobile styling for tabbed courses by day, period */
@media only screen and (max-width: 965px) {
	.tabs .tab {
		display: block;
	}
    .tabs-content .course-details, 
    .course-list--day-group .course-details, 
    .course-list-leader .course-details {
        display: block!important;
    }
    .tabs-content .course-details.header {
        display: none!important;
    }
    .tabs-content .course-details .course-col-1.empty {
        display: none!important;
    }
}
/* Courses > Class Dates table styles */

/* this was the pasted in table */
/*@media only screen and (max-width:965px) {
    .entry-content tr td, body.et-pb-preview #main-content .container tr td {
        padding: 6px 6px!important;
    }
}*/
.tbldates {
    width: 100%;
    margin: auto;
}
.tablepress.tablepress-id-8 thead th,
.tablepress.tablepress-id-11 thead th {
    background-color: #ffffff;
    border-bottom: none;
}
.tablepress.tablepress-id-8 tbody td, .tablepress.tablepress-id-8 tfoot th,
.tablepress.tablepress-id-11 tbody td, .tablepress.tablepress-id-11 tfoot th {
    border-top: none;
}
.entry-content .tablepress-id-8 tr td,
.entry-content .tablepress-id-11 tr td {
    border-top: none;
}
.entry-content table:not(.variations).tablepress-id-8,
.entry-content table:not(.variations).tablepress-id-11  {
    border: none;
}

/* **********************
 * misc styles
 * **********************/
body.page-template-default #main-content .join-today h2 {
	font-size:48px;
	line-height:1.25em;
}
#join-today ol li::marker {
	font-size: 20px;
}
/* Simple calendar */
.simcal-event-title,
.simcal-event-details.simcal-tooltip-content {
	font-size: 14px!important;
}
/* main nav top-level page links */
ul#menu-main-menu>li>a {
    text-transform: uppercase;
}
.footnote p {
	font-size:.75em;
	font-style:italic;
	line-height:1.4em;
}
/**************************
 * Refresh 2024 styles */

/* column content on curved column tops */
.curved-column {
	margin-left:20px;
	margin-right:20px;
}
/* section with light purple background */
.purple-bg, .et_pb_section_0.et_pb_section.purple-bg {
	background-color:#8b5caa!important;
}
.purple-bg h1, .purple-bg h2, .purple-bg h3, .purple-bg p {
	color:#fff;
}
.purple-bg .item p, .purple-bg .et_pb_testimonial p {
    color:#242415;
}
.purple-bg .et_pb_blurb_description p {
	background:#ffffff!important;
	color:#242415;
}
.purple-bg h2.et_pb_module_header {
	color:#660066;
}
.purple-bg a {
	color:#a3d4e5;
}
.purple-bg a:hover {
	color:#21134e;
}
.purple-bg .tabs-content a, .purple-bg .by-leaders a {
    color:#21134e;
}
.purple-bg .tabs-content a:hover, .purple-bg .by-leaders a:hover {
    color:#a3d4e5;
}

.light-blue-bg {
	background:#a3d4e5;
}
.light-gray-bg {
    background:#E5E5E5;
}
.light-blue-bg h1, .light-blue-bg h2, .light-blue-bg h3, .light-blue-bg p,
.light-gray-bg h1, .light-gray-bg h2, .light-gray-bg h3, .light-gray-bg p {
    color:#21134E;
}

.tabs-content {
    background-color: #fff!important;
}
.by-leaders {
    background-color: #fff!important;
    padding: 10px 30px;
}
.entry-content .tablepress.refresh24 thead th,
.entry-content .tablepress.refresh24 tr th {
    color: #21134E;
    font-weight: 600;
    padding: 9px 24px;
}
/* Calendar month/year overwritten by h3 declaration above */
.simcal-current h3 {
    color:#000!important;
}

/* ***************************
* Footer styles 
* *************************** */
ul#menu-footer-menu {
    list-style-type: none;
    display: block;
}
/*contact info */

#contact-footer span.et-pb-icon.footer-icon,
.et-db #et-boc .et-l .et-pb-icon.footer-icon,
#contact-footer .et-pb-icon.footer-icon{
    font-size: 16px!important;
    color: #fff!important; /*#242415!important;*/
}
footer .et_pb_toggle_content p a {
	margin-left: 20px;
}
footer h2 {
	color:#fff;
}
footer p, footer a {
	color:#fff;
}
footer h3.et_pb_toggle_title, 
footer .et_pb_toggle_0_tb_footer.et_pb_toggle h3.et_pb_toggle_title,
footer .et_pb_toggle_0_tb_footer.et_pb_toggle_close .et_pb_toggle_title:before {
	color:#fff!important;
}
/* footer toggle open */
.et_pb_toggle_0_tb_footer.et_pb_toggle.et_pb_toggle_open {
    background-color: #21134e!important;
}
footer .et_pb_toggle_0_tb_footer.et_pb_toggle.et_pb_toggle_open h3.et_pb_toggle_title,
footer .et_pb_toggle_0_tb_footer.et_pb_toggle.et_pb_toggle_open h3.et_pb_toggle_title:before {
	color:#6fd0f3!important;
}
footer .et-pb-icon.footer-icon {
	color:#fff;
}
footer a:hover, footer a:focus, footer a:active {
	color:#6fd0f3!important;
}

/*******************************************
 *  Constant Contact inline form
 * ***************************************** */
/* remove padding on inner container */
.ctct-inline-form .ctct-form-defaults {
    padding:0!important;
}
/* remove background color on div surrounding form */
.ctct-form-embed.form_0 .ctct-form-defaults,
form#ctct_form_0 {
	background-color:#21134e!important;
}
.ctct-form-embed.form_0 .ctct-form-defaults, form#ctct_form_0 {
    background-color: #21134e !important;
}
/*style heading */
div.ctct-form-embed div.ctct-form-defaults h2.ctct-form-header {
    font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif!important;
    font-size: 23px!important;
    font-weight:500!important;
    line-height: 1.1!important;
    margin-top: 0!important;
	color:#fff!important;
}
/* style form labels */
div.ctct-form-embed form.ctct-form-custom label.ctct-form-label {
    font-family: 'Raleway',Helvetica,Arial,Lucida,sans-serif !important;
    font-weight: 500!important;
    font-size:16px!important;
    color:#fff!important;
    margin-bottom:5px!important;
}
input.ctct-form-element {
    padding:5px!important;
    height:auto!important;
}
div.ctct-form-embed form.ctct-form-custom input.ctct-form-element {
	line-height:1.0em!important;
}
div.ctct-form-embed form.ctct-form-custom div.ctct-form-field {
	margin-bottom:12px!important;
}
/* button */
button.ctct-form-button {
    border-radius: 50px!important;
	margin-top:20px;
}
div.ctct-form-embed form.ctct-form-custom button.ctct-form-button {
    /*font-size: 18px!important;*/
	color: #21134e!important;
	background-color:#fff!important;
    padding:10px!important;
    border:none!important;
	font-weight:bold;
}
.ctct-form-embed.form_0 .ctct-form-custom .ctct-form-button:hover {
    /*color: #660066!important;*/
	background-color:#6fd0f3!important;
    padding:10px!important;
}
/* add rollover > arrow */
.ctct-form-embed.form_0 .ctct-form-custom .ctct-form-button:hover:after {
    font-family: 'ETmodules' !important;
    content: "\35";
    position: absolute;
}
/* hide GDPR paragraph of consent */
.ctct-gdpr-text { display: none!important; }

/* Divi theme update to 4.19.4, added border-bottom-color:#e5e5e5 
 * reset to white */
.et_pb_section_2_tb_header {
    border-bottom-color: #ffffff!important;
}
.et_pb_menu .et-menu-nav>ul ul {
    padding: 5px 0;
}
#mobile-logo-row .et_pb_column {
    margin:auto;
    align-content: space-around;
}

/* New styles for home three-across boxes */
.et_pb_column_1_3.item {
		display: flex;
		flex: 1;
		flex-direction: column;
		height:100%;
	}
	 .item a.button-bottom {
		/*align-self: flex-end;*/
		 align-items:flex-end;
	}
@media (min-width: 981px) {
	.item .box-text {
		min-height:310px;
	}
}
@media (min-width: 1067px) {
	.item .box-text {
		min-height:280px;
	}
}
@media (min-width: 1279px) {
	.item .box-text {
		min-height:230px;
	}
}
.button-bottom {
	margin-bottom:.25em;
	display:flex;
}
/*widen rows on narrower screens from 80% to 90%, 95% for smaller phones */
@media (max-width: 580px) {
	.et_pb_row {
		width:95%;
	}
}
@media (min-width: 581px) and (max-width: 980px) {
	.et_pb_row {
		width:90%;
	}
}
/* Tablepress to display at 80% width on desktop only */
@media (min-width: 981px) {
    table.tablepress {
        width:80%!important;
    }
}
