/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and 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
*/

/* Typography */

html {
  /*font-size: 13px; /* base body font size */
}

html {
  font-size: 17px; /* base body font size */
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  margin-top: 0;
}

h1 {
  font-size: 1.882rem; /* ≈32px */
  margin-bottom: calc(0.3em + 10px);
}

h2 {
  font-size: 1.505rem; /* ≈25.6px */
  margin-bottom: calc(0.28em + 8px);
}

h3 {
  font-size: 1.204rem; /* ≈20.5px */
  margin-bottom: calc(0.25em + 6px);
}

h4 {
  font-size: 0.963rem; /* ≈16.4px */
  margin-bottom: calc(0.22em + 5px);
}

h5 {
  font-size: 0.77rem; /* ≈13px */
  margin-bottom: calc(0.2em + 4px);
}

h6 {
  font-size: 0.616rem; /* ≈10.5px */
  margin-bottom: calc(0.18em + 3px);
}




/* Content */

#content a {
    transition: all 0.3s ease-in-out;
}
#content a:hover {
    transition: all 0.3s ease-in-out;
}

.entry-content .narrow-width {
    max-width: 1000px;
}

/* Menu's */

.portal-user-menu {
    margin-bottom: 1rem;
    font-weight: 300;
    text-transform: uppercase;
    font-size: 0.85rem;
}

/* ─────────────────────────────────────────────────────────────────────────
   Portal menu: remove global ::before bullets and keep it right-aligned
   ───────────────────────────────────────────────────────────────────────── */
.portal-user-menu .portal-menu-icons {
  /* ensure no bullets, and allow inline-block centring */
  list-style: none;
}
.portal-user-menu .portal-menu-icons li {
  list-style: none;        /* safe-guard */
  margin-right: 1rem;      /* match your inline li spacing */
}
.portal-user-menu .portal-menu-icons li:last-child {
  margin-right: 0;
}
/* kill the arrow pseudo from #primary.content-area ul li::before */
.portal-user-menu .portal-menu-icons li::before {
  content: none !important;
}




div#n2-ss-2 .n2-font-d488c595e675c8170234e3e7d83c8103-link a {
    transition: all 0.3s ease-in-out;
}
div#n2-ss-2 .n2-font-d488c595e675c8170234e3e7d83c8103-link a:hover {
    transition: all 0.3s ease-in-out;
    background: #1c83c6;
}

.ast-nav-menu a {
    text-transform: uppercase;
    font-size: 0.85rem;
    font-weight: 300; 
    color: #334155;
}
.ast-nav-menu a:hover {
    color: #1c83c6;
}   
.nav-link-contact {
    font-weight: bold;
}
.nav-link-contact .menu-text {

    line-height: normal;
    /*padding: 0.25rem 0.45rem;*/
    padding: 0.75rem 0.95rem;
   /* border: 1px solid #0d1522;*/
    /*box-shadow: 0 0px 0px rgba(0, 0, 0, 0.05), 3px 3px 0px rgba(0, 0, 0, 0.15);*/
    /*background: #334156;*/
    background: #1c83c6;
    color: #fff;
    /*font-size: large;*/
    border-radius: 0.125rem;
    font-weight: 600;
    transition: all 0.3s ease-in-out;
}
.nav-link-contact .menu-text:hover {
    /*background: #fff;
    color: #0d1522;
    border: 1px dotted #0d1522;*/
    background: #334156;
    color: #ffffff;
    transition: all 0.3s ease-in-out;
}
.ast-blog-layout-4-grid .ast-article-inner {
    background-color: #fff;
}

.trail-items {
    background-color: #f7f5f5!important;
    padding: 0.5rem!important;
}

.header-temporary-user-signup-link {
    text-align: center;
    padding: 1rem 1.5rem;
    /*background-color: #1a83c6;*/
    background-color: #334156;
    color: #fff;
}
.header-temporary-user-signup-link a {
    text-decoration: underline;
    font-weight: bold;
    color: #fff;
}

.page-id-4661 .entry-header  {
    text-align: center;
}

.box-shadow {
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.05), 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease-in-out;
}

