/*
Theme Name: PWD Custom Impreza Child
Template: Impreza
Version: 4.0
Author:	PWD
Theme URI: https://pwd.com.au/
Author URI: https://pwd.com.au/
*/

/*Add your own styles here:*/
/* Gap utilities: beat Impreza wrapper child-margins so .lg-gap etc. control spacing */
.w-vwrapper.lg-gap,
.w-vwrapper.md-gap,
.w-vwrapper.sm-gap,
.w-vwrapper.xsm-gap,
.w-vwrapper.tiny-gap {
	--vwrapper-gap: 0px;
}

.w-hwrapper.lg-gap,
.w-hwrapper.md-gap,
.w-hwrapper.sm-gap,
.w-hwrapper.xsm-gap,
.w-hwrapper.tiny-gap {
	--hwrapper-gap: 0px;
}

.w-vwrapper[class*="-gap"] > *:not(:last-child),
.w-hwrapper[class*="-gap"] > *:not(:last-child) {
	margin-bottom: 0;
	margin-inline-end: 0;
}

html {
    font-size: 16px;
}

::placeholder {
    opacity: 1 !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    padding-top: unset !important;
    margin-bottom: 0 !important;
}

::-webkit-scrollbar {
    width: 0px;
    background: transparent;
}

:root {
    --heading-primary-font: Anton SC, sans-serif;
    --heading-secondary-font: Geist, sans-serif;
}

.xlg-font {
    /* 48-35 */
    font-family: var(--heading-primary-font) !important;
    font-size: clamp(2.1875rem, 1.924rem + 1.4054vw, 3rem) !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
    text-transform: uppercase;
}

.xl-font {
    /* 40-32 */
    font-family: var(--heading-primary-font);
    font-size: clamp(2rem, 1.8378rem + 0.8649vw, 2.5rem) !important;
    line-height: 1 !important;
    font-weight: 400 !important;
}

.lg-font {
    /* 36-30 */
    font-family: var(--heading-primary-font);
    font-size: clamp(1.875rem, 1.7534rem + 0.6486vw, 2.25rem) !important;
    line-height: 100% !important;
    font-weight: 400 !important;
    text-transform: uppercase;
}

.md-font {
    /* 32-26 */
    font-family: var(--heading-primary-font);
    font-size: clamp(1.625rem, 1.5034rem + 0.6486vw, 2rem) !important;
    line-height: 130% !important;
    font-weight: 400 !important;
    text-transform: uppercase;
}

.rg-font {
    /* 20-18 */
    font-family: var(--heading-secondary-font);
    font-size: clamp(1.125rem, 1.0845rem + 0.2162vw, 1.25rem) !important;
    line-height: 100% !important;
    font-weight: 500 !important;
}

.l-font,
.l-font p {
    /* 20-15 */
    font-family: var(--heading-secondary-font);
    font-size: clamp(0.9375rem, 0.8361rem + 0.5405vw, 1.25rem) !important;
    line-height: 150% !important;
    font-weight: 400 !important;

    strong {
        font-weight: 700;
        color: #5F3A3A;
    }
}

.sm-font,
.sm-font p {
    /* 16-15 */
    font-family: var(--heading-secondary-font);
    font-size: clamp(0.9375rem, 0.9172rem + 0.1081vw, 1rem) !important;
    line-height: 140% !important;
    font-weight: 400 !important;

    strong {
        font-weight: 700;
    }
}

.m-font,
.m-font p {
    /* 18-15 */
    font-family: var(--heading-secondary-font);
    font-size: clamp(0.9375rem, 0.8767rem + 0.3243vw, 1.125rem) !important;
    line-height: 150% !important;
    font-weight: 400 !important;

    strong {
        font-weight: 700;
    }
}

.s-font,
.s-font p {
    /* 14 */
    font-family: var(--heading-secondary-font);
    font-size: 14px !important;
    line-height: 135% !important;
    font-weight: 400 !important;

    strong {
        font-weight: 700;
    }
}

/* Layout */
.to-vertical {
    flex-direction: column;
}

.rg-br {
    border-radius: var(--rg-body-radius);
    overflow: hidden;
}

.sm-br {
    border-radius: var(--sm-body-radius);
    overflow: hidden;
}

/* Gaps */
:root {
    --lg-gap: clamp(1.25rem, 1.05rem + 1.1vw, 1.875rem); /* 20px → 30px */
    --md-gap: clamp(1rem, 0.8rem + 0.85vw, 1.25rem); /* 16px → 20px */
    --sm-gap: clamp(0.875rem, 0.7rem + 0.7vw, 1.125rem); /* 14px → 18px */
    --xsm-gap: clamp(0.75rem, 0.6rem + 0.55vw, 0.875rem); /* 12px → 14px */
    --tiny-gap: clamp(0.5rem, 0.4rem + 0.4vw, 0.615rem); /* 8px → 10px */
}

