/* #Media Queries
================================================== */
/* Large Devices, Wide Screens */


@media (min-width: 640px) {
	.gform-theme--foundation .gform_fields {
		-moz-column-gap: 20px;
		column-gap: 20px;
	}
}


@media only screen and (min-width : 993px) {
	.navbar .dropdown-menu {
		display: none;
		position: absolute;
		opacity: 0;
		z-index: 1000;
	}

	.nav-item.dropdown:hover .dropdown-menu {
		display: block;
		opacity: 1;
		margin: 0;
		border: 0;
		transition: opacity 0.8s ease-in;
	}

	.navbar .dropdown:hover .dropdown-toggle::after {
		transform: rotate(0deg);
	}
	
	.review-slide .review {
		height: 100%;
		width:100%;
	}
	
	.review-slide .review-image{
		height: fit-content;
	}
	
 	.reviews .slick-slide {
		height: inherit !important;
	}
}

@media (min-width: 1600px) {
	.single-sidebar-page section.cta {
		margin-left: auto;
	}
}

@media (min-width: 1199px) {
	.service-areas .areas .container {
		max-width: 1200px;
		overflow: hidden;
	}

	.service-areas .col-md-7 .single-area ul {
		column-gap: 20px;
	}

	.service-areas .single-area ul li {
		padding-left: 28px !important;
	}
}

@media (max-width: 1590px) {

	.single-sidebar-page section.cta,
	.single-sidebar-page section.ser-acc {
		margin-left: 80px;
	}
}

@media(max-width:1471px) {
	.single-sidebar-page .cta .cta-wrap {
		padding: 21px 0 18px 0;
	}

	.reviews-grid {
		padding: 80px 20px 130px 20px;
	}
}

@media only screen and (max-width : 1400px) {
	.left-image-right-content .image:before {
		left: 0;
	}

	.left-image-right-content .content {
		padding-right: 6%;
	}

	.single-sidebar-page .cta .cta-wrap .col-md-9,
	.single-sidebar-page .cta .cta-wrap .col-md-3 {
		flex: 0 0 100%;
		max-width: 100%;
		text-align: center;
	}

	.single-sidebar-page .cta .cta-wrap .col-md-3 {
		margin-top: 13px;
	}
}

@media only screen and (max-width : 1348px) {
	.bsidebar .sidebar h3 {
		padding: 18px 25px 19px 25px;
	}

	.single-sidebar-page .ser-acc .right-content {
		padding-left: 0;
	}

	.single-sidebar-page .ser-acc .right-content .accordion-button h5,
	.single-sidebar-page .ser-acc .right-content .accordion-body h5 {
		font-size: 24px;
	}

}

@media(max-width:1312px) {
	.navbar-light .navbar-nav .nav-link {
		padding: 44px 13px 44px 13px;
	}

}

@media only screen and (max-width : 1290px) {
	.navbar {
		padding: 0px 0px;
	}

	.navbar-light .navbar-nav .nav-link {
		padding: 35px 12px 35px 12px;
		font-size: 14px;
	}
}

@media only screen and (max-width : 1200px) {
	.left-image-right-content .image-wrap {
		height: 940px;
	}

	.contact-us .location_images img {
		width: 180px;
	}

	section.cta .cta-wrap .col-md-9,
	section.cta .cta-wrap .col-md-3 {
		flex: 0 0 100%;
		max-width: 100%;
		text-align: center;
	}

	section.cta .cta-wrap {
		gap: 11px;
	}
}