.box-shadow:hover {
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.05), 0 20px 60px rgba(0, 0, 0, 0.05);
}

body.hide-homepage-title .entry-title {
    display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #ffffff;
    background: #334155;
    color: white;
}

.wpcf7 form .wpcf7-response-output {
    margin: 2em 0em 1em;
    padding: 1em 1.25em;
    border: 0px solid #00a0d2;
    border-radius: 0.1rem;
}

.rounded-sm {
    border-radius: 0.15rem;
}
.rounded-md {
    border-radius: 0.25rem;
}

/* custom slideouts */

.sliedout-panels {
    margin-bottom: 2rem;
}
.toggle-wrapper {
}

@media (min-width: 768px) {
    .toggle-wrapper {
        display: flex;
        justify-content: space-between;
    }   
}

@media (max-width: 768px) {
    .toggle {
        width: 100%;
        /* Other styles as needed */
    }
}

.toggle {
    cursor: pointer;
    padding: 1rem;
    background-color: #fff;
    color: #334156;
    /*color: #0073aa;*/
    text-align: left;
    margin-top: 1rem ;
    font-weight: 900;
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.05), 1px 2px 0px rgba(0, 0, 0, 0.05);
    /*font-size: larger;*/
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center; /* Ensure vertical centering */

}
@media (min-width: 768px) {
    .toggle {
        cursor: pointer;
        padding: 1rem;
        background-color: #fff;
        color: #334156;
        /*color: #0073aa;*/
        text-align: left;
        margin-top: 1rem ;
        font-weight: 900;
        box-shadow: 0 0px 0px rgba(0, 0, 0, 0.05), 1px 2px 0px rgba(0, 0, 0, 0.05);
        /*font-size: larger;*/
        flex: 1; /* Ensures equal width and alignment */
        display: flex;
        justify-content: space-between;
        align-items: center; /* Ensure vertical centering */
    }
}
/* Apply margin to the first toggle on tablets and desktops only */
@media (min-width: 768px) {
    .toggle:first-child {
        margin-right: 1.5rem; /* Adjust the margin value as needed */
    }
}
.toggle span {
    text-transform: uppercase;
    /*font-size: 1rem;*/
    font-weight: 300;
}
.toggle i, .toggle svg {
    margin-left: auto; /* Push the icon to the far right */
    /* Ensure the icon is treated as a flex item */
    display: inline-flex; 
    align-items: center; /* Center align the icon vertically */
}

.toggle:hover {
  
        background-color: #f1f1f1; /* Change to your preferred active color */
        /* Other styles for active state */
    

}

.toggle.active {
    background-color: #334156; /* Change to your preferred active color */
    /* Other styles for active state */
    color: #fff;
}


.panel {
    display: none; /* This keeps the panel hidden initially */
    background-color: #fff;
    border: 0px solid #ddd;
    padding: 3rem;
    margin-bottom: 1rem;
}
/*
.panel .ast-row {
    display: flex;
    
}

.panel .ast-row .ast-col-4 {
    width: 33.33%;
    padding: 0 1.5rem;
    
}
*/
.panel .ast-row {
    display: flex;
    flex-wrap: wrap;
}

.panel .ast-col-4 {
    width: 33.33%;
    padding: 0 1.5rem;
    box-sizing: border-box;
}

.ast-flex {
    display: flex;
    flex-wrap: wrap;
}

.ast-flex-item {
    flex: 1 1 calc(33.33% - 1rem); /* Adjust the percentage for 3 columns and subtract margin if necessary */
    margin: 0.5rem; /* Adjust the margin as needed */
}

.category-masonry {
    column-count: 2;
    column-gap: 1rem;
}
.masonry {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1rem;
}
.masonry .wp-block-group {
    transition: all 0.3s ease-in-out;
    margin-block-start: 0px;
    background-color: white;
    padding: 2rem;
}
.masonry .wp-block-group:hover {
    transition: all 0.3s ease-in-out;
    background-color: #334156;
    color: white;
    scale: 1.1;
}
.masonry .wp-block-group:hover h4, .masonry .wp-block-group:hover blockquote {
    transition: all 0.3s ease-in-out;
    color: white;
}

