/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.12.0.1768025372
Updated: 2026-01-10 07:09:32

*/
/** Homepage > Main Header **/
#homeHeader.homeHeader-scroll {
    background-color: #fff;
    box-shadow: 0 0 15px 0 rgba(0,0,0,0.3);
    transition: color 0.3s ease;
}

#homeHeader .elementor-widget-theme-site-logo a img,
#homeHeader #homeMenu ul.elementor-nav-menu > li > a > .sub-arrow {
    filter: invert(1);
    transition: filter 0.3s ease;
  }

#homeHeader.homeHeader-scroll .elementor-widget-theme-site-logo a img,
#homeHeader.homeHeader-scroll #homeMenu ul.elementor-nav-menu > li > a > .sub-arrow {
    filter: none;
  } 
  
#homeHeader #mobButton .e-font-icon-svg.e-fas-bars {
    fill: #fff;
  }  

#homeHeader.homeHeader-scroll #mobButton .e-font-icon-svg.e-fas-bars {
    fill: #000;
  }    

#homeHeader #homeMenu ul.elementor-nav-menu > li > a {
    color: #fff;
}  

#homeHeader.homeHeader-scroll #homeMenu ul.elementor-nav-menu > li > a {
    color: #000;
}  

#homeHeader #homeMenu .sub-menu {
    border-radius: 5px;
}

#homeHeader.homeHeader-scroll #homeMenu .sub-menu {
    border-radius: 0px 0px 5px 5px;
}

/** Menu **/
#homeMenu a,
#siteMenu a {
    border: 0px !important;
}

/** Mobile Menu **/
#mobileMenu {
    margin: auto;
    width: 100%;
    position: relative;
   }

#mobileMenu ul {
    margin: 0;
    width: 100%;
    height: auto;
    list-style-type: none;
    padding: 0px;
  }

#mobileMenu ul.menu li {
    margin: 2px auto;
    width: 100%;
    border-bottom: 1px solid #2d2d2d;
    padding: 4px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    box-sizing: border-box;
}

#mobileMenu nav > ul.menu li:last-child {
    border: 0px;
}

#mobileMenu ul.menu li a {
    margin: 0;
    color: #fff !important;
    width: 75%;
    padding: 10px 0px;
    box-sizing: border-box;
  }

#mobileMenu nav > ul.menu li .mobmenu-item-arrow {
margin: auto 0 auto auto;
width: 30px;
height: 30px;
display: flex;
justify-content: center;
align-items: center;
}

#mobileMenu nav > ul.menu li .mobmenu-item-arrow i {
margin: auto;
color: #fff;
font-size: 15px;
}

#mobileMenu nav > ul.menu li .mobmenu-item-arrow:hover i {
color: #fff;
}

#mobileMenu nav > ul.menu li a .ast-icon {
display: none !important;
}

/** Mobile Menu > Panele SubMenu **/

#mobileMenu nav > ul.menu li .wrap-mobsubmenu {
margin: auto;
width: 100%;
height: calc(100% - 74px);
background: #000;
overflow-y: auto;
position: fixed;
top: 74px;
padding: 34px;
box-sizing: border-box;
}

#mobileMenu nav > ul.menu li .wrap-mobsubmenu:not(.mobsubmenu-open) {
left: -100%;
transition: .2s linear;
visibility: hidden;
}

#mobileMenu nav > ul.menu li .wrap-mobsubmenu.mobsubmenu-open {
left: 0;
transition: .2s linear;
visibility: visible;
}

#mobileMenu nav > ul.menu li .wrap-mobsubmenu .mobsubmenu-header {
margin: auto auto 14px;
width: 100%;
height: auto;
display: flex;
justify-content: space-between;
align-items: center;
}

#mobileMenu nav > ul.menu li .wrap-mobsubmenu .mobsubmenu-header h3 {
margin: 0;
color: #fff;
font-size: 18px;
}

#mobileMenu nav > ul.menu li .wrap-mobsubmenu .mobsubmenu-header .mobsubmenu-back {
margin: 0;
background: #000;
width: 30px;
height: 30px;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
}

#mobileMenu nav > ul.menu li .wrap-mobsubmenu .mobsubmenu-header .mobsubmenu-back:hover {
background: #000;
}

#mobileMenu nav > ul.menu li .wrap-mobsubmenu .mobsubmenu-header .mobsubmenu-back i {
margin: auto;
color: #fff;
font-size: 15px;
}

/** Mobile Menu > Lista > Poziom 2 i 3 **/
#mobileMenu nav > ul.menu li .wrap-mobsubmenu ul.sub-menu {
margin: auto;
width: 100%;
height: auto;
background: #000;
border-radius: 5px;
list-style-type: none;
padding: 0px !important;
}  
  

/** Portfolio > Project Loop **/
.box-portfolio {
    position: relative !important;
    aspect-ratio: 16/10;
    overflow: hidden !important;
}

.box-portfolio a,
.box-portfolio a p,
.box-portfolio a span {
    text-decoration: none;
}

