/*
Theme Name:     Hello Elementor Child
Theme URI:      https://elementor.com/hello-theme/
Description:    A child theme for Hello Elementor
Author:         Colter Bergh
Author URI:     https://rprfirm.com
Template:       hello-elementor
Version:        1.0
Text Domain:    hello-elementor-child
*/

/*=====================================
=            HOME PAGE                =
=====================================*/
/* Instagram widget: Load More Btn */
.eapps-instagram-feed-posts-grid-load-more-container {
    display: none !important;
}



/*=====================================.
=            TEAM PAGE            =
=====================================*/
/* Justify Team Pics / Rows Center */
.rpr--team-container .elementor-loop-container.elementor-grid {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap;
    gap: 20px; /* Add gap between grid items */
}

/*Bump Team h1 down to not cover faces */
.page-id-2198 h1 {
    margin-top: 100px;
}



/*=====================================
=            PORTFOLIO PAGE           =
=====================================*/
/* Justify Portfolio Pics / Rows Center  */
/* Flex container for Elementor loop */
.rpr--portfolio-container .elementor-loop-container.elementor-grid,
.rpr--portfolio-slider .jet-posts__item .jet-posts__inner-box .post-thumbnail img,
.rpr--portfolio-filter-grid .elementor-loop-container.elementor-grid {
    /*display: flex !important;*/
    /*justify-content: center !important;*/
    /*flex-wrap: wrap !important;*/
    /*align-items: flex-start !important;*/
    /*gap: 0px !important;*/
}

/* Flex items (cards/images) */
.rpr--portfolio-container .elementor-loop-container.elementor-grid > *,
.rpr--portfolio-slider .jet-posts__item .jet-posts__inner-box .post-thumbnail img > *,
.rpr--portfolio-filter-grid .elementor-loop-container.elementor-grid > *{
    /*flex: 0 0 calc(33.333% - 10px); */
     /*3 per row on desktop */
    /*max-width: calc(33.333% - 20px); */
    /*box-sizing: border-box;*/
}


/* Tablet: 2 per row */
@media (max-width: 1024px) {
    .rpr--portfolio-container .elementor-loop-container.elementor-grid > * {
        flex: 0 0 calc(50% - 20px);
        max-width: calc(50% - 20px);
    }
}