.item-block {
    transition: all 0.3s ease-in-out;
    margin-block-start: 0px;
    background-color: white;
    padding: 2rem;
}
.item-block:hover {
    transition: all 0.3s ease-in-out;
    background-color: #334156;
    color: white;
    /*scale: 1.1;*/
}

.category-list {
   
}
.category-list .column {
    width: 100%;
    width: -webkit-fill-available;
    max-width: 100%;
}
@media (min-width: 1023px) {
    .category-list {
        display: flex;
        justify-content: space-between;
    }
    .category-list .column {
        width: 50%;
        width: -webkit-fill-available;
        max-width: 47.5%;
    }

}

.category-block {
    break-inside: avoid;
    margin-bottom: 1rem;
}
.category-block.current {
    background: #f8f5f5;
    border-radius: 0.15rem;
}
.category-block.current a.parent-cat {
    background: #0182ca;
    border-radius: 0.15rem 0.15rem 0 0;
}
.category-block.current ul {
    background: #f8f5f5;
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 0.15rem;
}
.category-block.current ul li a {
    font-weight: 200;
    font-size: 0.85rem;
    border-radius: 0;
}
.category-block a {
    text-decoration: none!important;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    padding: 0.5rem;
    padding-right: 1rem;
}
.category-block a:hover {
    background: #0182ca;
    color: white;
    border-radius: 0.1rem;
}
.category-block a:hover div {
    font-weight: 900;
}
.category-block a svg {
    width: 15px;
    height: 15px;
    margin-top: 0.5rem;
}
.category-block a svg, .category-block a span {


}
.category-block a div, .category-block.current a div {
    /*text-transform: uppercase;
    font-weight: 200;
    font-size: 0.85rem;*/
}
.category-block.current div {
    text-transform: uppercase;
    font-weight: 200;
    font-size: 0.85rem;
    /*padding: 0.5rem;
    background: #0182ca;*/
    color: white;
}
.category-block ul {
    list-style-type: none;
    background: #f8f5f5;
    padding: 0;
}
a.toggle-subcategories {
    font-size: 0.65rem;
    /*padding-left: 1.5rem;*/
    /*border-bottom: 1px dotted #ccc;*/
    /* margin-bottom: 1rem; */
    /*text-indent: 1rem;*/
    color: #334156;
    /*display: inline-block !important;*/
    text-transform: uppercase;
    margin-top: 0;
    padding-top: 0;
    cursor: pointer;
}
a.toggle-subcategories:hover {
    background: none;
    color: #334155;
    border-radius: 0;
    background: #f8f5f5;
    border-radius: 0.125rem;
}
a.toggle-subcategories span {
    border-bottom: 1px dotted #ccc;
}

ul.subcategory-list {
    list-style-type: none;
    background: none;
    padding: 0;
    font-size: 0.8rem;
    margin-left: 1rem;
}
ul.subcategory-list li a {
    justify-content: flex-start;
}
ul.subcategory-list li a svg {
    margin-right: 1rem;
}
/* Stack columns on mobile */
@media (max-width: 768px) {
    .category-masonry {
        column-count: 1;
    }
}

.cat-links.badge a, .tags-links.badge a {
    white-space: nowrap;
}

.category-block.current ul li.current-child a {
    color: #334155;
}
.category-block.current ul li.current-child a:hover {
    background: none;
}

.uagb-post-grid.is-carousel article:hover {
    transition: all 0.3s ease-in-out;
    background: #334155;
    color: #fff;
}
.uagb-post-grid.is-carousel article:hover a {
    color: #fff;
}

.ast-load-more {
    cursor: pointer;
    display: none;
    /*border: 1px solid #334156;*/
    border: 1px solid #1c83c6;
    border-radius: 0.15rem;
    transition: all .2s linear;
    color: #1c83c6;
    font-weight: 600;
}

#primary.content-area ul {
    list-style: none;
    padding-left: 0;
}

#primary.content-area ul li {
    margin-bottom: 5px; /* Adjust as needed */
    padding-left: 24px; /* Set the left padding to accommodate the icon */
    position: relative; /* Required for absolute positioning of the icon */
}

