/*
Theme Name: APS Starter
Theme URI: 
Author: 
Author URI: 
Description: 
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: starter-block-theme-v3
Text Domain: aps-starter
Tags: 
*/

/* Font Base */
html {font-size: 15px;}

@font-face {
    font-family: 'Inter';
    src: url('https://allplaysystems.com/wp-content/uploads/fonts/Inter-Regular.woff2') format('woff2'),
        url('https://allplaysystems.com/wp-content/uploads/fonts/Inter-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('https://allplaysystems.com/wp-content/uploads/fonts/Inter-Italic.woff2') format('woff2'),
        url('https://allplaysystems.com/wp-content/uploads/fonts/Inter-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

body {
  font-family: 'Inter', 'Roboto', 'Arial', 'Helvetica', 'Verdana', sans-serif;
  font-weight: false;
  line-height: 1.65;
}

p {
  font-size: 1rem;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: 'Inter', 'Roboto', 'Arial', 'Helvetica', 'Verdana', sans-serif;
  font-weight: true;
  line-height: 1.15;
}

h1,
.text-size-h1 {
  font-family: 'Inter', 'Roboto', 'Arial', 'Helvetica', 'Verdana', sans-serif;
  font-weight: 400;
  margin-top: 0;
  font-size: 2rem;
}

h2,
.text-size-h2 { font-size: 1.75rem; }

h3,
.text-size-h3 { font-size: 1.5rem; }

h4,
.text-size-h4 { font-size: 1.25rem; }

h5,
.text-size-h5 { font-size: 1rem; }

.text-caption { font-size: 0.8rem; }

small,
.text-small {
  font-size: 0.64rem;
}
/*Backgrounds*/
.gray-background {
    display: flex;
    flex-direction: column;
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
    flex: 1;
    width: 100%;
    height: 100%;
    max-width: 100%;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: .5rem;
}
.gradient-green {
background: #B4C630;
background: linear-gradient(180deg,rgba(180, 198, 48, 1) 0%, rgba(255, 255, 255, 1) 41%);
}
.grad-border {
background: #B4C630;
background: linear-gradient(180deg,rgba(180, 198, 48, 1) 0%, rgba(255, 255, 255, 1) 33%, rgba(255, 255, 255, 1) 48%, rgba(180, 198, 48, 0.57) 100%);
}
/* Various Padding */
.padding-rt-10 {
    padding-right: 10px;
}
/* Remove Footer Margin */
footer.wp-block-template-part {margin-block-start:0 !important;
}
/* Sticky Header */
#site-header { 
  position: fixed; 
  left: 0; 
  right: 0; 
  top: 0; 
  height: 105.75px;                /* adjust */ 
  background: white; 
  transform: translateY(0); 
  transition: top 0.8s ease, opacity 0.7s ease;
  z-index: 9999; 
  will-change: transform; 
} 
/* visible when scrolling up */ 
#site-header.header-visible { 
  height: 105.75px !important;
} 
/* hidden when scrolling down */ 
#site-header.hide {
  top: -105.75px;
}
/* Styling menu links on hover */
.main-navigation a:hover {
    color: #3F4196 !important;
    text-decoration: none !important;
}
/* Styling the current active menu item */
.main-navigation .current-menu-item a {
    color: #3F4196 !important;
}
/* Button Hover */
.button-hover .wp-block-button__link:hover {
    background-color: #3F4196 !important; /* Your desired hover background color */
    color: #ffffff !important;           /* Your desired hover text color */
}
.button-hover .wp-block-button__link {
    transition: background-color 0.3s ease, color 0.3s ease;
}
/* Hide the scroll bar on modal menu*/
.modal-menu {
    overflow: auto;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE 10+ */
}
.hide-scrollbar::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari, Opera */
}
/* Smart Slider Controls */
.n2-ss-slider .n2-ss-slider-wrapper-inside .n2-ss-slider-controls {
    z-index: 10;
    position: absolute;
    width: 100%;
    height: 99.6% !important;
    visibility: hidden;
    display: flex;
}
/* Icon Styles */
.icon-circle {
  display: flex;         /* Use flexbox for easy centering */
  justify-content: center; /* Center horizontally */
  align-items: center;     /* Center vertically */
  width: 50px;           /* Set equal width and height */
  height: 50px;
  background-color: #3F4196; /* Circle background color */
  border-radius: 50%;    /* Makes the square div a circle */
  border: 0px solid #333; /* Optional: Add a border line */
  padding: 5px;          /* Optional: Add space around the icon inside the circle */
}
.icon-container  {
  display: flex;         /* Use flexbox for easy centering */
  justify-content: center; /* Center horizontally */
  align-items: center;     /* Center vertically */
  border-radius: 50%;    /* Makes the square div a circle */
  padding: 10px;          /* Optional: Add space around the icon inside the circle */
  transition: all 0.4s ease;
}
.min-pad-icon .icon-container  {
  display: flex;         /* Use flexbox for easy centering */
  justify-content: center; /* Center horizontally */
  align-items: center;     /* Center vertically */
  padding: 2px;          /* Optional: Add space around the icon inside the circle */
  transition: all 0.4s ease;
}
.icon-container:hover  {
  box-shadow: 0 0 17px 1px rgba(180,198,48); /* Soft green ring */
  border-radius: 50%; /* Ensures the glow is circular */
}
.no-glow-icon .icon-container:hover  {
  box-shadow: none;
  border-radius: 50%; /* Ensures the glow is circular */
}
.icon-container:hover i, 
.icon-container:hover svg {
  transform: scale(1.1);
  transition: transform 0.3s ease;
  cursor: pointer;
}

