/* 
Theme Name: Ivy Roofing
Theme URI: https://github.com/elementor/hello-theme/
Description: Ivy Roofing Child is a child theme of Hello Elementor, created by Elementor team
Author: Multimediax
Author URI: https://multimediax.com.au/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/


html {
    font-size: 62.5%;
}

p:last-child {
	margin-bottom: 0;
}

.cstm-header.elementor-sticky--effects {
    background: #fff !important;
}

.cstm-menu .elementor-item {
	border-radius: 20px;
}

.cstm-menu .elementor-nav-menu--dropdown {
    min-width: 20rem !important;
}

.cstm-menu .elementor-item-active:not(.elementor-sub-item),
.cstm-menu .elementor-item:hover {
    background: #d6eabb;
	color: #4A4A4A !important;
}


.img-logo img {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
}

.cstm-header.elementor-sticky--effects .img-logo img {
    filter: unset;
}

.cstm-header.elementor-sticky--effects {
	border-bottom: 1px solid #003D1C;
}

.cstm-header.elementor-sticky--effects .elementor-nav-menu--main .elementor-item {
    color: #4A4A4A !important;
}

.cstm-header.elementor-sticky--effects .open-txt .elementor-heading-title {
    color: #4A4A4A !important;
}

.cstm-header.elementor-sticky--effects .phone-link a:not(:hover) {
    border-color: #4A4A4A !important;
    color: #4A4A4A !important;
}

.elementor-sticky--effects .cstm-toggle svg {
    fill: #013d1c !important;
}

.cstm-mobile-menu span.sub-arrow svg {
    fill: #fff365;
}

.cstm-mobile-menu span.sub-arrow svg {
    fill: #fff365;
}

.cstm-mobile-menu .sub-menu {
    position: static !important;
    margin: 0 !important;
}

.circle {
  	display: block;
  	width: 1.4rem;
  	height: 1.4rem;
  	border-radius: 50%;
  	box-shadow: 0px 0px 1px 1px #21E847;
	background: #21E847;
}

.pulse {
  	animation: pulse-animation 2s infinite;
}

@keyframes pulse-animation {
  0% {
    box-shadow: 0 0 0 0px #21E847;
  }
  100% {
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
  }
}

@keyframes pulse-animation2 {
  0% {
    box-shadow: 0 0 0 0px #d6eabc;
  }
  100% {
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
  }
}

.pill-txt {
    display: inline-block;
    background-color: #D6EABB;
    color: #003D1C;
    border-radius: 43px;
    padding: 0.2rem 1.5rem 0.4rem;
}

.play-circle {
    background-color: #003D1C;
    width: 19rem;
    height: 19rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    padding: 2rem;
    position: relative;
	cursor: pointer;
}

.play-txt span, .play-txt span img {
    display: block;
    border-radius: 3rem;
}

.play-txt .pulse {
	animation: pulse-animation2 2s infinite;
}

.play-txt {
    color: #fff;
    font-size: 1.8rem;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0.1rem solid #fff;
    border-radius: 3rem;
    padding: 0.7rem 1rem;
    gap: 1.1rem;
    font-weight: 600;
    background: rgba(255,255,255,0.2);
}

.text {
	position: absolute;
	width: 90%;
	height: 90%;
	display: flex;
	justify-content: center;
	align-items: center;
	animation: textRotation 8s linear infinite;
	transform-origin: center center;
}

.text img {
	width: 100%; /* Ensures full scaling */
	height: auto;
}

@keyframes textRotation {
	0% {
	transform: rotate(0deg);
	}
	100% {
	transform: rotate(360deg);
	}
}

.services-slider .content-wrap {
    transition: .3s all ease;
}

.services-slider .more-link {
    opacity: 0;
}

.services-slider .service-wrap:hover .more-link {
    opacity: 1;
}

.services-slider .service-wrap:hover {
    box-shadow: 0px 3px 6px #00000029;
}

.services-slider .swiper-slide {
    padding: 5px;
}

.service-wrap > .e-con-inner {
    height: inherit !important;
}

.services-slider .elementor-widget-image img {
    transition: .3s all ease;
}