#primary.content-area ul li::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    /* top: 50%; */
    /* left: 0; */
    /* transform: translateY(-50%); */
    background-repeat: no-repeat;
    background-image: url(assets/img/arrow-right.svg);
    background-size: 70%;
    background-position: center;
    margin-right: 1rem;
    background-color: #FE7D35;
    filter: invert(100%);
    border-radius: 0.075rem;
}
#primary.content-area ul.slick-dots li:before {
    background-image: none;
    filter: none;
    display: none;
  
}


/* Adjust spacing and size of SVG icons */
/* You may need to adjust these values based on the size and spacing of your list items */

.carousel-wrapper {
    display: flex;
    position: relative;
    background-color: white;
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.05), 0 0px 5px rgba(0, 0, 0, 0.05);
    border-radius: 0.15rem;
    align-items: center;
}
.feedback-carousel {
    overflow: hidden;
    max-width: 80%;
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    flex-direction: row;
    align-items: center; /* Ensure items stretch vertically */
    /*padding: 0 1rem;*/ /* Padding instead of margin for `.feedback-item` */
    gap: 0rem; /* Adjust as needed, adds space between items */
    margin: 0 auto;
    text-align: center;
}

.feedback-item {
    flex: 0 0 calc(100% - 0rem); /* Adjust width to account for gap */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.feedback-item .container {
    /*margin: 1rem;*/ /* Keep margin for the inner container */
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    /*justify-content: space-between;*/

}

.feedback-item blockquote {
    transition: all 0.3s ease-in-out;
    border-left: none;
    margin: 0;
    padding: 0;

}
.feedback-item:hover blockquote {
    /*color: black;*/
}
.feedback-item .item-block {
    background: none!important;
}
.feedback-item .item-block:hover {
    background: none!important;
    color: black !important;
}
.feedback {
    -webkit-overflow-scrolling: touch;
    overflow-x: scroll;
}

.feedback::-webkit-scrollbar {
    display: none; /* Hide scrollbar for Webkit browsers */
}

.feedback {
    scrollbar-width: none; /* Hide scrollbar for Firefox */
}

.client-name {
    font-weight: 600;
}

.carousel-nav {
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.carousel-nav button {
    background: white;
    color: black;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 0.15rem;
    cursor: pointer;
    transition: all 0.3s ease-in-out;

}
.carousel-nav button:hover {
    background: white;
    color: #1c83c6;
}
/* Two col layout and sidebar */

#secondary, .page-template-page-twocol-sidenav #secondary {
    flex: 2; /* Adjusts the width of the sidebar */
    margin-top: 2rem;
    /*min-width: 30%;*/
}
#primary {
    flex: 4; /* Adjusts the width of the content area */
    min-width: 70%;
 
}
.page-template-page-twocol-sidenav #primary {

    /*margin-left: 3rem;*/
}
.home #primary {
    margin-left: 0rem;
}
#secondary li, .page-template-page-twocol-sidenav #secondary li {
    background: white;
    padding: 0.25rem;
    margin-bottom: 0.5rem;
}
.sidebar-main {
    background-color: white;
    border-radius: 0.25rem;
    padding: 1rem;
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.05), 1px 2px 0px rgba(0, 0, 0, 0.05);
	margin-right: 0rem;
}
@media (min-width: 768px) {
	.sidebar-main {
		margin-right: 3rem;
	}
}
.sidebar-main ul {
    list-style-type: none;
    margin: 0;
    color: #0073aa;
    font-size: 0.85rem;
}   
.sidebar-main ul li {
    color: #0073aa;
}
.sidebar-main li.current {
    
}

.sidebar-main li div.toggle {
    align-items: flex-start; /* Aligns items to the top */
    justify-content: space-between;
    cursor: pointer;
    padding: 0rem;
    background: none;
    color: #1a83c6;
    text-align: left;
    margin-top: 0rem ;prim
    font-weight: normal;
    box-shadow: none;
    /*font-size: larger;*/
    flex: 1; /* Ensures equal width and alignment */
    display: flex;
}
.sidebar-main li.current > a {
    font-weight: bold; /* Highlight the current page */
}
.sidebar-main li div.toggle span {
    flex: 9;
    text-transform: capitalize;
}
.sidebar-main li div.toggle svg {
    flex: 1;
}