@media only screen and (max-width : 1199px) {

	.ser-acc .right-content .accordion-button h5,
	.ser-acc .right-content .accordion-body h5 {
		font-size: 22px;
	}

	.ser-acc .right-content {
		padding-left: 80px;
	}

	.service-areas .areas .col-md-7,
	.service-areas .areas .col-md-5 {
		max-width: 50%;
	}

	.service-areas .col-md-7 .single-area ul {
		column-count: 1;
		display: block;
	}

	.service-areas .single-area ul li {
		padding-left: 28px !important;
	}

	.roofing-services .single-service a {
		min-height: 225px;
		padding-bottom: 8px;
		font-size: 49px;
		line-height: 42px;
	}

	.footer .ft-end {
		padding: 0 0px;
	}

	.footer .ft-end ul {
		justify-content: center;
	}

	.team .card .card-img-top img {
		height: 100%;
	}

	.team .card-img-top:after {
		bottom: -2px;
	}

	.team .modal-dialog {
		max-width: 70%;
	}

	.ser-acc .right-content {
		padding-left: 50px;
	}

	.page-banner {
		background-position: center;
	}

	.ser-acc .right-content h5,
	.ser-acc .right-content h5 {
		font-size: 24px;
	}
}

@media only screen and (max-width : 1099px) {
	.navbar-brand {
		margin-right: 0;
	}

	.navbar-light .navbar-nav .nav-link,
	.navbar .dropdown-item {
		font-size: 14px;
	}
}


@media only screen and (max-width: 1112px) {
	.navbar-light .navbar-nav .nav-link {
		padding: 35px 5px 35px 5px;
	}

	.ser-acc .right-content h5,
	.ser-acc .right-content h5 {
		font-size: 23px;
	}
}