/* Mobile: 1 per row */
@media (max-width: 767px) {
    .rpr--portfolio-container .elementor-loop-container.elementor-grid > * {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.rpr--portfolio-container img,
.rpr--portfolio-slider img,
.rpr--portfolio-filter-grid img{
  width: 100% !important;
  height: 360px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

.portfolio-template-default #rpr--hero-container h1 {
    display: none !important;
}

/* Featured Projects Section - Images Fill Container (consistent sizing) */
    .rpr--featured-projects-container img {
          width: 100% !important;            /* fill the container’s width */
          height: 222px !important;          /* fixed height */
          object-fit: cover !important;      /* crop to fill, preserving aspect */
          object-position: center center !important; /* optional: focal point */
          display: block !important;
    }


/* Portfolio video */
    .rpr--portfolio-video-container_ancestor {
        padding: 50px 0;
        background: #fafafa;
    }

    body.no-video .rpr--portfolio-video-container_ancestor {
        display: none !important;
    }
    
    
    .rpr--portfolio-cat-buttons-container .elementor-element-7511167 {
        width: 70%;
    }
    
    .portfolio-category-links {
      display: flex;
      gap: 25px; /* spacing between buttons */
    }
    
    .portfolio-category-links a.rpr--portfolio-cat-link {
        flex: .5;
        text-align: center;
        border: 1px solid #2E92B8;
        min-width: 100px;
        border-radius: 100px;
        padding: 20px 15px;
        box-shadow: 0px 4px 11px 0px #eee !important;
    }

    
    .portfolio-category-links a.rpr--portfolio-cat-link:hover,
    .portfolio-category-links a.rpr--portfolio-cat-link.active {
        background: #2E92B8;
        color: white;
    }
    
    .portfolio-category-links{
        margin-bottom: 35px;
    }
    
    .rpr--portfolio-filter-grid {
        /*display: none;*/
    }
    
    .rpr--portfolio-filter-grid img {
        box-shadow: rgb(202, 202, 202, 1) 0px 4px 11px 0px !important;
    }
    
    /*.rpr--portfolio-filter-grid {*/
    /*  opacity: 0;*/
    /*  transition: opacity 0.4s ease;*/
    /*  pointer-events: none;*/
    /*}*/
    
    /*.rpr--portfolio-filter-grid.fade-in {*/
    /*  opacity: 1;*/
    /*  pointer-events: auto;*/
    /*}*/
    
/*=====================================
                MOBILE
=            PORTFOLIO PAGE           =
=====================================*/
@media (max-width: 1022px) {
.portfolio-category-links {
      display: flex;
      flex-direction: column;
      gap: 5px; /* spacing between buttons */
    }
    
    .portfolio-category-links a.rpr--portfolio-cat-link {
        flex: .5;
        text-align: center;
        border: 1px solid #2E92B8;
        min-width: 30px;
        border-radius: 20px;
        padding: 10px 5px;
        box-shadow: 0px 4px 11px 0px #eee !important;
    }
    
    .portfolio-category-links a.rpr--portfolio-cat-link:hover,
    .portfolio-category-links a.rpr--portfolio-cat-link.active {
        background: #2E92B8;
        color: white;
    }
    
    .portfolio-category-links{
        margin-bottom: 35px;
    }

    .rpr--portfolio-filter-grid .elementor-loop-container.elementor-grid {
        flex-direction: column;
        justify-content: center; /* Horizontal centering */
    }
    
}

/*=====================================
=       PORTFOLIO ITEM PAGES         =
=====================================*/
.postid-2669 .rpr--hero-container-h1 {
    display: none !important;
}


/*=====================================
=            NAVIGATION            =
=====================================*/
/* Default: white nav links */
.elementor-nav-menu--main > .elementor-nav-menu > li > a {
  color: white !important;
  transition: color 0.3s ease;
}

/* On scroll: black nav links */
.elementor-sticky--effects .elementor-nav-menu--main > .elementor-nav-menu > li > a {
  color: black !important;
}

/* Default: white svg icons */
.elementor-nav-menu--main svg {
  fill: white;
  transition: fill 0.3s ease;
}

/* On scroll: black svg icons */
.elementor-sticky--effects .elementor-nav-menu--main svg {
  fill: black !important;
}

/* Submenu links default */
.elementor-nav-menu--main .elementor-sub-item {
  color: black !important;
}

/* Submenu links on scroll */
.elementor-sticky--effects .elementor-nav-menu--main .elementor-sub-item {
  color: black !important;
}

/* Nav Box Shadow on Scroll */
.elementor-sticky--effects {
  box-shadow: rgb(202, 202, 202) 0px 1px 5px 0px !important;
}

.elementor-motion-effects-layer {
      transition: background-color 0.3s ease;
}

.elementor-sticky--effects .rpr--nav-contact a {
    box-shadow: 0px 4px 11px 0px #CACACA !important;
}

/* Hide Standard Contact navigation link on Desktop and Tablet */
@media (min-width: 767px){
    #menu-1-0e5827e > li.menu-item.menu-item-type-post_type.menu-item-object-page.menu-item-4832 {
        display: none;
    }
}

/*=====================================
=            FAQ PAGE            =
=====================================*/
/* Align caret icons right */
body.page-id-2080 summary.e-n-accordion-item-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

body.page-id-2080 .e-n-accordion-item-title-header {
  flex-grow: 1;
}

body.page-id-2080 .e-n-accordion-item-title-icon {
  margin-left: 1rem;
  flex-shrink: 0;
}
/* Box Shadow */
body.page-id-2080 .e-n-accordion {
    box-shadow: 0px 4px 11px 0px #CACACA
}

.rpr--faq-container .rpr--faq-grid .e-con-inner {
    padding: 0 !important;
}
.rpr--faq-container .rpr--faq-grid .elementor-grid {
    row-gap: 0 !important;
}

/*Scroll margin top*/
.page-id-2080 .commercial,
.page-id-2080 .custom-home,
.page-id-2080 .renovation {
    scroll-margin-top: 115px;
}

/*=====================================
=            NAV                      =
=====================================*/
nav .has-submenu {
  cursor: default;
}
/* On hover: Change entire background color (because of padding left) */
.elementor-2004 .elementor-element.elementor-element-0e5827e .elementor-nav-menu--dropdown li:hover, .elementor-2004 .elementor-element.elementor-element-0e5827e .elementor-nav-menu--dropdown a.elementor-item-active, .elementor-2004 .elementor-element.elementor-element-0e5827e .elementor-nav-menu--dropdown a.highlighted {
    background-color: var(--e-global-color-5ebf62d);
}
/* Dropdown: Hover: Li -> Turn off transition  */
.elementor-nav-menu--main .elementor-nav-menu a {
  transition: none !important;
}

.sub-menu .current-menu-item {
    background-color: var(--e-global-color-5ebf62d);
}

/*=====================================
=            PROCESS MAP              =
=====================================*/
.jet-timeline-item .timeline-item__card-content {
    padding: 10px 20px 0 20px !important;
}
.timeline-item__card-title {
    margin-block-end: .3rem;
}
/* icon box shadow */
.timeline-item__point-content {
   box-shadow: rgb(202, 202, 202, .5) 0 4px 11px 0;
}


/* Custom header nav white on scroll */
    /* Base state: transparent background */
    /*.rpr--sticky-fade {*/
    /*    background-color: transparent;*/
    /*    transition: background-color 0.5s ease-in-out;*/
    /*}*/
    
    /*.elementor-sticky--effects {*/
    /*   background-color: white;*/
    /*}*/
    
    /*.elementor-sticky--effects .sticky-menu ul li a {*/
    /*   color: #fff !important;*/
    /*}*/
    
    /*.elementor-sticky--effects, .sticky-menu ul li a {*/
    /*  transition: .5s all ease-in-out;*/
    /*}*/
    
        /* Base state: transparent background */
        /*.sticky-menu {*/
        /*  background-color: transparent !important;*/
        /*  transition: background-color 0.5s ease-in-out;*/
        /*}*/
        
        /* Sticky state: white background fades in */
        /*.elementor-sticky--effects .sticky-menu {*/
        /*  background-color: white !important;*/
        /*}*/
        
        /* Base state: transparent background */
        .rpr--sticky-fade {
          background-color: transparent;
          transition: background-color 0.5s ease-in-out;
        }
        
        /* Sticky state: fade to white background */
        .rpr--sticky-fade.elementor-sticky--effects {
            background-color: white;
            transition:
                background-color 0.5s ease-in-out,
                box-shadow 0.5s ease-in-out; /* Delay shadow until after bg fades in */
        }


/* Padding for Nav -> Services -> Children */

.menu-item-1276 ul li:nth-child(3),
.menu-item-1276 ul li:nth-child(4),
.menu-item-1276 ul li:nth-child(5) {
  padding-left: 15px;
}

/* Box Shadow */
/* Default state: no box shadow */
.elementor-element.e-sticky {
  box-shadow: none;
  transition: box-shadow 0.3s ease; /* Smooth transition */
}

/* When sticky and the background fades in */
.elementor-element.elementor-sticky--active {
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2);
}