.sidebar-main li > ul {
    list-style-type: none;
    margin: 0;
    padding: 0.5rem;
    /*font-size: 0.8rem;*/
    margin-left: 0.5rem;
}
.sidebar-main li a, .sidebar-main li > ul li a {
    padding-bottom: 0.25rem;
}
.sidebar-main li a:hover, .sidebar-main li > ul li a:hover {
    border-bottom: 1px dotted #ccc;
    padding-bottom: 0.25rem;
}

.sidebar-main li div.toggle:first-child {
    margin-right: 0;
}

figure.size-full img {
	width: 100%
}
.ast-archive-description {
    padding: 0;
}
header.entry-header .entry-title, .ast-archive-description .ast-archive-title {
    border-bottom: 4px solid #334156;
    padding-bottom: 1.5rem;
    margin-bottom: 0rem;
    margin-top: 0.5rem;
}
.single .entry-header {
    margin-bottom: 0;
}
.entry-meta, .entry-meta * {
    margin: 1.5rem 0;
}
.post-terms {
    padding-top: 1.5rem;
}

.post-terms hr {
    background-color: #334156;
    height: 2px;
}


.ast-header-account {
    border-left: 1px dotted #3341565c;
    margin-left: 1rem;
    text-transform: UPPERCASE;
    font-size: 0.8rem;
}

button, .ast-button, .button, input[type="button"], input[type="reset"], input[type="submit"] {
    box-shadow: none;
}


.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin {
    padding-left: 0!important;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin:before {
        display: none!important;
    }

span.portal-prefix {
    font-weight: bold; /* Make the 'Portal:' text bold */
    color: #ffffff;
    background: #334156;
    margin-right: 0.25rem;
    padding: 0.15rem 0.25rem;
    border-radius: 0.1rem;
    font-size: 0.85rem;
}

#primary.content-area .portal-posts {
    /*display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;*/
    margin-bottom: 2rem;
}
#primary.content-area .portal-posts div {
    list-style-type: none !important;

    /*border-bottom: 1px dotted #ccc;*/
    margin: 0 !important;
    padding-left: 0 !important;
    padding: 0rem;
    margin-bottom: 0rem!important;
    
    font-weight: 600;

    @media (min-width: 1023px) {
        font-size: 1.25rem;
    }
}

.portal-posts div:last-child {
    border-bottom: none;
    padding-bottom: 0rem;
    margin-bottom: 0rem!important;

}
.portal-posts div a {

    display: flex;
    
    justify-content: space-between; /* Ensures that items are spaced out */


    background-color: white;
    padding: 0.75rem 1rem;
    margin-bottom: 0.25rem;
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.05), 0 0px 5px rgba(0, 0, 0, 0.05);

    overflow: hidden;
    text-overflow: ellipsis;
    
    text-decoration: none !important;

    @media (min-width: 1023px) {
        white-space: nowrap;
        align-items: center;
    }

}
.portal-posts div a:hover {
    background-color: #1a83c6;
    color: white;
}
.portal-posts div a span.title {
    flex: 1; /* Allows the anchor tag to grow and take up available space */
    display: block;    
}
.portal-posts div a span.post-date {
    font-size: 0.8rem;
    color: #334156;
    /*color: #ccc!important;*/
}

#more-posts {
    display: none;
}

/* Ensure the loader is hidden by default */
.ast-loader {
    display: none;
}

/* Optionally style the Load More button, if needed */
#load-more-posts {
    display: block; /* Ensure it's visible by default */
}

#load-more-posts:hover {
}


.jurisdiction-meta, .jurisdiction-content {
    background-color: white;
    padding: 0.75rem 1rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.05), 0 0px 5px rgba(0, 0, 0, 0.05);
}

.account-info, .subscription-info {
    padding: 2rem;
    margin-bottom: 2rem;
    background-color: white;
}