.services-slider .service-wrap:hover .elementor-widget-image img {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.services-slider .elementor-page-title {
    min-height: 5.8rem;
}

.services-prev a.elementor-icon,
.services-next a.elementor-icon{
    opacity: 0.2;
}

.services-prev a.elementor-icon:hover,
.services-next a.elementor-icon:hover{
    background-color: #D6EABB !important;
	opacity: 1;
}

.wp-gr:not(.wp-dark) .grw-review-inner.grw-backgnd {
    background-color: rgb(255 255 255 / 15%) !important;
    backdrop-filter: blur(30px);
    border-radius: 3rem !important;
    padding: 2.08vw !important;
    display: flex;
    flex-direction: column-reverse;
    gap: 4rem;
}

.grw-reviews {
    border-radius: 3rem;
}

.wp-gr.wpac a.wp-google-name {
    color: #fff !important;
    font-weight: 400 !important;
    font-size: 1.6rem !important;
}

.wp-gr:not(.wp-dark) .grw-review-inner.grw-backgnd * {
    font-family: 'Urbanist' !important;
}

.wp-gr .wp-google-text {
    font-size: 1.6rem !important;
    line-height: 1.3em !important;
}

.wp-gr .wp-google-time {
    color: #fff !important;
    font-size: 1.4rem !important;
}

.wp-gr .grw-review .wp-google-stars {
    display: none;
}

.wp-gr .grw-review-inner>svg {
    display: none;
}

.wp-gr .grw-reviews {
    margin: 0 -20% !important;
}

.testimonial-list .rpi-card-inner {
    border-radius: 3rem !important;
    background: rgba(255,255,255,0.2) !important;
    backdrop-filter: blur(30px);
    padding: 3rem;
}

.testimonial-list .rpi-content .rpi-info * {
    color: #fff !important;
}

.testimonial-list .rpi-text {
    color: #fff;
}

.testimonial-list .rpi-card-inner.rpi-logo::before, .testimonial-list .rpi-card-inner>.rpi-logos {
    display: none;
}

.testimonial-list .rpi-dot {
    background: #fff;
    opacity: 1;
}

.testimonial-list .rpi-dot.active {
    background: #fff365;
}

.slide-img1 .slick-slide,
.slide-img2 .slick-slide {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.faq-toggle span.e-n-accordion-item-title-icon {
    background-color: #D6EABB;
	min-width: 3.8rem;
    width: 3.8rem;
    height: 3.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3rem;
}

.page-banner {
	border-bottom-right-radius: 60px;
}

.page-banner:after {
	content: "";
    background: linear-gradient(180deg, rgba(21,21,21,0) 0%, rgba(21,21,21,1) 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    border-bottom-right-radius: 60px;
}

.cstm-dropdown {
    border: 1px solid rgb(74 74 74 / 34%);
    border-radius: 3rem;
    font-size: 1.6rem;
    padding: 1rem 3rem 1rem 1.4rem;
    max-width: 16.5rem;
    /* for Firefox */
    -moz-appearance: none;
    /* for Chrome */
    -webkit-appearance: none;
    background-image: url(/wp-content/uploads/2025/03/arrow-down.svg);
    background-repeat: no-repeat;
    background-position: 90% 50%;
}

.service-list .service-img .elementor-widget-container {
    overflow: hidden;
    border-top-left-radius: 3rem;
    border-top-right-radius: 3rem;
}

.service-list .elementor-widget-container img {
    transition: .7s all ease;
}

.service-list .service:hover .elementor-widget-container img,
.service-list .location:hover .elementor-widget-container img{
    transform: scale(1.1);
}

/* For IE10 */
.cstm-dropdown::-ms-expand {
  display: none;
}

.cstm-breadcrumb .elementor-inline-item:not(:last-child):after {
    content: "/";
    color: #D5CC32;
    border: 0 !important;
    height: 22px !important;
}

.cstm-breadcrumb .elementor-inline-item:last-child span {
	color: #47A62C !important;
}

.single-service .why-choose-sec,
.single-location .why-choose-sec{
    background: transparent !important;
}

.twentytwenty-overlay > div {
    opacity: 1;
}

.twentytwenty-overlay > div:before {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0;
    background: rgb(255 255 255 / 20%);
    border-radius: 50px;
    backdrop-filter: blur(30px);
    border: 2px solid #fff;
    line-height: 1em;
    padding: 0.7rem 2rem;
}

.single-service ul:not([class]) li,
.single-location ul:not([class]) li{
    position: relative;
}

.single-service ul:not([class]) li:before,
.single-location ul:not([class]) li:before {
    content: "\f00c";
    font-family: 'Font Awesome 6 Free';
    font-weight: 700;
    color: #003D1C;
    font-size: 9px;
    background-color: #D6EABB;
    min-width: 19px;
    width: 19px;
    height: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    position: absolute;
    left: 0;
    top: 3px;
}

.single-service ul:not([class]) li,
.single-location ul:not([class]) li {
    display: block;
    padding-left: 30px;
}

.single-service ul:not([class]),
.single-location ul:not([class]) {
    padding-left: 5px;
    padding-top: 1rem;
}

.single-location ul:not([class]):not(:last-child),
.single-service ul:not([class]):not(:last-child){
	padding-bottom: 3rem;
}

.single-service ul:not([class]) li:not(:last-child),
.single-location ul:not([class]) li:not(:last-child) {
    margin-bottom: 1rem;
}

.single-service .why-choose-sec:before,
.single-location .why-choose-sec:before {
    content: url(/wp-content/uploads/2025/03/logo-decor.png);
    position: absolute;
    top: -35%;
    right: -7%;
    width: 64rem;
    height: 64rem;
    margin-left: auto;
	z-index: -1;
}

.portfolio-box {
    transition: 0.8s all ease-in-out;
    background-size: 100% !important;
}

.portfolio-box:hover {
    background-size: 110% !important;
}

.portfolio-box:before {
    content: "";
    width: 100%;
    height: 50%;
    background: -moz-linear-gradient(360deg, rgba(21,21,21,0) 0%, rgba(21,21,21,0.7483368347338936) 100%);
    background: -webkit-linear-gradient(360deg, rgba(21,21,21,0) 0%, rgba(21,21,21,0.7483368347338936) 100%);
    background: linear-gradient(360deg, rgba(21,21,21,0) 0%, rgba(21,21,21,0.7483368347338936) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#151515",endColorstr="#151515",GradientType=1);
}

.single-post-content a {
    font-weight: 400;
    color: #47A62C;
    text-decoration: underline;
}

.single-post-content h2 {
    margin-top: 5%;
}

.single-post-content h3 {
    color: #47A62C;
    font-size: 2.6rem;
    margin-top: 4%;
}

div.gform_wrapper.gravity-theme .gform_fields {
    row-gap: 8px;
}

div.gform_wrapper.gravity-theme .gfield input.large {
    height: 5.3rem;
    font-size: 1.8rem;
    color: #003D1C;
    padding: 1rem 2.7rem;
}

div.gform_wrapper.gravity-theme .gfield input.large::placeholder,
div.gform_wrapper.gravity-theme .gfield textarea.medium::placeholder {
	color: #003D1C;
}

div.gform_wrapper.gravity-theme .gfield textarea.medium {
    background-color: #e9eeeb;
    border: 0;
    border-radius: 2.7rem;
    font-size: 1.8rem;
    color: #003D1C;
    padding: 1.2rem 2.7rem;
	height: 12.2rem;
	display: block;
}

div.gform_wrapper.gravity-theme .gfield input.large[type="file"] {
    height: 9rem;
    text-align: center;
    background: #F8F8F8;
}

span#gfield_upload_rules_1_10 {
    display: none;
}

div.gform_wrapper.gravity-theme .gform_footer {
    padding: 0;
    margin-top: 2.6rem;
}

div.gform_wrapper.gravity-theme .gform_footer input {
    width: 100%;
    height: 5.4rem;
    margin: 0;
    line-height: 1 !important;
    min-height: auto !important;
}

div#field_1_10 label:before {
    content: "Drop files here or ";
    font-size: 1.4rem;
    font-weight: 400;
    color: #003D1C;
}

div#field_1_10 label:after {
    content: "select files";
    font-size: 1.2rem;
    font-weight: 400;
    color: #000;
    background: #efefef;
    padding: 3px 5px;
    display: inline-block;
    border-radius: 3px;
    margin-left: 5px;
    border: 1px solid;
}

div#field_1_10 label {
    font-size: 0;
    background: #F8F8F8;
    height: 9rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2.7rem;
    margin-bottom: 0;
}