/*=====================================
=            CRAFTSMANSHIP VIDEO            =
=====================================*/
.craftsmanship-video,
.rpr--box-shadow,
.rpr--box-shadow-img img,
.rpr--box-shadow-img .e-gallery-item,
.rpr--box-shadow button{
     box-shadow: rgb(202, 202, 202, 1) 0px 4px 11px 0px !important;
}

/*=====================================
=            COMMUNITY PAGE            =
=====================================*/
.rpr--community-bullets li{
    margin-bottom: 20px;
}

.page-id-2434 .e-loop-nothing-found-message {
    padding-top: 0 !important;
}

/*=====================================
=            FOOTER                   =
=====================================*/
.rpr--footer-form-container form .elementor-button[type="submit"] {
    box-shadow: none;
}

.rpr--footer-form-container {
    width: 90%;
}
.rpr--footer-form-container button {
    display: block;
    width: 100% !important;
}

/* ----- Careers Page ----- */
.page-id-3277 .rpr--nav {
    box-shadow: rgb(202, 202, 202) 0px 1px 5px 0px !important;
}
.page-id-3277 .elementor-nav-menu--main > .elementor-nav-menu > li > a  {
    color: black !important;
}
.page-id-3277 .elementor-nav-menu--main svg  {
    fill: black !important;
}