/* Optional: Style the inner SVG icon if needed */
.icon-circle svg {
  fill: #333; /* Change the icon color */
}
/* Our Work Grid */
.post-grid {
    display: flex;
    flex-direction: column;
    padding-top: 15px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-left: 10px;
    flex: 1;
    width: 100%;
    height: 100%;
    max-width: 100%;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: .5rem;
}
.rt-container, .rt-container-fluid {
    margin-left: auto;
    margin-right: auto;
    padding-left: 0px !important;
    padding-right: 0px !important;
}
.tpg-shortcode-main-wrapper .even-grid-item, .tpg-shortcode-main-wrapper .masonry-grid-item {
    margin-bottom: 10px !important;
}
.tpg-shortcode-main-wrapper .even-grid-item, .tpg-shortcode-main-wrapper .masonry-grid-item {
    margin: 0,0,10px,0 !important;
}
.rt-col-lg-1, .rt-col-lg-2, .rt-col-lg-3, .rt-col-lg-4, .rt-col-lg-5, .rt-col-lg-6, .rt-col-lg-7, .rt-col-lg-8, .rt-col-lg-9, .rt-col-lg-10, .rt-col-lg-11, .rt-col-lg-12, .rt-col-lg-24, .rt-col-md-1, .rt-col-md-2, .rt-col-md-3, .rt-col-md-4, .rt-col-md-5, .rt-col-md-6, .rt-col-md-7, .rt-col-md-8, .rt-col-md-9, .rt-col-md-10, .rt-col-md-11, .rt-col-md-12, .rt-col-md-24, .rt-col-sm-1, .rt-col-sm-2, .rt-col-sm-3, .rt-col-sm-4, .rt-col-sm-5, .rt-col-sm-6, .rt-col-sm-7, .rt-col-sm-8, .rt-col-sm-9, .rt-col-sm-10, .rt-col-sm-11, .rt-col-sm-12, .rt-col-sm-24, .rt-col-xs-1, .rt-col-xs-2, .rt-col-xs-3, .rt-col-xs-4, .rt-col-xs-5, .rt-col-xs-6, .rt-col-xs-7, .rt-col-xs-8, .rt-col-xs-9, .rt-col-xs-10, .rt-col-xs-11, .rt-col-xs-12, .rt-col-xs-24 {
    min-height: 1px;
    padding-left: 5px !important;
    padding-right: 5px !important;
    position: relative;
}
.tpg-shortcode-main-wrapper .carousel3 .rt-holder .overlay .line, .tpg-shortcode-main-wrapper .isotope3 .rt-holder .overlay .line, .tpg-shortcode-main-wrapper .layout6 .rt-holder .overlay .line {
    background-color: #fff;
    height: 2px;
    margin: 5px auto !important;
    min-height: 2px;
    transition: all .5s 
    ease-out;
    width: 0;
    display: none !important;
}
.rt-row {
    margin-left: 0px !important;
    margin-right: 0px !important;
}
.tpg-shortcode-main-wrapper .carousel3 .rt-holder .overlay, .tpg-shortcode-main-wrapper .isotope3 .rt-holder .overlay, .tpg-shortcode-main-wrapper .layout6 .rt-holder .overlay {
    align-items: center;
    background: rgba(0, 0, 0, .5) !important;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    opacity: 0;
    padding: 15px;
    position: absolute;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease-out;
    width: 100%;
    z-index: 9;
}
/*Grid Pagination */
.rt-pagination .pagination-list>.active>a, .rt-pagination .pagination-list>.active>a:focus, .rt-pagination .pagination-list>.active>a:hover, .rt-pagination .pagination-list>.active>span, .rt-pagination .pagination-list>.active>span:focus, .rt-pagination .pagination-list>.active>span:hover {
    background-color: #3F4196 !important;
    border-color: #3F4196 !important;
    color: #fff;
    cursor: default;
    z-index: 3;
}
.rt-pagination .pagination-list>li>a:focus, .rt-pagination .pagination-list>li>a:hover, .rt-pagination .pagination-list>li>span:focus, .rt-pagination .pagination-list>li>span:hover {
    background-color: #fff;
    border-color: #3F4196;
    color: #3F4196;
    z-index: 2;
}
.rt-pagination .pagination-list>li>a, .rt-pagination .pagination-list>li>span {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 3px;
    box-sizing: content-box;
    color: #3F4196;
    display: block;
    line-height: 45px;
    margin-left: -1px;
    min-height: 45px;
    min-width: 45px;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: .4s ease-in-out;
}