div#field_1_10 input {
    display: none;
}

.contact-form .gform_drop_area {
    border: none !important;
    border-radius: 2.7rem !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 !important;
}

.contact-form .gform_drop_instructions {
    font-size: 1.4rem;
    color: #003D1C;
    margin: 0 !important;
}

.contact-form .gform_button_select_files {
    background: #efefef;
    text-transform: lowercase;
    font-size: 1.3rem;
    font-weight: 600;
    color: #000;
    border-radius: 2px;
    border: 1px solid #999;
    padding: 4px 5px;
}

.contact-form .ginput_preview_list {
    font-size: 1.4rem;
}

.contact-form .ginput_preview_list .ginput_preview {
    margin: 1rem 0 0 !important;
}

.contact-form .ginput_preview_list .gfield_fileupload_cancel {
    font-size: 1.4rem !important;
}

.contact-form span.gfield_fileupload_progress {
    margin-right: 3px;
}

.contact-form .ginput_preview_list .gform-theme-button {
    padding: 0;
}

.hs-form-field .input input,
.hs-form-field .input textarea {
    width: 100% !important;
    display: block;
}

.hs-fieldtype-textarea.hs-input {
    height: 12rem;
}

.hs-form-field label {
    color: #003d1c;
    margin-bottom: 10px;
}