/* Home Page */
/* Instagram */
.eapps-instagram-feed-posts-item-template-tile{
    box-shadow: rgb(202, 202, 202) 0px 1px 5px 0px !important;
}

/*=====================================
=            PAGE SPECIFIC           =
=====================================*/
/* Portfolio */
@media (max-width: 767px){
    .page-id-3068 .post-3068 #rpr--hero-container {
        background-size: 535% !important;
        background-position: top center !important;
    }
}
/*=====================================
=            UTILITY CLASSES            =
=====================================*/
.rpr--border-radius,
.rpr--border-radius img
{
    border-radius: 20px !important;
}  

/* Used to custom position hero background image template per page */
.top-left{
    background-position: top left !important;
}
.top-center{
    background-position: top center !important;
}
.top-right{
    background-position: top right !important;
}
.center-center{
    background-position: center center !important;
}
.center-left{
    background-position: center left !important;
}
.center-right{
    background-position: center right !important;
}
.bottom-left{
    background-position: bottom left !important;
}
.bottom-center{
    background-position: bottom center !important;
}
.bottom-right{
    background-position: bottom right !important;
}

/* Used to custom position hero background image template per page */
@media (max-width: 767px) {
    .bgpos-mobile--top-left{
        background-position: top left !important;
    }
    .bgpos-mobile--top-center{
        background-position: top center !important;
    }
    .bgpos-mobile--top-right{
        background-position: top right !important;
    }
    .bgpos-mobile--center-center{
        background-position: center center !important;
    }
    .bgpos-mobile--center-left{
        background-position: center left !important;
    }
    .bgpos-mobile--center-right{
        background-position: center right !important;
    }
    .bgpos-mobile--bottom-left{
        background-position: bottom left !important;
    }
    .bgpos-mobile--bottom-center{
        background-position: bottom center !important;
    }
    .bgpos-mobile--bottom-right{
        background-position: bottom right !important;
    }
}

.rpr--hidden {
    display: none !important;
}

.rpr--box-shadow--cacaca{
    box-shadow: 0px 4px 11px 0px #CACACA;
}

.rpr--line-height-0{
    line-height: 0 !important;
}

/*=====================================
=            BUTTONS: RESID           =
=====================================*/

   .rpr--new-blue-button p a {
        display: inline-block;
        gap: 0;
        text-align: center;
        border: 1px solid #2E92B8;
        min-width: 100px;
        border-radius: 40px;
        padding: 10px 25px;
        box-shadow: 0 4px 11px 0 #eee !important;
    }
    
    .rpr--new-blue-button p a:hover,
    .rpr--new-blue-button p a.active {
        background: #2E92B8;
        color: white !important;
    }



/*=====================================
=            HERO VIDEOS              =
=====================================*/

#hero-video {
  height: 85vh;
  position: relative; 
  width: 100%; 
  overflow: hidden;
}

/*@media (max-width: 767px){*/
/*   #hero-video {*/
/*        height: 75vh;*/
/*    } */
/*}*/

/* Video should fill the box predictably */
#hero-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;   /* shows full box; may crop */
  object-position: center center;
}

/* If the VERTICAL video should never crop, override when portrait */
@media (orientation: portrait) {
  #hero-video video {
    background: #fff;      /* optional bars color */
  }
}


/*=====================================
=            HERO IMAGES              =
=====================================*/
@media (min-width: 1300px){
    /*Team*/
    .page-id-2198 #rpr--hero-container{
        background-position: 0 75% important;
    }
}

@media (min-width: 1600px){
    /*Commercial*/
    .page-id-1858 #rpr--hero-container{
        background-position: 0 72% important;
    }
}

@media (min-width: 1400px){
    /*Custom Home*/
    .page-id-1818 #rpr--hero-container{
        background-position: 0 75% important;
    }
}