/* Projects Gallery */
.igd-shortcode-wrap.igd-shortcode-browser, .igd-shortcode-wrap.igd-shortcode-gallery, .igd-shortcode-wrap.igd-shortcode-review, .igd-shortcode-wrap.igd-shortcode-search {
    border: 1px solid #ddd;
    border-radius: .5rem;
    margin-top: 5px !important;
}
/* Projects Lightbox */
.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html {
    display: none;
    opacity: 1;
    transition: opacity .2s ease-out .15s
}
.lg-outer .lg-thumb-item.active,.lg-outer .lg-thumb-item:hover {
    border-color: #B4C630 !important;
}
.igd-lightbox .lg-outer[data-lg-slide-type=iframe] .igd-hidepopout {
    width: 60px;
    height: 55px;
    position: absolute;
    opacity: 1;
    right: 12px;
    top: 0;
    z-index: 10000000;
    background-color: #1e1e1f;
    cursor: default !important;
}
.igd-lb-backdrop {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 15, 15, .95);
    opacity: 1;
    transition: opacity .25s ease-in-out;
    overflow: auto;
}
.igd-lb-shell {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: auto;
}
.igd-lb-header {
    width: 100%;
    height: 48px;
    background: rgba(0, 0, 0, .9);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    z-index: 9999;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    margin-bottom: auto;
}
.igd-lb-fileinfo {
    display: none;
    align-items: right;
    gap: 8px;
    font-size: 14px;
    color: #fff;
    font-weight: 500;
    max-width: 60%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.igd-lb-controls {
    display: flex;
    gap: 8px;
    z-index: 20;
    justify-content: flex-end;
    margin-left: auto;
}
.igd-lb-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    z-index: 15;
    transition: background 0.2s ease;
}
.igd-lb-nav.left {
    left: 15px;
    padding: 0 2px 0 0 !important;
    opacity: 0.5;
}
.igd-lb-nav.right {
    right: 15px;
    padding: 0 0 0 2px !important;
    opacity: 0.5;
}
.igd-lb-nav:hover {
    background: rgba(255, 255, 255, 0.25);
    opacity: 1;
}
.igd-lb-thumbbar {
    position: absolute;
    bottom: 0;
    width: 100%;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: auto;
    padding: 8px 10px;
    background: rgba(0, 0, 0, .85);
    border-top: 1px solid rgba(255, 255, 255, .1);
    box-sizing: border-box;
    z-index: 9999;
    justify-content: center;
}

/*View Map Icon */
.view-map {
    cursor: pointer;
}
/*Search Icon */
.search {
    cursor: pointer;
}
/* Form Styling */
.wpcf7-form,
.wpcf7-form * {
    display: flex;
    flex-direction: column;
}
.two-col-responsive {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px; /* Adjust spacing between columns */
}
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="text"],
select,
textarea,
div.input {
    display: block;
    margin: 2px 0 !important;
    padding: 5px 10px;
    height: 24px;
    font-size: 16px;
    background: white;
    border: 1px solid #ddd;
    outline: none;
    cursor: pointer;
    transition: border-color ease .3s;
    border-radius: 5px;
    font-family: inherit;
}
.wpcf7-form-control.wpcf7-textarea {
    min-height: 100px;
}
.wpcf7-form-control.wpcf7-radio {
    display: flex;
    flex-direction: row;
    justify-content: center;
    /* gap: 15px; Space between items */
}
.wpcf7-form-control.wpcf7-submit {
    background: #B4C630;
    border: none;
    padding: 10px 20px;
    margin: 0px 0;
    color: #3F4196;
    border-radius: 60px;
    font-weight: 600;
    font-size: 14px;
    font-family: inherit;
    text-transform: uppercase;
    line-height: 1.3;
    width: fit-content;
    transition: all .4s;
    cursor: pointer;
}
.wpcf7 input[type='submit']:hover {
    background-color: #3F4196; /* Change to your desired hover background color */
    color: #ffffff; /* Change to your desired hover text color */
    /* Add other hover styles like transform or transition effects */
    transition: background-color 0.3s ease, color 0.3s ease;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #B4C630;
}
.wpcf7 form .wpcf7-response-output {
    margin: 0;
    padding: 0.2em 1em;
    border: 1px solid #B4C630;
}
.wpcf7-spinner {
    visibility: hidden;
    display: inline-block;
    background-color: #3F4196;
    opacity: 0.75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 0;
    position: relative;
}
/* Hide reCAPTCHA badge */
.grecaptcha-badge { visibility: hidden; }
/* Flip Card Styles *****************************************************************/
/* The flip card container - set the width and height to whatever you want.*/
.flip-card {
  background-color: transparent;
  width: 250px;
  height: 250px;
  min-width: 150px;
  min-height: 150px;
  border: 0px solid #f1f1f1;
  perspective: 1000px; /* Remove this if you don't want the 3D effect */
}
/* This container is needed to position the front and back side */
.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}
/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}
/* Position the front and back side */
.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}
/* Style the front side (fallback if image is missing) */
.flip-card-front {
  background-color: #bbb;
  color: black;
}
/* Style the back side */
.flip-card-back {
  background-color: dodgerblue;
  color: white;
  transform: rotateY(180deg);
}
/*End Flip Card Styles**********************************************/