.lg-gap {
    gap: var(--lg-gap) !important;
}

.lg-mb {
    margin-bottom: var(--lg-gap) !important;
}

.md-gap {
    gap: var(--md-gap) !important;
}

.md-mb {
    margin-bottom: var(--md-gap) !important;
}

.sm-gap {
    gap: var(--sm-gap) !important;
}

.sm-mb {
    margin-bottom: var(--sm-gap) !important;
}

.xsm-gap {
    gap: var(--xsm-gap) !important;
}

.xsm-mb {
    margin-bottom: var(--xsm-gap) !important;
}

.tiny-gap {
    gap: var(--tiny-gap) !important;
}

.tiny-mb {
    margin-bottom: var(--tiny-gap) !important;
}

ul {
    margin-left: 16px;
}

/* Gravity Form */

.gform_confirmation_message, .form_saved_message_sent {
    color: var(--color-custom-4) !important;
}
@keyframes shake {
    0% {
        margin-left: 0rem;
    }

    25% {
        margin-left: 0.5rem;
    }

    75% {
        margin-left: -0.5rem;
    }

    100% {
        margin-left: 0rem;
    }
}

.gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
    animation: shake 0.2s ease-in-out 0s 2;
}

.default_button {
    padding: 11px 18px !important;
    height: 40px;
    line-height: 120% !important;
}

.img_width img {
    max-width: 100% !important;
    width: 100% !important;
    border-radius: 5px;
}

.underline a {
    text-decoration: underline;
    color: white;
}

.underline a:hover {
    color: #FED579;
}

.default_content h1,
.default_content h2,
.default_content h3,
.default_content h4,
.default_content h5,
.default_content h6 {
    /* 20-18 */
    font-family: var(--heading-primary-font) !important;
    font-size: clamp(1.25rem, 1.175rem + 0.4vw, 1.5rem) !important;
    line-height: 160% !important;
    font-weight: 500 !important;
}
.flex_box_1 img {
    border-radius: 0px;
}
.flex_sec_1 img{
	border-radius: 0px;
}
.error404 header#page-header {
   background-color: #321A1A;
}
/* =====================
        INNER BANNER CSS
   ===================== */
.inner_banner:after {
    content: '';
    width: 100% !important;
    position: absolute;
    height: 100%;
    top: 0px;
    left: 0px;
    background: linear-gradient(90deg, rgb(0 0 0 / 69%) 0%, rgba(0, 0, 0, 0) 100%);
}
.inner_banner .l-section-h{
	z-index: 9;
}
.inner_banner {
    /* padding-top: clamp(7.5rem,4.0541rem + 18.3784vw,18.125rem)!important; */
    /* padding-bottom: clamp(3.75rem,2.2095rem + 8.2162vw,8.5rem)!important; */
    min-height: 670px;
    display: flex;
    padding-bottom: 136px !important;
    align-items: end;
}
.main_banner{
	min-height:100vh;
	display:flex;
	align-items: end;
	padding-bottom:101px !important;
}
@media only screen and (max-width: 900px) {
	.inner_banner {
    height: 570px;
    padding-bottom: 100px !important;
}
	.main_banner{
	min-height:80vh;
	padding-bottom:80px !important;
}
}
@media only screen and (max-width: 767px) {
	.inner_banner {
    min-height: 450px;
    padding-bottom: 60px !important;
}
}
/* =====================
        HEADER CSS
   ===================== */
ul.w-nav-list.level_1.hover_simple {
    gap: 50px;
}

header.l-header.id_73.pos_fixed.bg_solid.shadow_none.sticky {
    background-color: #321A1A;
}

.footer_link a {
    color: #FED579;
}

.footer_links a {
    color: white;
}
header#page-header ul.w-nav-list.level_1 {
    padding-top:12px;
	padding-bottom:12px;
}
.icon_download ul{
	padding-left:0px;
	margin-left:0px;
}
.icon_download ul li{
	position:relative;
	list-style:none;
	padding-left:30px;
	margin-left:0px;
}
.icon_download ul li:after {
    content: '';
    position: absolute;
    left: 0px;
	top:5px;
    background-image: url('/wp-content/uploads/2026/04/download-solid-full.svg');
    width: 20px;
    height: 20px;
    background-position: center;
	    background-repeat: no-repeat;
    background-size: contain;
}
/* =====================
        HOME CSS
   ===================== */
