/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


/* --------------------------------------------------------------------
    TABLE OF CONTENTS

    - COLORS
    - JAVASCRIPT - DETECT TABLET OR MOBILE
    - TYPOGRAPHY
    - GENERAL ELEMENTS 
    - WIDGETS
    - HEADER
    - PAGES
    - FOOTER
-------------------------------------------------------------------- */
 


/* --------------------------------------------------------------------
    COLORS

    -- LOGO COLORS -- 
    yellow      : ffc107 - ffc110 - ffcc11
    dk gray     : 3d3e42
    footer bg 1 : 2E3033 | color: BAC0C5 and ffffff
    footer bg 2 : 151515 | color: BAC0C5 and ffffff
                  
    orange      : F17800 (bright)  -OR-  f19110 (flat)
    red         : CB451B (bright)  -OR-  cb5e2b (flat)

    -- THEME COLORS -- 
    yellow      : ffc107
    lt blue     : 6aa4c9
    dk blue     : 3b5284
    green       : 5ba8a0
    dk green    : 3b8880
    dk silver   : 9aa5aa
    silver      : cad5da
    lt silver   : dae5ea or eaf5fa
    grey        : bac0c5
    beige       : e8eae1

-------------------------------------------------------------------- */



/* --------------------------------------------------------------------
    HELPS JAVASCRIPT CHECK IF TABLET OR MOBILE
-------------------------------------------------------------------- */
.hc-tablet-check {
    display: none;
    visibility: hidden;
}
.hc-mobile-check {
    display: none;
    visibility: hidden;
}    
/* TABLET */
@media (max-width: 1024px) { /* set tablet size here (see: elementor settings) */
    .hc-tablet-check {
        visibility: visible;
    }
}
/* MOBILE HEADER */
@media (max-width: 767px) { /* set mobile size here (see: elementor settings) */
    .hc-tablet-check {
        visibility: hidden;
    }
    .hc-mobile-check {
       visibility: visible;
    }    
}

                       

/* --------------------------------------------------------------------
    TYPOGRAPHY
-------------------------------------------------------------------- */

/* general */
body, button, input, select, textarea, p {
    line-height: 1.3;
}

/* headings */
h1, h2, h3, h4, h5, h6 {
    overflow-wrap: normal;
}
h1, .entry-content h1 {
    color: #fff;
    line-height: 1.1;    
    text-shadow: 2px 2px 2px rgba(0,0,0,0.3);
}
.page-title h1, h1.page-title {
    line-height: 1.1;
    color: #000;
    text-shadow: none;
}

h2, .entry-content h2, h3, .entry-content h3, h4, .entry-content h4, 
.site-title, .site-title a {
    line-height: 1.2;
}
h2.text-shadow, .text-shadow h2, 
h3.text-shadow, .text-shadow h3, 
h4.text-shadow, .text-shadow h4 {
    text-shadow: 2px 2px 2px rgba(0,0,0,0.3);
}
h5, .entry-content h5, h6, .entry-content h6 {
    line-height: 1.2;
}

h5.psg-h5-dark-bg {
    color:#fff;
} 

/* heading and font sizes */
/* automatically resize for mobile devices */
h1, .entry-content h1 {
    font-size: calc(40px + (60 - 0) * ((100vw - 300px) / (1920 - 300)));
}
.page-title h1, h1.page-title {
    font-size: calc(25px + (30 - 0) * ((100vw - 300px) / (1920 - 300)));
}
h2, .entry-content h2 {
    font-size: calc(30px + (36 - 30) * ((100vw - 300px) / (1920 - 300)));
}
h2.short, .short h2 {
    font-size: calc(17px + (18 - 17) * ((100vw - 300px) / (1920 - 300)));
}
h3, .entry-content h3 {
    font-size: calc(25px + (30 - 25) * ((100vw - 300px) / (1920 - 300)));
} 
h4, .entry-content h4 {
    font-size: calc(20px + (25 - 20) * ((100vw - 300px) / (1920 - 300)));
}
#hc-footer h4 {
    font-size: calc(17px + (18 - 17) * ((100vw - 300px) / (1920 - 300)));
}
h5, .entry-content h5 {
    font-size: calc(18px + (22 - 18) * ((100vw - 300px) / (1920 - 300)));
}
h6, .entry-content h6 {
    font-size: calc(15px + (20 - 15) * ((100vw - 300px) / (1920 - 300)));
}


