.elementor-section-height-default.elementor-element-8114f9c{display:none;}

.pt-0   { padding-top:0; }
.pt-60  { padding-top:60px; }
.pt-120 { padding-top:120px; }
.pb-0   { padding-bottom:0; }
.pb-60  { padding-bottom:60px; }
.pb-120 { padding-bottom:120px; }

.top-title    {color:#F06136; font-weight:700; text-transform:uppercase;}
.section-title{ color:#F06136; font-size:40px; line-height:1.1; }

.align-left {
	text-align: left;
}

.align-center {
	text-align: center;
}
.section-body p{
    margin-bottom:20px;
}

.section-body p:last-child{
    margin-bottom:0;
}

.btn-primary  {
    background:#F06136;
    color:#FFF !important;
    padding:14px 30px;
    text-transform:uppercase;
    display:inline-block;
    font-weight:700;
    margin-top:40px;
}

.bg-white{
    background:#FFF;
    color:#1A2A41;
}

.bg-navy{
    background:#1A2A41;
    color:white;
}

.bg-grey{
    background:#F4F4F4;
    color: #1A2A41;
}

.bg-navy h1{
    color:white;
    margin-top:0;
}

.bg-white h2{
    color:#1A2A41;
}

.bg-grey h2{
    color:#1A2A41;
}

.bg-navy h2{
    color:white;
}

.container{
    max-width:1280px;
    margin: 0 auto;
	display: flex;
	padding: 0 30px;
	flex-direction:column;
}

.has-texture .container, .page-hero .container{
    position:relative;
    z-index:1;
}

.hp-hero .has-texture, .page-hero .has-texture{
    position:relative;
}

.has-texture::before{
	content: "";
	position: absolute;
	inset: 0;
	background-image: url('/wp-content/uploads/2025/06/Triumph-Pattern.jpg');
	background-repeat: repeat;
	background-size: auto;
	mix-blend-mode: multiply;
	opacity: 0.2;
	pointer-events: none;
	z-index: 0;
	background-size:13%;
}

.hero-title{
    color:#F06136 !important;
    font-size: 66px !important;
    line-height:70px;
}

.page-hero h2{
    color:white !important;
}

.hp-hero .container, .page-hero .container{
    position:relative;
}

.page-hero .container{
    margin-top:60px;
    max-width:1100px;
}

.hp-hero, .page-hero{
    margin-top:-250px;
}

.hp-hero__wrapper{
    margin: 0 30px;
    display: flex;
    gap: 30px;
    margin-top:60px;
}

.hp-hero__top, .page-hero__top {
	padding: 250px 0 210px 0;
}

.hp-hero__image{
    margin-top:-210px;
    position:relative;
    z-index:0;
}

.hp-hero__left {
	flex: 2 1 0;
	min-width: 300px;
	padding-bottom: 60px;
}

.hp-hero__right {
	flex: 1 1 0;
	min-width: 300px;
	background:#FFF;
	padding:30px;
	margin-bottom: -210px;
    z-index: 1;
}

.hero-form .gform_fields{
    grid-row-gap: 10px;
}

.hero-form .gfield--type-html{
    color:#1A2A41;
    font-size:11px;
}

.hero-form input, .hero-form textarea, .hero-form select{
    background: #E6E6E6;
    border-radius:0 !important;
    border:0 !important;
}

.hero-form input::placeholder, .hero-form textarea::placeholder, .hero-form select::placeholder{
    color: #3F5063;
    font-weight:500;
    text-transform:uppercase;
}

.hero-form .form-title{
    color: #F06136;
    font-size: 28px;
    font-weight:700;
    text-align:center;
}

.hero-form input[type="submit"]{
    background-color: #F06136;
    font-family: "Montserrat", Sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    color: #FFF;
    border-style: none;
    border-radius: 0;
    padding: 15px 20px;
    margin-bottom:0;
}

.hero-form .gform-footer{
    justify-content:center;
    padding-bottom:0 !important;
}

.page-hero .hero-form{
    background:white;
    padding:45px;
    max-width: 800px;
    margin-top: 30px;
    width: 100%;
    margin-top: -150px;
    position: relative;
    filter: drop-shadow(0px 14px 38.3px rgba(0, 0, 0, 0.08));
}

.page-hero .hero-form textarea{
    height:38px !important;
}

.page-hero .hero-title{
    color:white !important;
}

.hero-form_container{
    display:flex;
    justify-content:center;
    position:relative;
    z-index:1;
}

.narrow-block .container, .title-wrap {
    max-width: 900px;
}
.narrow-block .container{
    position:relative;
}


.narrow-block .btn-primary{
    align-self:center;
}

.top-title{
    align-self:center;
    margin:0;
}

.banner-cta {
	background-color: #F06136;
	color: #fff;
	padding: 60px 0;
}

.banner-cta__wrapper {
	display: flex;
	flex-direction:row;
	align-items: center;
	justify-content: space-between;
	gap:30px;
}

.banner-cta__title {
	margin: 0 0 12px;
	font-size: 28px;
	font-weight: 700;
}

.banner-cta__body {
	font-size: 16px;
	line-height: 1.6;
}

.btn.btn-navy {
	background-color: #1A2A41;
	color: #fff;
	padding: 14px 28px;
	text-transform: uppercase;
	font-weight: 700;
	display: inline-block;
}

.btn.btn-navy:hover {
	opacity: 0.9;
}

.banner-cta .btn{
    text-wrap: nowrap;
}



/* --- Accordion Image + Info ------------------------------------ */
.accordion-info__wrapper{display:flex;gap:30px}
.accordion-info__left,
.accordion-info__center,
.accordion-info__right{flex:1 1 0;min-width:0}
.accordion-info .section-title{
    margin-bottom:30px;
}
h3.accordion-header{
	background:#1A2A41;
	color:#fff;
	padding:20px;
	cursor:pointer;
	margin-bottom:12px;
	font-weight:600;
    font-size:18px !important;
    margin-top:0;
}
h3.accordion-header:last-child{
 margin-bottom:0;   
}
.accordion-header.active{background:#F06136}
.accordion-header:not(.active){background:#1A2A41}

/* panels (right column) */
.accordion-info__right{background:#1A2A41;color:#fff;padding:30px}
.accordion-panel{display:none}
.accordion-panel.active{display:block}

.btn.btn-white{background:#fff;color:#1A2A41;padding:14px 24px;font-weight:700;text-transform:uppercase;margin-top:20px;display:inline-block}

.accordion-info__center img{max-width:100%;height:100% !important;display:block;margin:0 auto}

@media (max-width:1024px){
	.accordion-info__wrapper{flex-direction:column}
	.accordion-info__center{order:-1;text-align:center;margin-bottom:20px}
	.accordion-info__right{margin-top:0}
}

.flex{
    display:flex;
}
.flex-col{
    flex-direction:column;
}
.flex-row{
    flex-direction:row;
}
.flex-gap30{
    gap:30px;
}
.card-side{
	flex: 1 1 50%;
}

.media-card__wrapper .container {
	display: flex;
	align-items: stretch;
}

.media-card__left {
	display: flex;
	align-items: stretch;
	justify-content: center;
	max-height: 680px;
	overflow: hidden;
}

.media-card__left img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.flex-row-reverse {
	flex-direction: row-reverse;
}


/* === Steps layout === */
.steps-list {
	display: flex;
	flex-direction: column;
	gap: 40px;               /* vertical spacing between items */
}

.step-item {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	position: relative;
}

.step-item:not(.last)::after {          /* orange divider */
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -15px;                       /* half of gap */
	height: 2px;
	background: #F06136;
}

.step-num {
	width: 55px;
	height: 55px;
	min-width: 55px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F06136;
	color: #fff;
	font-weight: 600;
	font-size: 28px;
}

.step-copy {
	flex: 1 1 auto;
}

.step-title {
	margin: 0 0 6px;
	font-size: 1.125rem;
	font-weight: 600;
}

.step-body {
	line-height: 1.55;
}




.review-summary {
	flex: 0 0 32%;
	display: flex;
	flex-direction: column;
	text-align: center;
	color: #fff;
	position: relative;
	overflow: hidden;
	text-decoration: none;
	height:100%;
}
.summary-top {
	padding-top: 60%;
	background-size: cover;
	background-position: center;
}
.summary-count {
	background: #F06136;
	padding: 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 31px;
	color:white;
}
.summary-count .stars {
	letter-spacing: 4px;
	font-size: 24px;
}

.summary-profiles {
    position: absolute;
    left: 50%;
    bottom: 100px;
    transform: translate(-50%, -50%);
    display: flex;
}
.summary-profiles .profile,
.summary-profiles .plus {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	font-weight: 700;
}
.summary-profiles .profile {
	border: 1px solid #fff;
	overflow: hidden;
}
.summary-profiles .plus {
	background: #1A2A41;
	color: #fff;
}


.review-slider {
	position: relative;
	background: url('/wp-content/uploads/2025/06/Reviews-Card-BG.jpg') center/cover;
	padding: 60px;
	color: #fff;
	overflow: hidden;
	box-shadow: 0px 14px 38.3px 0px rgba(0, 0, 0, 0.08);
}
.review-slide .stars {
	color: #F06136;
	font-size: 35px;
	line-height: 1;
	margin-bottom: 10px;
}
.review-slide .review-text {
	font-size: 1.05rem;
	line-height: 1.55;
	margin-bottom: 30px;
	color:#1a2a41;
}

.reviews-section .container{
    width:100%;
}
.review-footer {
	display: flex;
	align-items: center;
	gap: 12px;
}
.reviewer-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}

.platform-icon {
	position: absolute;
	right: 20px;
	bottom: 20px;
	width: 34px;
	height: 34px;
	object-fit: contain;
}


.swiper-button-prev,
.swiper-button-next {
	color: #fff;
}


.footer-cta{
    background: linear-gradient(to bottom, #ffffff 0%, #ffffff 50%, #f4f4f4 50%, #f4f4f4 100%);
}

.footer-cta__wrapper{
    background: #1A2A41 url(https://perryverroneroofing.com/wp-content/uploads/2025/07/CTA-BG-3.png) no-repeat;
    padding: 60px;
    background-position: bottom right;
}
.footer-cta .section-title{
    color:white;
    max-width: 710px;
}

.footer-cta .section-body{
    color:white;
    max-width:529px;
}

.advanced-accordion .aa-img{display:flex;align-items:center;justify-content:center;max-height:680px;overflow:hidden}
.advanced-accordion .aa-img img{width:100%;height:100%;object-fit:cover}

/* accordion items */
.aa-accordion-container{display:flex;flex-direction:column;gap:10px}

/* trigger */
.aa-trigger{
	all:unset;
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	background:#1A2A41;
	cursor:pointer;
	padding:30px;
	font-weight:700;
	color:#fff;
	transition:background .25s,color .25s;
}
h3.aa-trigger-label{
    font-size:22px !important;
    margin:0;
}
.aa-trigger .aa-icon{
	width:14px;height:14px;
	border-right:2px solid currentColor;
	border-bottom:2px solid currentColor;
	transform:rotate(45deg);
	transition:transform .25s;
}

/* panel */
.aa-panel{display:none;background:#1A2A41;padding:0}
.aa-panel-inner{padding:30px;color:#fff;}

.aa-trigger:hover{
    background:#F06136;
}

/* active state */
.aa-item.active .aa-trigger, .aa-trigger:focus{
	background:#F06136;
	color:#1A2A41;
}
.aa-item.active .aa-icon{transform:rotate(-135deg)}
.aa-item.active .aa-panel{display:block}
.aa-content, .media-card__right{
    display: flex;
    flex-direction: column;
        justify-content: center;
    
}

.media-card__right .btn{
    align-self:flex-start;
}
.media-card__right .top-title{
    align-self: flex-start;
}

.aa-content .top-title{
    align-self: flex-start;
}


.form-widget {
    display: flex;
    justify-content: center;
}

.form-widget .hero-form_container {
    max-width: 900px;
}

@media only screen and (max-width: 1250px){
    .hp-hero__wrapper{
        margin-left:0px;
        margin-right:0px;
    }
    .hp-hero__right {
        margin-bottom: -150px;
    }
}

@media only screen and (max-width: 1024px){
    .hp-hero__left {
	    flex: 1 1 0;
    }
    .hero-title{
        font-size: 46px !important;
        line-height:50px;
    }
    .hp-hero__right {
        margin-bottom: -60px;
    }
    .banner-cta__wrapper {
		flex-direction: column;
		text-align: center;
	}
	.banner-cta__right {
		margin-top: 20px;
	}
	.banner-cta__wrapper {
	    gap:0;
	}
	.media-card .container, .aa-wrapper .container{
	    flex-direction:column;
	}
	.footer-cta__wrapper{
	    min-height:800px;
	}
}

@media only screen and (max-width: 902px){
    .count-text{
        font-size:28px;
    }
    .review-summary{
        max-width: 550px;
        width: 100%;
        align-self: center;
    }
    .reviews-section .container{
        flex-direction:column;
    }
    .media-card__left img, .accordion-info__center img, .advanced-accordion .aa-img img{
        max-width:550px !important;
        width:100%;
    }
}

@media only screen and (max-width: 767px){
    .hp-hero__wrapper{
        flex-direction:column;
    }
    .hp-hero__image{
        display:none;
    }
    .hp-hero__right {
        margin-bottom: 0px;
    }
    .section-title{
        font-size:36px !important
    }
    .hp-hero__top{
        padding-bottom:120px;
    }
    .media-card__right {
		max-height: none;
		height: auto;
	}
	.media-card__right img {
		height: auto;
	}
		.step-item {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.step-num {
		margin-bottom: 12px;
	}
	.footer-cta__wrapper{
	    padding:30px;
	}
}

@media only screen and (max-width: 406px){
    .footer-cta .container{
        padding:0;
    }
}