.main_banner:after {
    content: '';
    width: 100% !important;
    position: absolute;
    height: 225px;
    top: 0px;
    left: 0px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
}
.flex_sec_1 .vc_row {
    display: flex !important;
    gap: 35px;
    flex-wrap: nowrap !important;
    justify-content: space-between;
}

.flex_sec_1 .g-cols.vc_row.via_grid>.wpb_column:nth-child(1) {
    width: 47%;
}

.flex_sec_1 .g-cols.vc_row.via_grid>.wpb_column:nth-child(2) {
    width: 41%;
}

.xlg-heading {
    font-family: var(--heading-secondary-font) !important;
    font-size: clamp(1.875rem, 1.5912rem + 1.5135vw, 2.75rem) !important;
    line-height: 120% !important;
    font-weight: 500 !important;
}

.lg_heading br{
	display: none;
}
.lg_heading span {
    display: block;
    font-size: 68px;
    line-height: 1;
}

.flex_box_1 {
    background: linear-gradient(180deg, rgba(254, 213, 121, 0) 0%, rgba(254, 213, 121, 0.2) 100%);
}

.flex_box_1 .vc_row {
    display: flex !important;
    gap: 49px;
    flex-wrap: wrap !important;
}

.flex_box_1 .wpb_column.vc_column_container {
    width: calc((100% - 98px) / 3);
}

.logo_section h2 {
    display: none !important;
}

.logo_section a {
    pointer-events: none !important;
}

.flex_sec_2 .vc_row {
    display: flex !important;
    gap: 35px;
    flex-wrap: nowrap !important;
    justify-content: space-between;
}

.flex_sec_2 .g-cols.vc_row.via_grid>.wpb_column:nth-child(1) {
    width: 40%;
}

.flex_sec_2 .g-cols.vc_row.via_grid>.wpb_column:nth-child(2) {
    width: 50%;
}

.flex_sec_3 img {
    height: 507px;
    border-radius: 5px;
}
.client-logo img{
	object-fit: contain !important;
}

/* =====================
        ABOUT CSS
   ===================== */

.team_loop .w-grid-list {
    gap: 57px 142px !important;
}

.team_grid img {
    border-radius: 5px;
    object-fit: cover;
    width: 100% !important;
    height: 374px;
}

.flex_sec_3 .vc_row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between;
}

.flex_sec_3 .g-cols.vc_row.via_grid>.wpb_column:nth-child(1) {
    width: 40%;
}

.flex_sec_3 .g-cols.vc_row.via_grid>.wpb_column:nth-child(2) {
    width: 60%;
}

.box_contain {
    width: 711px;
}

/* =====================
       SYSTEM CSS
   ===================== */
.flex_sec_4 .vc_row {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between;
}

.flex_sec_4 .g-cols.vc_row.via_grid>.wpb_column:nth-child(1) {
    width: 59%;
}

.gradient_bg {
    background: linear-gradient(180deg, rgba(254, 213, 121, 0) 0%, rgba(254, 213, 121, 0.2) 100%);

}

.flex_box_2 .vc_column-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 50px;
}

.flex_box_2 .w-vwrapper.col.align_none.valign_top {
    width: 22%;
}

.flex_box_2 .wpb_text_column {
    width: 265px;
    margin: auto;
}

.gradient_bg2 {
    background: linear-gradient(0deg, rgba(254, 213, 121, 0) 0%, rgba(254, 213, 121, 0.2) 100%);
}
.flex_sec_5 .vc_row {
    display: flex !important;
    gap: 90px;
    flex-wrap: nowrap !important;
	align-items:center;
    justify-content: space-between;
}

.flex_sec_5 .g-cols.vc_row.via_grid>.wpb_column:nth-child(1) {
    width: 50%;
	height:448px;
}

.flex_sec_5 .g-cols.vc_row.via_grid>.wpb_column:nth-child(2) {
    width: 50%;
}
.box_short {
    max-width: 528px;
    margin-right: auto;
}
.flex_box_2 .w-image-h {
    text-align: center;
}

.g-breadcrumbs .g-breadcrumbs-item:last-child a {
  color:#E17D2B !important;
  font-weight:700 !important;
}
/* =====================
        Careers CSS
   ===================== */
.line-text a{
	text-decoration:underline;
}
.flex_sec_6 .vc_row {
    display: flex !important;
    gap: 35px;
    flex-wrap: nowrap !important;
    justify-content: space-between;
}

.flex_sec_6 .g-cols.vc_row.via_grid>.wpb_column:nth-child(1) {
    width: 28%;
}