/* paragraphs */
p, .entry-content p {
}



/* --------------------------------------------------------------------
    GENERAL ELEMENTS
-------------------------------------------------------------------- */
/* elementor */ 
.elementor-icon-box-wrapper {
    /*flex-wrap: wrap;*/
}
@media (max-width: 767px) {
    .elementor-icon-box-description {
        display: -ms-flexbox;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

/* links and buttons */
a {
    color: #5ba8a0;
}
a:hover {
    color: #3b5284;
}
a.button {
    background: #5ba8a0;
    color: #fff;
}
a.button:hover {
    background: #3b5284;
    color: #fff;
    
}
a.button.blue {
    background: #3b5284;
    color: #fff;
}
a.button.blue:hover {
    background: #5ba8a0;
    color: #fff;    
}
a.button.lt-blue {
    background: #6aa4c9;
    color: #fff;    
}
a.button.lt-blue:hover {
    background: #3b5284;
    color: #fff;    
}
a.button.solo {
    display: block;
    width: fit-content;
    margin: 15px 0 5px 0;
}
a.button-outline {
    background: transparent;
    border: solid 1px #fff;
    color: #fff;
}
a.button-outline:hover {
    background: #fff;
    color: #000;
}



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

/* LOGO */
.psg-logo img {
    max-width: 250px;
    width: auto;
    transition: all 0.4s ease;        

}
@media (max-width:776px) {
    .psg-logo img {
        max-width: 200px;
    }
}

/* HEADER MENU */
#hc-header .hc-header-menu .hfe-nav-menu li,
#hc-header .hc-header-menu  .hfe-nav-menu li a
{
    transition: none;
} 

/* current page item */
#hc-header .hc-header-menu .hfe-nav-menu li.current_page_item,
#hc-header .hc-header-menu .hfe-nav-menu li.current_page_item a.hfe-menu-item {
    background: #3b5284;
    color: #fff!important;    
}

/* primary menu items */
#hc-header .hc-header-menu .hfe-nav-menu li.menu-item:first-child, 
#hc-header .hc-header-menu .hfe-nav-menu li.menu-item:first-child {
    border-left: solid 1px #e5e5e5;
}
#hc-header .hc-header-menu .hfe-nav-menu__layout-horizontal li.menu-item, 
#hc-header .hc-header-menu .hfe-nav-menu__layout-horizontal > li.menu-item {
    border-right: solid 1px #e5e5e5;
}
#hc-header .hc-header-menu .hfe-nav-menu li.menu-item a.hfe-menu-item {
    padding: 11px 15px 11px 15px;     
    line-height: 24px;
}
#hc-header .hc-header-menu .hfe-nav-menu li.menu-item:hover, 
#hc-header .hc-header-menu .hfe-nav-menu li.menu-item:hover a.hfe-menu-item {
    background: #ffffff;;
    color: #000!important;
}
#hc-header .hc-header-menu .hfe-nav-menu li.current_page_item:hover,
#hc-header .hc-header-menu .hfe-nav-menu li.current_page_item:hover a.hfe-menu-item {
    background: #3b5284;
    color: #fff!important;    
}

/* secondary menu items */
#hc-header .hc-header-menu .hfe-nav-menu .sub-menu {
    padding-bottom: 15px;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
}
#hc-header .hc-header-menu .hfe-nav-menu .sub-menu li.menu-item {
    padding: 0 15px;
    border-bottom: 0;
}
#hc-header .hc-header-menu .hfe-nav-menu .sub-menu li.menu-item a.hfe-sub-menu-item {
    padding: 15px 0;
    border-bottom: solid 1px #e5e5e5;
}
#hc-header .hc-header-menu .hfe-nav-menu .sub-menu li.menu-item a.hfe-sub-menu-item:hover {
    padding: 15px 0 14px 0;
    border-bottom: solid 2px #3b5284;
    color: #000!important;
}