/*Kadence Tab Adjustments */
.wp-block-kadence-tabs .kt-tabs-title-list {
    margin: 0 0 0 15px !important;
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
    list-style: none;
}

@media (min-width: 767px) and (max-width: 1024px) {
.kt-tabs-tablet-layout-vtabs .kt-tabs-title-list {
        float: left;
        width: 30%;
        flex-direction: column;
    }
.wp-block-kadence-tabs .kt-tabs-title-list {
        margin: 15px 0 0 0 !important;
        padding: 0;
        display: flex;
        flex-wrap: nowrap;
        list-style: none;
    }
.kt-tabs-title-list {
        float: none;
        width: 25% !important;
    }
}

/* Mobile Menu Show */
@media (min-width: 850px) {
    .show-798 {
        display:none;
    }
}
@media (max-width: 849px) {
    .show-798 {
        display: block !important;
    }
    .hide-798 {
        display: none !important;
    }
    .no-show {
        display: none;
    }
}
/* Force all Blocks Animation elements to be visible on mobile/tablet */
@media only screen and (max-width: 798px) {
    /* 1. Reset the core animation classes and data attributes */
    .animated {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        
        /* 2. Force immediate visibility */
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important; /* Ensures they aren't 'hidden' by layout shifts */
    }
}
/* Mobile Accordian Menu Styling*/
.wpb_wmca_accordion_wrapper_theme_transparent ul li a:hover,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li.wpb-wmca-focus>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li.current_page_ancestor>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li.current_page_parent>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li.current_page_item>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li.current-menu-parent>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li.current-menu-ancestor>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li.current-menu-item>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li.current-cat>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li.wpb-wmca-current-cat-parent>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li.wpb-submenu-indicator-minus>a {
  background-color: #f1f1f1 !important;
}
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li li:hover>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li li.wpb-wmca-focus>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li li.current-cat>a,
.wpb_wmca_accordion_wrapper_theme_transparent>ul>li li.current-menu-item>a,
.wpb_wmca_accordion_wrapper_theme_transparent li.current_page_item>a {
  border-color: #3F4196 !important;
}
.wpb_category_n_menu_accordion li a {
  position: relative;
  font-size: 16px !important;
  line-height: 18px;
  padding: 14px 22px;
  font-weight: 500;
  -o-transition: color .2s linear, background .2s linear;
  -moz-transition: color .2s linear, background .2s linear;
  -webkit-transition: color .2s linear, background .2s linear;
  transition: color .2s linear, background .2s linear;
}
.wpb_category_n_menu_accordion>ul>li>a {
  font-size: 16px !important;
  line-height: 20px;
  padding: 14px 22px;
  color: #4e4e4e !important;
}
/* Modal Menu Window */
/* Light Modal */
.modal-menu {
    height: 100vh;
    max-height: calc(100vh);
    width: 100vw;
    max-width: calc(100vw);
  position: fixed; 
  left: 0; 
  right: 0; 
  top: 0; 
}
.wp-block-cloudcatch-light-modal-block__close {
    margin: 24px !important;
    padding: .75rem;
}
/*End Modal Menu Window */
/* Remove Borders */
.no-border {
    border-style: none;
}
/* Center Contents */
    .centered {
        display: flex;
        justify-content: center;
        /* Or, for block-level elements: */
        margin-left: auto;
        margin-right: auto;
    }	
	