.flex_sec_6 .g-cols.vc_row.via_grid>.wpb_column:nth-child(2) {
    width: 60%;
}
.career_grid{
	flex-direction:row !important;
	
}
.career_grid .col_1 {
    width: 80%;
}
.career_grid .col_2 {
    width: 20%;
}
.career_icon img.attachment-full.size-full {
    width: 18px;
    object-fit: contain;
    height: 18px;
}
.career_grid .w-grid-list {
    gap: 31px !important;
}

.box_contents {
    max-height: 50px; 
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.arrow_open img {
    transition: transform 0.3s ease;
    cursor: pointer;
}

.arrow_open.active img {
    transform: rotate(180deg);
}
/* =====================
        PROJECT CSS
   ===================== */
.project_loop .w-grid-list {
    gap: 53px 58px !important;
}

.project_grid .post_image {
    overflow: hidden;
}

.project_grid img {
    width: 100%;
    height: 517px;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.project_grid:hover img {
    transform: scale(1.1);
}

.line span.w-text-h {
    text-decoration: underline;
}

.gallery_project h2 {
    display: none;
}

.gallery_project a {
    pointer-events: none;
}

span.w-counter-value-part.type_number,
span.w-counter-value-part.type_text {
    font-size: clamp(3.125rem, 2.1926rem + 4.973vw, 6rem) !important;
    font-family: var(--heading-secondary-font) !important;
    color: #5F3A3A !important;
    line-height: 120%;
}

.w-counter-title {
    font-family: var(--heading-secondary-font) !important;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
    color: black;
}

.project_counter span.w-counter-value-part.type_text {
    font-family: var(--heading-secondary-font) !important;
    font-weight: 500 !important;
    font-size: 36px !important;
    line-height: 100%;
    letter-spacing: 0%;

}
.gallery_project .owl-nav {
	margin:0 auto;
}
.gallery_project .owl-nav button:after {
    content: '';
    background-image: url(/wp-content/uploads/2026/04/Vector-5.svg);
    height: 16px;
    width: 15px;
    background-repeat: no-repeat;
    background-size: contain;
}
.gallery_project button.owl-next:after {
    rotate: 180deg;
}
.gallery_project .owl-nav button {
    background-color: white !important;
	height:43px !important;
	width:43px !important;
}
.owl-nav button:hover {
	background-color:#FED579 !important;
}
/* =====================
        CONTACT CSS
   ===================== */
.gform-footer.gform_footer.top_label {
    padding: 0px;
    margin: 34px 0px 0px 0px;
}

div#gform_fields_2 {
    gap: 11px 16px;
}

.form_style .gform-body input,
.form_style .gform-body select,
.form_style textarea {
    font-family: var(--heading-secondary-font) !important;
    background-color: white !important;
    border-radius: 5px !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    height: 55px !important;
    opacity: 1 !important;
    font-weight: 400;
    font-size: 18px !important;
    line-height: 60px;
    letter-spacing: 0%;
    color: #B5B3B3 !important;
}

.gform_wrapper.gravity-theme .gfield textarea.large {
    height: 182px !important;
    resize: none;
    padding: 0px 21px 16px 21px;
}

.social_icon img:hover {
    filter: brightness(0) saturate(100%) invert(66%) sepia(43%) saturate(4176%) hue-rotate(344deg) brightness(94%) contrast(86%);
}

#form_sec .form_style .gform-body input,
#form_sec .form_style .gform-body select,
#form_sec .form_style textarea {
    border: 1px solid #E9E9E9 !important;
}

/* =====================
        SERVICES CSS
   ===================== */
.services_loop .w-grid-list {
    gap: 55px !important;
}

.services_grid {
    position: relative;
    overflow: hidden;
}

.services_grid .hover_box {
    position: absolute;
    inset: 0;
    transform: translateY(100%);
    transition: transform 0.6s ease;
}

.services_grid:hover .hover_box {
    transform: translateY(0);
}

.service_cards .repeater-row {
    background: #E17D2B !important;
    padding: 117px 35px 97px 35px;
    height: 258px;
    width: calc((100% - 78px) / 3);
    /* 2 gaps = 39 + 39 */
}

.service_cards .repeater {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    gap: 39px 32px !important;
}

#short_box .box_contain {
    width: 625px;
}
.services_gradient{
	background: linear-gradient(0deg, rgba(254, 213, 121, 0) 0%, rgba(254, 213, 121, 0.2) 100%);

}

/* =====================
        MEDIA CSS
   ===================== */