#hc-header .hc-header-menu .menu-item a.hfe-menu-item, 
#hc-header .hc-header-menu .menu-item a.hfe-sub-menu-item {
}



/* --------------------------------------------------------------------
    CUSTOM ELEMENTOR HEADER - STICKY
-------------------------------------------------------------------- */

.ast-primary-sticky-header-active #masthead #hc-header.ast-sticky-active {
    position: fixed;
    width: 100%;
    top: 0;
}
#masthead #hc-header.ast-sticky-active {
    /*background: #143e34;*/
    background: #fff;
    box-shadow: 1px 0px 3px #ccc;
}
#masthead .ast-sticky-active .main-header-menu > li > a {
    /*color: #ffffff;*/
}
#masthead .ast-sticky-active .ast-site-identity {
    padding-top: 8px;
    padding-bottom: 8px;
    transition: all 0.4s ease;
}
#masthead .ast-sticky-active .psg-logo img {
    max-width: 150px;
    width: auto;
    /*
    position: absolute;
    top: 10px;
    max-height: 120px!important;
    width: 120px;
    height: 120px;
    */
}



/* --------------------------------------------------------------------
    WIDGETS
-------------------------------------------------------------------- */

/* icon box variations */
/* icon box 1 */
.psg-icon-box-1 {
    
}
.psg-icon-box-1 .elementor-icon {
    text-decoration: none;
    display: inline-block;
    position: relative;
    width: 87px;
    height: 50.23px;
    margin: 25.11px 0;
    background-color: #3b5284;
    color: #fff;
}
.psg-icon-box-1 .elementor-icon i {
    margin: 0 auto;
}
.psg-icon-box-1 .elementor-icon::before, 
.psg-icon-box-1 .elementor-icon::after {
    content: "";
    z-index: 1;
    position: absolute;
    box-sizing: border-box;
    width: 0;
    left: 0;
    border-left: 43.5px solid transparent;
    border-right: 43.5px solid transparent;
}
.psg-icon-box-1 .elementor-icon::before {
    bottom: 100%;
    border-bottom: 25.11px solid #3b5284;
}
.psg-icon-box-1 .elementor-icon::after {
    top: 100%;
    border-top: 25.11px solid #3b5284;    
}
.psg-icon-box-1 a.psg-read-more {
    color: #5ba8a0;
    /*text-transform: uppercase;*/
}
.psg-icon-box-1 a.psg-read-more::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    box-sizing: border-box;
    content: "\f30b";
    font-size: 16px;
    margin-left: 10px;
}
.psg-icon-box-1 a.psg-read-more:hover {
    color: #3b5284;
}

/* icon box 2 */
.psg-icon-box-2 {
}
.psg-icon-box-2 .elementor-icon {
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 15px;
    width: auto;
    height: auto;

    background: url(/wp-content/uploads/2023/01/psychological-services-group-head-empty-lt-gray.png);
    background-size: contain;
    background-repeat: no-repeat;
    
    font-size: 42px;
    color: #3b5284;
    text-decoration: none;
}
.psg-icon-box-2 .elementor-icon i {
    margin: 0 auto;
}
.psg-icon-box-2 a.psg-read-more {
    color: #5ba8a0;
    text-transform: uppercase;
}
.psg-icon-box-2 a.psg-read-more::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    box-sizing: border-box;
    content: "\f30b";
    font-size: 16px;
    margin-left: 10px;
}
.psg-icon-box-2 a.psg-read-more:hover {
    color: #3b5284;
}

/* icon box 3 */
.psg-icon-box-3 {}
.psg-icon-box-3 p {
    margin: 0;
    padding: 0;
}
.psg-icon-box-3 h3 {
    color: #fff;
}
.psg-icon-box-3 h3 {
    font-size: calc(20px + (25 - 20) * ((100vw - 300px) / (1920 - 300)));
}