.box-portfolio .box-portfolio-img {
    width: 100%;
    height: 100%;
    transition: all 350ms ease-in-out;
}

.box-portfolio:hover .box-portfolio-img {
    transition: all 350ms ease-in-out;
    opacity: 0.35;
    transform: scale(110%);
}

.box-portfolio .box-portfolio-img img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100% !important;
  }

.box-portfolio .box-portfolio-icon {
    opacity: 0;
    transform: translateY(-15px);
    will-change: transform,opacity;
    transition: transform 0.3s ease-out,opacity 0.3s ease-out;
}

.box-portfolio:hover .box-portfolio-icon {
    transform: translateY(0);
    opacity: 1;
}

.box-portfolio .box-portfolio-content {
    opacity: 0;
    transition: all 350ms ease-in-out;
}

.box-portfolio:hover .box-portfolio-content {
    opacity: 1;
    transition: all 350ms ease-in-out;
}

.box-portfolio .box-portfolio-content .box-portfolio-title h3 {
    max-height: 66px;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.box-portfolio .box-portfolio-meta {
    max-height: 26px;
    overflow: hidden;
}

.page-category .elementor-pagination,
.page-portfolio-gallery .elementor-pagination {
    margin: 70px auto 30px;
    display: block;
  }

.page-category .elementor-pagination .page-numbers.current,
.page-portfolio-gallery .elementor-pagination .page-numbers.current {
    margin: 0;
    color: #fff;
    background: #000;
    border: 1px solid #000;
    padding: 14px 22px;
    box-sizing: border-box;
  }

.page-category .elementor-pagination .page-numbers,  
.page-portfolio-gallery .elementor-pagination .page-numbers {
    margin: 0;
    border: 1px solid #000;
    padding: 14px 20px;
    box-sizing: border-box;
  }

@media only screen and (max-width: 1024px){
    .box-portfolio {
        background: linear-gradient(to top, rgb(0, 0, 0), rgb(132, 132, 132), rgb(255, 255, 255));
    }

    .box-portfolio:hover {
        background: #000;
    }


    .box-portfolio .box-portfolio-content {
        opacity: 1;
    }

    .box-portfolio .box-portfolio-img {
        opacity: 0.9;
        mix-blend-mode: multiply;
    }

    
    .box-portfolio:hover .box-portfolio-img {
        opacity: 0.35;
        mix-blend-mode: normal;
    }
}  

@media only screen and (max-width: 960px){
    .box-portfolio {
        aspect-ratio: 4/3;
    }
}

@media only screen and (max-width: 369px){
    .box-portfolio {
        aspect-ratio: 1/1;
    }
    .box-portfolio .box-portfolio-content .box-portfolio-title h3 {
        font-size: 22px !important;
        line-height: 24px;
        max-height: 74px;
    }
    
    .box-portfolio .box-portfolio-meta {
        max-height: 42px;
        line-height: 20px;
    }
}

/** Homepage > Services **/
.box-service {
    position: relative !important;
    aspect-ratio: 3/1.68;
    overflow: hidden !important;
}

.box-service a,
.box-service a p,
.box-service a span {
    text-decoration: none;
}

.box-service .box-service-img {
    transition: all 350ms ease-in-out;
    object-fit: cover;
    object-position: center;
    left: 0;
    right: 0;
}

.box-service:hover .box-service-img {
    transition: all 350ms ease-in-out;
    opacity: 0.35;
    transform: scale(110%);
}

.box-service .box-service-icon {
    opacity: 0;
    transform: translateY(-15px);
    will-change: transform,opacity;
    transition: transform 0.7s ease-out,opacity 0.3s ease-out;
}

.box-service:hover .box-service-icon {
    transform: translateY(0);
    opacity: 1;
}

.box-service .box-service-title {
    transform: translateY(170px);
    will-change: transform;
    transition: transform 0.7s ease-out;
}

.box-service:hover .box-service-title {
    transform: translateY(0);
}

.box-service .box-service-description {
    opacity: 0;
    height: 170px; 
    overflow: hidden;
    pointer-events: none;
    transform: translateY(200px);
    will-change: transform,opacity;
    transition: transform 0.7s ease-out,opacity 0.7s ease-out;
}

.box-service:hover .box-service-description {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

/** Homepage > Testimonials Read More / Less **/
/* Styl dla uciętego tekstu */
.testimonial-text {
    max-height: 140px; /* Wysokość, po której tekst ma być ucięty */
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
    position: relative;
    margin-bottom: 14px !important;
}

/* Opcjonalny efekt zanikania na dole */
.testimonial-text:not(.is-expanded)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: linear-gradient(transparent, white); /* Zmień white na kolor tła slajdu */
}

/* Klasa aktywowana po kliknięciu */
.testimonial-text.is-expanded {
    max-height: 1000px; /* Wystarczająco dużo, by pokazać cały tekst */
}

/** Single Portfolio / Location Page **/
.single-portfolio-content h2 {
    margin: 50px 0 30px !important;
    text-transform: uppercase;
    font-size: 26px;
    line-height: 42px;
    letter-spacing: 0.5px;
}

.single-portfolio-content h3 {
    margin: 44px 0 24px !important;
    font-size: 22px;
    line-height: 36px;
}

.single-portfolio-content h4 {
    margin: 38px 0 24px !important;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 32px;
    letter-spacing: 1px;
}


.single-portfolio-content p {
    margin-bottom: 36px;
}

.single-portfolio-content p a {
    color: #000;
    font-weight: 500;
}

.single-portfolio-content p a:hover {
    color: #000;
}

/** Pages **/

.category-page-description p {
    color: #fff;
    font-size: 15px;
    line-height: 28px;
}

.dynamic-projects .grid-item > article {
    padding: 0px;
}

.dynamic-projects .grid-item > article .post-content-bottom {
    padding: 24px 0px 0px;
    box-sizing: border-box;
}

.dynamic-projects .theplus-pagination {
    margin: 50px 0 30px;
  }

.dynamic-projects .theplus-pagination .tp-number.current,
.dynamic-projects .theplus-pagination .current {
    color: #fff !important;
    font-weight: 600 !important;
    background: #000;
    border: 1px solid #000;
    padding: 14px 22px;
  }

.dynamic-projects .theplus-pagination .tp-number,  
.dynamic-projects .theplus-pagination .inactive {
    font-weight: 600 !important;
    border: 1px solid #000;
    padding: 14px 22px;
  }

  /** Form Contact **/
  #formContact .grid.form-row {
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    grid-gap: 30px 30px;
  }

  #formContact .column.span-6 {
    width: calc(50% - 30px);
  }

  #formContact .column.span-12 {
    width: 100%;
  }

  #formContact input,
  #formContact textarea,
  #formContact select {
    font-size: 15px;
    border-width: 0px 0px 2px 0px;
    padding: 24px 0;
    box-sizing: border-box;
    transition: all 350ms ease-in-out;
  }

  #formContact input:focus,
  #formContact textarea:focus,
  #formContact select:focus {
    border-radius: 0px;
    border-style: dotted;
    transition: all 350ms ease-in-out;
  } 

  #formContact input::placeholder,
  #formContact textarea::placeholder {
    opacity: 0.9;
  }

  #formContact .wpcf7-response-output {
    padding: 24px;
    box-sizing: border-box;
  }

  #formContact .wpcf7-not-valid-tip {

    top: -22px;
    padding: 14px 24px;
    box-sizing: border-box;
  }

  #formContact p {
    margin: 0 !important;
  }

  #formContact .wpcf7-spinner {
    display: none !important;
  }

  #formContact .wpcf7-submit {
    margin-bottom: 0 !important;
    border: 2px solid #000;
  }

  #formContact .wpcf7-submit:hover,
  #formContact .wpcf7-submit:focus   {
    margin-bottom: 0 !important;
    border: 2px solid #000;
  }

  #formContact select {
    background-image: url('assets/images/arrows-select.svg');
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: 100%;
    height: auto;
    padding: 12px 0px;
    box-sizing: border-box;
  }

  #formContact label {
    font-size: 15px;
    font-weight: 700;
  }

  @media only screen and (max-width: 767px){
    #formContact .grid.form-row {
        grid-gap: 0px;
    }

    #formContact .column.span-6 {
        width: 100%;
      }
  }

  /** Projects Map **/
    #projectsMap .gm-style-iw-chr {
    display: none;
}

    #projectsMap h5 {
    margin: 8px 0 14px;
}