/* Medium Devices, Desktops */
@media only screen and (max-width : 992px) {

	.navbar {
		padding: 16px 0px 14px 0;
	}

	.navbar-collapse.show {
		height: 100vh;
		overflow: auto;
	}

	.navbar-brand {
		padding-left: 20px;
	}

	.navbar-light .navbar-toggler {
		padding-right: 20px;
	}

	.navbar-nav {
		padding: 30px;
		text-align: center;
	}

	.navbar-light .navbar-nav .nav-link {
		padding: 10px 18px;
	}

	.navbar-nav .nav-toggle {
		position: absolute;
		right: 0;
		top: -5px;
		width: 56px;
		height: 100%;
		cursor: pointer;
	}

	.navbar-nav .nav-toggle .fam {
		border-left: 12px solid transparent;
		border-right: 12px solid transparent;
		border-top: 12px solid var(--green);
		top: 18px;
		transform: rotate(0deg);
		position: relative;
		display: inline-block;
		
		transition: transform 0.3s ease-in-out;
	}

	.navbar-nav .nav-toggle.active .fam {
		transform: rotate(180deg);
	}

	.dropdown-toggle::after {
		display: none;
	}

	footer {
		text-align: center;
	}

	.home-hero {
		display: block;
	}

	.hero-info {
		padding: 75px 15px 125px;
	}

	.hero-info,
	.hero-slider {
		width: 100%;
	}

	.hero-slider {
		height: 350px;
	}

	.banner-img {
		display: none;
	}

	.banner-info {
		width: 100%;
		padding: 75px 15px;
	}

	.about-excerpt {
		padding: 50px 0;
	}

	.about-img-container {
		margin-bottom: 75px;
	}

	.about-img-container::before {
		left: -10px;
		bottom: -10px;
	}

	.about-excerpt p {
		margin-bottom: 25px;
	}

	.mission {
		padding: 50px 0;
	}

	.our-story .bottom {
		margin-top: 50px;
	}

	.facts {
		padding-top: 75px;
	}


	.industries {
		padding: 50px 0;
	}

	.industries p {
		margin-bottom: 45px;
	}

	.substrate {
		margin: 50px 0;
	}

	.info-block {
		padding: 50px 0;
	}

	.blog-posts {
		padding: 50px 0;
	}

	.blog-post {
		margin-top: 50px;
		margin-bottom: 50px;
	}

	.blog-post img {
		margin-bottom: 10px;
	}

	body.admin-bar .navbar {
		top: 31px;
	}

	.blog-content {
		padding: 50px 0;
	}

	.blog-content blockquote {
		max-width: 100%;
	}

	.contact {
		text-align: center;
		padding: 50px 0;
	}

	.contact input[type='text'],
	.contact textarea {
		margin: 5px 0;
	}

	.contact .gform_confirmation_message {
		margin: 75px 0 0;
	}

	.main-content {
		margin-top: -1px;
	}

	.header-btn-desktop {
		display: none;
	}

	.header-btn-mobile {
		display: block;
		text-align: center;
		padding-bottom: 30px;
	}

	.navbar-light .navbar-nav .nav-link,
	.navbar .dropdown-item {
		font-size: 18px;
		text-align: left;
		position: relative;
	}

	/* .dropdown-toggle::after {
		border-left: 12px solid transparent;
		border-right: 12px solid transparent;
		border-bottom: 12px solid #42BC30;
		right: 15px;
		position: absolute;
		top: 37%;
	}

	.dropdown-toggle[aria-expanded="false"]::after {
		transform: rotate(-180deg);
		transform: rotate(0deg);
	}  */

	/* cols 100% */
	.service-areas .areas .col-md-7,
	.service-areas .areas .col-md-5,
	.home-hero .col-md-5,
	.home-hero .col-md-7,
	.r-ser-high .wrap .col-md-7,
	.r-ser-high .wrap .col-md-5,
	.left-image-right-content .col-md-6,
	.contact-info .col-md-6,
	section.cta .cta-wrap .col-md-9,
	section.cta .cta-wrap .col-md-3,
	.featured-blog .col-md-6,
	.single-post .col-md-9,
	.single-post .general-content .cta .cta-wrap .col-md-3,
	.team .modal-dialog .col-md-6,
	section.ser-acc .col-md-7,
	section.ser-acc .col-md-5,
	.blog-related .col-md-4 {
		max-width: 100%;
		flex: 0 0 100%;
	}

	.blog-related .col-md-4 {
		margin-bottom: 30px;
	}

	.blog-related .col-md-4 .blue-gradient {
		margin: 0;
	}

	.page-service-areas .roof-steps {
		padding-bottom: 9px;
	}

	section.ser-acc .left-content {
		text-align: center;
	}

	.ser-acc .right-content {
		padding-left: 15px;
		margin-top: 60px;
	}

	section.ser-acc {
		padding: 50px 0 50px 0;
	}

	.team .modal-content img {
		height: 200px;
	}

	.team .modal-body {
		padding: 15px;
	}

	.team .modal-body .text-left {
		text-align: center !important;
		padding: 20px 10px 30px 10px;
	}

	.team .modal-content .job-title {
		margin-bottom: 0;
	}

	.team .modal-content p {
		margin: 0 0 20px 0;
	}

	.single-post .general-content .cta .cta-wrap {
		padding: 20px;
		gap: 20px;
		text-align: center;
		justify-content: center;
	}

	.single-post .general-content .cta .cta-wrap {
		justify-content: center;
	}

	.bsidebar {
		max-width: 50%;
		margin: 0 auto;
		margin-bottom: 50px;
		flex: 0 0 50%;
	}

	.single-post .general-content {
		padding: 0 25px 65px 25px;
	}

	.featured-blog .post-wrap {
		padding-top: 25px;
	}

	section.cta .cta-wrap {
		gap: 11px;
		text-align: center;
		padding: 20px;
		margin: 0;
	}

	.contact-us .location_images {
		justify-content: center;
	}

	.contact-us .location_images img {
		max-width: 100%;
		width: 100%;
	}

	.contact-us .contact-info {
		text-align: center;
	}

	.pr51 {
		padding: 0;
	}

	.contact-banner .banner-content {
		flex-direction: column;
		margin-top: 30px;
		gap: 20px;
	}

	.left-image-right-content {
		overflow: hidden;
		padding: 0px 0;
	}

	.left-image-right-content .image {
		margin-top: 0;
	}

	.left-image-right-content .image:before {
		display: none
	}

	.r-ser-high .wrap .col-md-5 {
		text-align: center;
	}

	.home-hero p {
		max-width: 60%;
	}

	.home-hero .home-hero-wrap {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	.home-hero .bg-img img {
		max-height: 600px;
	}

	.service-areas .single-area {
		align-items: center;
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}

	.service-areas .col-md-7 .single-area ul {
		column-gap: 30px;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
	}

	.roof-steps .steps {
		flex-wrap: wrap;
		justify-content: center;
	}

	.roof-steps .single-step.odd,
	.roof-steps .single-step.even {
		width: 30%;
	}

	.roof-steps-bg {
		background-position: bottom;
		background-size: cover;
	}

	.roof-steps-bg:before {
		display: none;
	}

	.roof-steps-bg .overlay:before {
		height: 100%;
		top: -1px;
	}

	.roof-steps-bg .overlay:after {
		width: 0;
	}

	.roofing-services .single-service a {
		min-height: 164px;
		padding-bottom: 5px;
		font-size: 37px;
		line-height: 34px
	}

	.tg-right:before {
		height: 50%;
	}

	.left-image-right-content .image-wrap:before {
		display: none;
	}

	.r-ser-high .wrap {
		padding: 30px;
	}

	.left-image-right-content .image-wrap {
		height: 100%;
	}

	.left-image-right-content .image-wrap img {
		max-height: 750px;
		object-position: center;
	}

	.left-image-right-content .content {
		padding: 50px;
		text-align: center;
	}

	.left-image-right-content h3.green-gradient {
		width: 100%;
	}

	.r-ser-high {
		padding-bottom: 50px;
	}

	.roof-steps h2 {
		margin-bottom: 18px;
		text-align: center;
		width: 100%;
	}

	.roof-steps .steps {
		display: block;
	}

	.roof-steps .steps .single-step {
		margin: 0 10px 0 10px;
		text-align: center;
		transform: none !important;
	}

	.roof-steps .single-step:after {
		display: none;
	}

	.roof-steps .slick-dots li.slick-active button:before {
		background: var(--white);
	}

	.roof-steps .slick-dots li button:before {
		border: 2px solid var(--white);
	}

	section.home-hero:before {
		background: linear-gradient(268deg, rgba(27, 66, 146, 0.00) 0%, #1B4292 30.82%);
		z-index: 0;
		width: 100%;
	}

	.tg-right:after,
	.roof-steps-bg .overlay:before {
		border-radius: 0;
	}

	.navbar-light .navbar-nav .show>.nav-link {
		color: #fff;
	}

	.navbar .dropdown-menu {
		min-width: 100%;
	}

	.contact-form {
		padding: 30px;
		margin-top: 30px;
	}

	.contact-form .gform-body {
		text-align: left;
	}

	.page-how-it-works .roof-steps {
		padding-bottom: 60px;
	}

	.left-image-right-content .trusted_partners_title {
		max-width: 100%;
	}

	.left-image-right-content .loop-images {
		justify-content: center;
	}

	.accordion-job {
		padding: 20px 20px 37px 20px;
	}

	.career-form {
		padding: 0 20px;
	}

	.jobs .accordion-header button h3 {
		font-size: 48px;
		line-height: 48px;
	}

	.page-banner {
		padding: 50px 20px;
		text-align: center;
	}

	section.jobs {
		padding: 60px 0 0px 0;
	}

	.jobs.jo_heading h2 {
		margin-bottom: 35px;
	}

	.single-post .blog-grid:before {
		display: none;
	}

	.single-post .blog-grid {
		padding: 50px 0px 50px 0;
		margin-top: 0;
	}

	.page-financing .roof-steps {
		padding-bottom: 50px;
	}

	.finance .box {
		flex-direction: column;
		gap: 25px;
	}

	.finance .box .content {
		width: 100%;
		text-align: center;
	}

	.finance .box .image {
		width: 60%;
		min-height: auto;
		padding: 35px;
	}

	.page-service-areas .roofing-services {
		padding: 50px 0;
	}

	.single-sidebar-page .single-post .col-md-9 {
		padding: 0;
	}

	.single-sidebar-page .single-post .general-content {
		padding: 0;
	}

	.single-sidebar-page .single-post .container {
		padding: 0;
	}

	.single-sidebar-page .single-post {
		padding: 46px 15px 46px 15px;
		margin: 0;
	}

	.single-sidebar-page .roof-steps {
		padding-bottom: 50px;
	}

	.single-sidebar-page section.cta {
		margin-left: 0;
	}

	.single-sidebar-page .ser-acc .left-content h2 {
		text-align: center;
	}

	.single-sidebar-page .ser-acc .left-content p {
		max-width: 100%;
	}

	.single-sidebar-page section.ser-acc .container {
		padding: 23px 40px;
		max-width: 100%;
	}

	.single-sidebar-page section.cta .container {
		max-width: 100%;
		padding: 0 15px;
	}

	.single-sidebar-page section.cta,
	.single-sidebar-page section.ser-acc {
		margin-left: 0;
	}

	.sn-ban-lg {
		padding: 75px 0 90px 0 !important;
	}

	.sn-ban-lg .ft-cloud img {
		left: 0;
		width: 100%;
	}

	section.roofing-services {
		padding: 20px 0 50px 0;
	}

	.blog-page-loop img {
		height: 220px;
	}

	.ginfo-box .ginfo-wrap {
		flex-direction: column;
		padding: 40px 50px;
		gap: 30px;
	}

	.steps .slick-prev,
	.steps .slick-next {
		top: 47%;
	}


}

/* end 992 */

@media only screen and (max-width : 782px) {
	body.admin-bar .navbar {
		top: 0;
	}
}

/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {
	.facts-container {
		padding: 50px;
	}

	.industry-container {
		margin-bottom: 15px;
	}

	.machine {
		display: block;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin: 25px 0;
	}

	.machine-img {
		height: 350px;
		width: 100%;
	}
}

/* Extra Small Devices, Phones */
@media only screen and (max-width : 767px) {

	h1 {
		font-size: 77px;
		line-height: 70px;
	}

	h2 {
		font-size: 66px;
		line-height: 55px;
	}

	h3 {
		font-size: 57px;
		line-height: 53px;
	}

	.left-image-right-content h3.green-gradient {
		font-size: 80px;
		line-height: 70px;
	}

	h2.green-gradient,
	h2.blue-gradient,
	.reviews h3 {
		padding-left: 15px;
		padding-right: 15px;
	}

	.home-hero {
		min-height: 920px;
	}

	.hero-info {
		min-height: 530px;
	}

	.hero-slider {
		min-height: 350px;
	}

	.single-service {
		width: 50%;
		margin-top: 20px;
	}

	.roofing-services .single-service a {
		min-height: 220px;
		font-size: 59px;
		line-height: 47px;
		background-position: center;
	}

	.roofing-services {
		padding: 50px 0 50px 0;
	}

	.blog-grid .col-md-4 {
		margin-bottom: 30px;
	}

	.footer .info {
		padding-bottom: 50px;
	}

	.footer .ft-end ul li a {
		border-right: 0px solid;
	}

	.footer .ft-end ul {
		flex-direction: column;
	}

	.footer .ft-mid {
		padding: 134px 0px 33px 0;
	}

	.gform-body .gfield--type-fileupload .gfield_label {
		font-size: 24px !important;
	}

	.pg404-content .menu-pg404 {
		column-count: 2;
		gap: 50px;
	}

	.container.pg404 {
		padding-top: 45px;
		padding-bottom: 60px;
	}

	ul.job-services {
		column-count: 2;
	}

	.jobs .accordion-header button,
	.accordion-job .general-content {
		padding: 20px 20px 16px 20px;
	}

	.jobs .accordion-header button h3 {
		font-size: 38px;
		line-height: 38px;
	}

	.blog-page-loop .btn-green {
		position: relative;
		bottom: auto;
	}

	.blog-page-loop article {
		margin-bottom: 50px;
	}

	.single-post .article-header h1 {
		font-size: 50px;
		line-height: normal;
	}

	.team .col-md-3 {
		max-width: 50%;
		flex: 0 0 50%;
	}

	.page-about-us .ginfo-box {
		padding: 50px 0;
	}

	.cl1 img {
		animation: moveCloud 20s 0s linear infinite forwards;
	}

	.cl2 img {
		animation: moveCloud2 20s 10s linear infinite forwards;
	}

	.reviews-grid {
		padding: 80px 0px 130px 0px;
	}

	.general-content img {
		max-height: 250px;
	}

	.team .modal-dialog {
		max-width: 90%;
		margin: 7rem auto;
	}

	.single-post .article-header .byline {
		font-size: 22px;
		line-height: 26px;
		margin-bottom: 20px;
	}

	.single-post .article-header {
		padding: 40px 30px;
	}

	.single-post .article-header .btn-green {
		margin-bottom: 0;
	}

	.blog-page-loop img {
		height: 250px;
	}

	.ginfo-box .ginfo-wrap {
		padding: 40px 20px;
	}

	.steps .slick-prev,
	.steps .slick-next {
		top: 44%;
	}

	.home .roofing-services {
		padding: 50px 0 70px 0;
	}

	.service-areas .col-md-7 .single-area ul {
		grid-template-columns: 1fr 1fr
	}

	.jobs .accordion-header button::after {
		width: 70px;
		height: 70px;
	}

	.jobs .accordion-header button:before {
		width: 40px;
		height: 40px;
		top: 16.5px;
		right: 10px;
	}

	.jobs .accordion-header button.collapsed::after {
		top: 35px;
		right: 20px;
	}

	.jobs .accordion-header button:after {
		right: 21.8px;
		width: 18px;
		height: 18px;
		top: 37px;
	}
}

/* 767 end */


@media(max-width:650px) {

	.left-image-right-content .content {
		padding: 30px;
	}

	.home-hero p {
		max-width: 100%;
	}

	.team .modal-content p {
		overflow-y: auto;
		max-height: 100%;
	}

	.finance .box .image {
		width: 80%;
	}

	.contact-us .location_images img {
		width: 150px;
	}

	.pg404-content p {
		max-width: 100%;
	}

	.blog-loop .catgories select {
		width: 98%;
	}

	.featured-blog .post img {
		height: 100%;
	}

	.single-post .general-content {
		padding: 0 0px 65px 0px;
	}
}

@media(max-width:640px) {

	.ginput_container_address .address_line_1,
	.ginput_container_address .address_line_2 {
		inline-size: 100% !important;
	}
}

/* Extra Small Devices, Phones */
@media only screen and (max-width : 576px) {
	.service-areas .single-area img {
		max-width: 200px;
	}

	.bsidebar {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.tg-right:before {
		height: 37%;
	}
}

@media only screen and (max-width : 550px) {
	.footer .footer-menu {
		justify-content: space-evenly;
		gap: 30px;
		flex-direction: column;
	}

	.service-areas .single-area ul li a {
		font-size: 17px;
	}

	.service-areas .col-md-7 .single-area ul {
		column-gap: 20px;
	}

	header .sub-menu.dropdown-menu .dropdown-item {
		font-size: 16px;
		padding: 10px 14px;
	}
}

@media only screen and (max-width : 450px) {
	.roofing-services .single-service a {
		min-height: 173px;
		font-size: 45px;
		line-height: 35px;
	}

	.accordion-job {
		padding: 20px 0 37px 0;
	}

	.career-form {
		padding: 0;
	}

	.finance .box .image {
		width: 100%;
	}

	.blog-single-page .social_share span.copied {
		right: -35px;
		top: -31px;
	}

	.service-areas .col-md-7 .single-area ul {
		column-gap: 10px;
	}

	.service-areas .single-area ul li a {
		font-size: 16px;
	}
	
	.reviews .review-text {
		font-size: 15px;
		line-height: 24px;
	}
	
	.review-slide .review .review-content, 
	.reviews-grid .review .review-content{
		    padding-top: 30px;
	}
	
	.reviews-grid .review{
		    padding: 12px 13px 30px 28px;
	}
	
	.review-slide .review{
		padding:12px 13px 22px 40px
	}
}