/* --------------------------------------------------------------------
    PAGES
-------------------------------------------------------------------- */

/* elementor toggle widget */
.psg-toggle-1 .elementor-toggle .elementor-tab-title {
    background: transparent;
    color: #5ba8a0;
}
.psg-toggle-1 .elementor-toggle .elementor-tab-title:hover  {
    color: #3b5284;
}
.psg-toggle-1 .elementor-toggle .elementor-tab-title .elementor-toggle-icon {
    color: #3b5284;
}
.psg-toggle-1 .elementor-toggle .elementor-tab-title.elementor-active {
    background-color: #5ba8a0;
    color: #fff; 
}
.psg-toggle-1 .elementor-toggle .elementor-tab-title.elementor-active:hover  {
    color: #fff;
}
.psg-toggle-1 .elementor-toggle .elementor-tab-content.elementor-active {
    background-color: #fff;
}
.psg-toggle-1 .elementor-toggle .elementor-tab-title .elementor-toggle-icon {
    margin-top: 1px; 
}

/* elementor list icon widget */
.psg-list-icon-1  .elementor-icon-list-icon {
    border: solid 1px #ccc;
    border-radius: 50%;
    padding: 4px 4px 4px 8px;
    width: 30px;
    height: 30px;
}

/* mobile columns with background images */
.psg-column-background-image > .elementor-widget-wrap {
    backround-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}


/* hover column */
.psg-hover-column {
    border-radius: 3px;
    border: solid 1px rgba(0,0,0,0);
}
.psg-hover-column > .elementor-widget-wrap > .elementor-widget-container > img {}
.psg-hover-column > .elementor-widget-wrap > .elementor-widget-container > img {} 
.psg-hover-column .psg-hover-column-img {
    
}
.psg-hover-column .psg-hover-column-text > .elementor-widget-container {
    background: #f0f0f0!important;
}
.psg-hover-column:hover {
    border: solid 1px #5ba8a0;
}
.psg-hover-column:hover .psg-hover-column-text > .elementor-widget-container {
    background: #5ba8a0!important;
}
.psg-hover-column:hover .psg-hover-column-text > .elementor-widget-container h6 {
    color: #fff!important;
}


/* meet the team page - staff view */
body:not(.elementor-editor-active) #psg-staff-view *[class^="psg-staff-id-"], 
body:not(.elementor-editor-active) #psg-staff-view *[class*=" psg-staff-id-"]{
    display: none;  /* don't display on page load */
}
.psg-staff-view-item-show {
    display: block!important;
}

/* contact page */
.psg-contact-map { 
    height: 350px;
    min-height: 350px;
}



/* --------------------------------------------------------------------
    NINJA FORMS
-------------------------------------------------------------------- */
.nf-field-container .nf-field input[type=button] {
    background-color: #5BA8A0;
    border-radius: 5px;
    padding: 15px 25px 15px 25px;
    font-size: 18px;
    color: #FFFFFF;
}
.nf-field-container .nf-field input[type=button]:hover {
    background-color: #3B5284;
    color: #FFFFFF;
}



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

/* pre-footer area */
#hc-pre-footer, 
#hc-pre-footer h3, 
#hc-pre-footer a {
    color: #fff!important;
}


/* main footer area /
#hc-footer {
    color: #bac0c5;
}
#hc-footer h4 {
    color: #fff;
}
#hc-footer a {
    color: #fff;
    text-decoration: none;
}
#hc-footer a:hover {
    color: #fff;
    text-decoration: underline;
}
/* */
#hc-footer {
    color: #555;
}
#hc-footer h4 {
    color: #000;
}
#hc-footer a {
    color: #000;
    text-decoration: none;
}
#hc-footer a:hover {
    color: #000;
    text-decoration: underline;
}

#hc-footer .psg-footer-logo {
    max-width: 300px;
}

/* footer copyright area */
#hc-copyright { 
    color: #fff;
}
#hc-copyright a {
    color: #fff;
    text-decoration: underline;
}
#hc-copyright a:hover {
    text-decoration: none;
}