#projectsMap h6 {
    margin: 0px 0 8px;
}

/** Additional Styles **/
a,
a:hover,
a:visited,
a:focus {
    outline: none !important;
    text-decoration: none !important;
}

img {
    box-shadow: none !important;
}

.grecaptcha-badge { 
    visibility: hidden; 
}

/** Homepage > Hero **/
@media only screen and (max-width: 1454px){
    #frontHero .hero-title {
        width: 80%;
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1366px){
    #frontHero .hero-intro {
        width: 80%;
    }
}

@media only screen and (max-width: 1200px){
    #frontHero .hero-title {
        width: 100%;
    }
}

@media only screen and (min-width: 818px) and (max-width: 965px){
    #frontHero .hero-title {
        width: 80%;
    }
}

/** Location Map **/
#locationMap .gm-style-iw-chr {
    display: none !important;
}

#locationMap .gmap_info_content h5 {
    margin: 0 0 8px 0;
  }

  #locationMap .gmap_info_content h6 {
    margin: 0 0 2px 0;
  }

  #locationMap .gmap_info_content p {
    font-weight: 400;
  }

  /** NYCMag Photo **/
  #nymagPic > .elementor-widget-container {
    background: radial-gradient(circle, white, black 90%);
  }

  #nymagPic .attachment-full.size-full.wp-image-1100 {
    mix-blend-mode: multiply;
  }