fieldset.form-columns-1,
fieldset.form-columns-2 {
    margin-bottom: 10px !important;
	max-width: 100% !important;
}

.actions input[type="submit"] {
    width: 100%;
}

@media screen and (max-width: 1366px) and (min-width: 1025px) {
html {
    font-size: 52.5%;
}
}

@media screen and (max-width: 1520px) and (min-width: 1367px) {
.cstm-header .elementor-button-link {
    font-size: 1.4rem !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
}

.open-txt .elementor-widget-container {
    padding: 1rem 1.2rem !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cstm-menu .elementor-item {
    padding: 3px 10px !important;
}
}

@media screen and (max-width: 767px) {
    .wp-gr .grw-reviews {
        margin: 0 -100% 0 -95% !important;
        gap: 10px !important;
    }
	
	.wp-gr:not(.wp-dark) .grw-review-inner.grw-backgnd {
		padding: 4rem !important;
	}
	
	.why-choose-icons .e-con-inner {
        display: flex;
        flex-wrap: wrap;
        gap: 5rem 10%;
        justify-content: center;
    }
	
	.why-choose-icons .elementor-widget-container {
		height: auto !important;
	}

.why-choose-icons .elementor-element {
    width: 45%;
}

.why-choose-icons .elementor-element:last-child {
    width: 100%;
}

.why-choose-icons .elementor-element:last-child .elementor-icon-box-content {
    max-width: 140px;
    margin: 0 auto;
}
	
.play-circle {
    width: 10.5rem;
    height: 10.5rem;
    padding: 1rem;
}

.play-txt img {
    width: 2.1rem;
}

.play-txt {
    font-size: 1.1rem;
    gap: 0.8rem;
    padding: 0.3rem 0.5rem;
}

.roof-slider .slick-list {
    margin: 0 -85%;
}

.roof-slider img {
    height: 22.6rem;
	object-fit: cover;
}

.roof-slider .slick-slide {
    padding: 0.5rem 1rem;
}
	
.services-slider .elementor-page-title {
    min-height: auto;
}
	
.services-slider .more-link {
    opacity: 1;
}
	
.twentytwenty-overlay > div:before {
    font-size: 1.2rem;
    padding: 0.7rem 1rem;
}

.portfolio-box,
.portfolio-box:hover {
    background-size: cover !important;
}
	
.gform_wrapper.gravity-theme .gfield textarea.medium,
.gform_wrapper.gravity-theme .gfield input.large {
	padding: 1rem 2rem;
	font-size: 1.6rem;
}
}

@media screen and (max-width: 500px) {
.testimonial-list .rpi-card-inner {
    padding: 2rem;
}
}

@media screen and (max-width: 360px) {
.elementor-kit-7 h2 {
    font-size: 2.4rem;
}

.elementor-kit-7 h3 {
    font-size: 2rem;
}
}