@media only screen and (max-width: 900px) {
	header#page-header ul.w-nav-list.level_1.hover_simple {
		background:#321A1A !important;
	}
	.gallery_project .owl-nav {
		width: 85% !important;
	}
    .flex_sec_3 img {
        height: auto;
        border-radius: 5px;
    }

    .flex_sec_1 .vc_row {
        flex-wrap: wrap !important;
        flex-direction: column-reverse !important;
    }

    .flex_sec_1 .g-cols.vc_row.via_grid>.wpb_column {
        width: 100% !important;
    }

    .flex_sec_2 .vc_row {
        flex-wrap: wrap !important;
        flex-direction: column !important;
    }

    .flex_sec_2 .g-cols.vc_row.via_grid>.wpb_column {
        width: 100% !important;
    }

    .flex_sec_3 .vc_row {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 35px;
    }

    .flex_sec_3 .g-cols.vc_row.via_grid>.wpb_column {
        width: 100% !important;
    }

    .flex_sec_4 .vc_row {
        flex-wrap: wrap !important;
        flex-direction: column-reverse !important;
    }

    .flex_sec_4 .g-cols.vc_row.via_grid>.wpb_column {
        width: 100% !important;
    }

    .box_contain {
        width: 100%;
    }

    #short_box .box_contain {
        width: 100%;
    }
	.flex_sec_5 .vc_row {
    gap: 40px;
    flex-wrap:wrap !important;
}

.flex_sec_5 .g-cols.vc_row.via_grid>.wpb_column:nth-child(1) {
    width: 100%;
	height:300px;
}

.flex_sec_5 .g-cols.vc_row.via_grid>.wpb_column:nth-child(2) {
    width: 100%;
}
.box_short {
    max-width:100%;

}
	.flex_sec_6 .vc_row {
    display: flex !important;
    gap: 35px;
    flex-wrap:wrap !important;
    justify-content: space-between;
}

.flex_sec_6 .g-cols.vc_row.via_grid>.wpb_column:nth-child(1) {
    width: 100%;
}

.flex_sec_6 .g-cols.vc_row.via_grid>.wpb_column:nth-child(2) {
		width: 100%;
	}
	.career_icon img.attachment-full.size-full {
		width: 15px;
		height: 15px;
	}
	.service-carousel .owl-carousel.navstyle_circle>.owl-nav button{
		width: 2.5rem;
		height: 2.5rem;
	}
}
.service-carousel .owl-nav button:after {
	content: '';
    background-image: url(/wp-content/uploads/2026/04/Vector-5.svg);
    height: 16px;
    width: 15px;
    background-repeat: no-repeat;
    background-size: contain;
}
.service-carousel button.owl-next:after {
    rotate: 180deg;
}
.service-carousel button{
    background: white !important;
    box-shadow: 0 0px 9px #321b1a38;
}
@media (max-width: 1024px) {
	.flex_sec_5 {
    padding: 0px 20px;
}
    .project_loop .w-grid-list {
        gap: 40px 40px !important;
    }

    .w-menu.layout_hor .menu>li:not(:last-of-type) {
        margin-inline-end: 20px;
    }

    .lg_heading span {
        font-size: 60px;
    }

    .flex_box_1 .wpb_column.vc_column_container {
        width: calc((100% - 49px) / 2);
    }

    .flex_box_1 .wpb_column.vc_column_container:nth-child(1) {
        width: 100%;
    }

    .flex_box_2 .w-vwrapper.col.align_none.valign_top {
        width: 40%;
    }

    .service_cards .repeater-row {
        width: calc((100% - 39px) / 2);
    }
}


@media (max-width: 767px) {
    .project_counter span.w-counter-value-part.type_text {
        font-size: 25px !important;
    }

    .align_center {
        text-align: start;
    }

    .project_grid img {
        height: 350px;
    }

    .services_grid.active .hover_box {
        transform: translateY(0);
    }

    .flex_box_2 .wpb_text_column {
        width: 80%;
    }

    .team_grid img {
        height: 300px;
    }

    .footer_menu ul li.menu-item.menu-item-type-post_type.menu-item-object-page {
        margin-bottom: 30px !important;
    }

    .services_loop .w-grid-list {
        gap: 24px !important;
    }

    .team_loop .w-grid-list {
        gap: 40px 40px !important;
    }

    .gform-footer.gform_footer.top_label {
        margin: 25px 0px 0px 0px;
    }

    .flex_box_1 .wpb_column.vc_column_container {
        width: 100%;
    }

    /* 	.flex_box_2 .vc_column-inner {
	gap:50px 20px !important;
} */
    .flex_box_2 .w-vwrapper.col.align_none.valign_top {
        width: 100%;
    }
}
