/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
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
*/

/* --- GLOBAL STYLES --- */

a {
    color: #1da1f2;
}

.swiper-wrapper {
	z-index: 0;
}

.comments-area a, .page-content a {
    text-decoration: none;
}

.gform_required_legend {
    display: none;
}

.columns-3 {
    column-count: 3;
}

@media only screen and (max-width: 768px) {
    .columns-3 {
        column-count: 2;
    }
}

ul {
    margin-block-end: 1.4rem;
}

.dark-section a {
    color: white;
}

.dark-section a:hover {
    text-decoration: underline;
}


/* --- CC PAGE --- */

.blurred-border {
    position: relative;
}

.blurred-border::after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 100%;
    top: 0;
    right: 0;
    backdrop-filter: blur(4px);
    background-color: color-mix(in srgb, var( --e-global-color-primary ) 80%, #ffffff87);
}

@media only screen and (max-width: 768px) {
    .blurred-border::after {
        width: 100%;
        height: 20px;
        bottom: 0;
        top: initial;
        right: 0;
    }
}

.cc-hero .btn-primary {
	background-color: var( --e-global-color-accent );
	border-color: var( --e-global-color-accent );
	padding: 10px 25px;
	font-weight: 600;
}

.service-block-row .e-con{
    transition: 0.2s;
}

.elementor-shape .elementor-shape-fill {
    -webkit-transform: none;
    transform: none;
}

.light-accordion :is(.elementor-tab-title, .elementor-tab-content) {
    margin: 14px 0 !important;
    border-radius: 9px;
    border: 1px solid var( --e-global-color-text ) !important;
}

.service-block .fa-arrow-right {
    transition: 0.2s;
    position: relative;
    top: -1px;
    font-size: .8rem;
}

.service-block:hover .fa-arrow-right,
.elementor-button:hover .elementor-button-icon {
    transform: translateX(3px);
}

.phone-btn .elementor-button:hover .elementor-button-icon {
    transform: translateX(0) rotate(15deg);
}

.elementor-button-link .elementor-button-icon {
    transition: 0.2s;
}

.service-block p {
    text-wrap: pretty;
}

/* --- SIDEBAR --- */



.sidebar-form fieldset#field_3_5 {
    text-align: left;
}

.sidebar-form  .gfield_label_before_complex {
    text-align: left;
}

input[type=submit] {
    border: none;
    padding: 8px 30px;
    color: #fff;
    font-size: 1rem;
    border-radius: 5px;
    margin: 0 auto;
    display: block;
    cursor: pointer;
    font-weight: 500;
    letter-spacing: .5px;
    width: 100%;
}

.sidebar-form .gform_footer.top_label {
    padding: 0;
}

.sidebar a.cr-phone {
	margin: auto;
}

textarea#input_3_4 {
    border-radius:  5px;
}

.elementor-kit-8 input[type="submit"] {
    background: var( --e-global-color-accent);
    font-size: 1.2rem;
    padding: 11px;
}

.elementor-kit-8 img {
border-radius:unset!important;
}
.gform_wrapper.gravity-theme .ginput_container :is(input, textarea) {
    font-size: 1rem !important;
    font-weight: 600;
    background-color: #fff;
    border: 1px solid var( --e-global-color-text );
    padding: 15px !important;
    border-radius: 12px;
    outline-color: var( --e-global-color-secondary );
}

.gform_wrapper.gravity-theme .ginput_container :is(input, textarea)::placeholder {
    color:#000;
    font-weight: 400;
}

legend.gfield_label.gform-field-label.gfield_label_before_complex {
    float: none;
    display: flex;
}

.gchoice {
    display: flex;
}

/* --- CHILD PAGE --- */

h3.geo {
    font-size: 1rem;
    font-family: var( --e-global-typography-secondary-font-family ), sans-serif;
    color: #A1AEB3;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

h3.geo::before {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    content: '\f3c5';
    margin-right: 7px;
}

.page-template-default h3.geo::before {
    color: var( --e-global-color-accent );
}

.page-template-default .modal-img > .elementor-widget-container {
    margin: 0 !important;
}

.page-template-default .modal-img img {
    width: 240px !important;
    max-width: 240px !important;
    height: 240px !important;
}

.page-template-default .modal-block {
    margin-bottom: 30px !important;
    border-radius: 0 0 12px 12px !important;
}

.page-template-default .modal-block > .e-con-inner {
    padding: 30px 0 !important;
}

.page-template-default .modal-block .elementor-heading-title:first-of-type {
    font-size: 1.9rem !important;
}

a.parent-post {
    font-weight: 600;
    font-size: 1.1rem;
}

a.parent-post:before {
    content: "‹ ";
}

figure.alignright.wp-block-post-featured-image {
    max-width: 350px;
}

/* --- CONTACT PAGE --- */


/* --- MODAL BLOCK --- */

button#myModal-launch {
    background-color: var( --e-global-color-accent );
    padding: 10px 30px;
    font-weight: 600;
    border: none;
    transition: 0.2s;
		color: #fff;
}

button#myModal-launch:hover {
    filter: contrast(1.1);
}

.modal {
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
}

.modal.fade:not(.show) {
    opacity: 1 !important;
}

.modal-backdrop.in {
    opacity: .5 !important;
}

.modal-header button.close {
	color: #000;
}

.modal-header button.close:hover {
	color: grey!important;
}

/* --- REVIEW PAGE --- */

.wp-block-button__link.has-white-color {
    color: white;
}

/* --- MODAL WINDOW --- */

.modal-popup .gform_wrapper.gravity-theme .ginput_container input {
    background: white;
}

.modal-popup .dialog-message.dialog-lightbox-message {
    overflow-x: hidden;
}

.modal-popup fieldset.consent-checkbox-field {
    color: #ffffffcc;
    margin: 10px 0;
    display: block;
}

.gform_wrapper.gravity-theme legend.gfield_label {
    font-size: 0.8rem;
    margin-bottom: 3px;
}

.gform_wrapper.gravity-theme div.gfield_checkbox label {
    line-height: 1.5;
    font-size: 0.8rem;
    margin-left: 5px;
}

.modal-popup input[type="submit"] {
    background-color: var( --e-global-color-accent );
}

/* --- Pop-UP WINDOW --- */

h3#modalLabel:before {
	content: url(https://cityranked.com/wp-content/uploads/2021/08/CRlogo-2021-e1628875355902.png);
}

h3#modalLabel {
    color: #333333;
	margin-bottom: 40px;
	 font-size: 1.6rem;
    font-weight: bold;
}

ul#gform_fields_1 input {
    font-weight: 600 !important;
    color:#7a7a7a !important;
    border-radius: 6px !important;
    background: #f8f9fa;
}

.modal-header {
	background: #f8f9fa;
}

input#input_10_1, input#input_10_2, input#input_10_5, input#input_10_7, input#gform_submit_button_10 {
    font-weight: 600;
}

.modal-block {
	background: #0066bb;
}

[type=submit]:hover, [type=button]:hover {
    background-color: #000;
}

/* --- GEOBLOCK --- */

.geo-block-inner {
    background: #ebf3f2;
	padding: 80px 20px 40px;
}
 
h3.gb-cities-col {
    line-height: 1.6;
    font-family: var( --e-global-typography-secondary-font-family ), sans-serif;
    text-transform:  none;
    font-weight: 500;
    font-size: 1rem;
}

.gb-buttons a {
    background: var( --e-global-color-primary );
	color: white;
    border-radius: 12px;
    padding: 12px;
    letter-spacing: 0;
    text-transform: none;
}

.gb-title h2 {
    font-size: 1.2rem;
    line-height: 1.1;
}

.geo-subhead {
    color: var(--e-global-color-primary);
    font-weight: 500;
}

/* --- FOOTER --- */

.footer-shortcode button#myModal-launch {
    display: none;
}

span.fn.org {
    color: #ffffff61;
    font-weight: 600;
}

a.cr-phone {
    background: var(--e-global-color-accent);
    color: white;
    padding: 7px 20px;
    display: block;
    width: fit-content;
    border-radius: 3px;
    font-weight: 600;
    font-size: 1rem;
    transition: 0.2s;
}

.subfooter a {
	color: #FFFFFF80;
}

.subfooter a:hover {
	color: white;
}

#wprev-badge-1 {
    margin: 0;
    border: 0;
    padding: 0;
}

.wppro_badge1_DIV_2, #wprev-badge-1 .wppro_badge1_DIV_12 {
font-family: var( --e-global-typography-secondary-font-family ), sans-serif !important;
}

a.wppro_badge1_A_14 {
    font-size: inherit;
}

.wppro_badge1_DIV_stars span.svgicons {
    width: 18px;
    height: 18px;
}

.wppro_badge1_DIV_stars.b3s6 {
    margin-top: 0;
}

.wprevpro_badge a {
    color: inherit;
    font-weight: 500;
}



.wprevpro_badge > div > span {
    font-weight: 600;
}

/* --- 404 PAGE --- */


/* ############################################################## */
/* Global CSS styles to fix form validation from breaking layouts */
/* ############################################################## */

/* Hides error messages from view - screen readers can still see */
.gfield_validation_message, .validation_message {
     border: 0;
     clip: rect(0 0 0 0);
     height: auto;
     margin: 0;
     overflow: hidden;
     padding: 0;
     position: absolute;
     width: 1px;
     white-space: nowrap;
}
/* Error summary section */
.gform_wrapper.gravity-theme .gform_validation_errors {
    background:#c02b0a !important;
}

.gform_wrapper.gravity-theme .gform_validation_errors h2 {
   color:#fff !important;
    font-size:.8rem !important;
}
/* red border around inputs with issues */
.gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
    border: 1px solid #c02b0a !important;
}
/* ######## */
/* Legacy form code */
/* ######## */

.gform_legacy_markup_wrapper .gform_validation_errors {
    padding:5px !important;
    background:#c02b0a !important;
}

.gform_legacy_markup_wrapper .gform_validation_errors h2 {
   color:#fff !important;
    font-size:.8rem !important;
}

.gform_legacy_markup_wrapper .gfield_error [aria-invalid=true] {
    border: 1px solid #c02b0a !important;
}
.gfield_contains_required {background: none !important;border: none !important;margin-top: 0px !important;padding: 0 !important;}

.gform_legacy_markup_wrapper .gform_validation_errors>h2:before {
    vertical-align:middle !important;
}

.gform_legacy_markup_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
        max-width: 100% !important;
}
.gform_legacy_markup_wrapper ul li.gfield  {
   padding-top:0px !important;
   margin-top:0px !important;
}

/* ############################################################## */

/* --- RESPONSIVE --- */

@media only screen and (max-width: 760px) {
	
	figure.alignright.wp-block-post-featured-image {
    margin: 0 auto 20px;
    float: none;
 }
}
.gallery-item {
border-radius:10px;
border:1px solid var(--e-global-color-accent);
}
.related-products img {
filter:invert();
}
.topo-lines {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='340' viewBox='0 0 560 340'%3E%3Cg fill='none' stroke='%230f3f66' stroke-opacity='0.07' stroke-width='1.15'%3E%3Cpath d='M0 85C78.4 27 168 148.8 280 85C392 21.2 481.6 143 560 85'/%3E%3Cpath d='M0 255C78.4 211 168 303.4 280 255C392 206.6 481.6 299 560 255'/%3E%3C/g%3E%3C/svg%3E")!important;
background-repeat: repeat!important;
background-size: 560px 340px!important;
}
.blue-dots {
    /* blue, for the white cards */
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Ccircle cx='2' cy='2' r='1.35' fill='%231a6cae' fill-opacity='0.36'/%3E%3C/svg%3E")!important;

}
.white-dots {
    /* white, for the dark card: swap fill to %23ffffff, opacity 0.4 */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Ccircle cx='2' cy='2' r='1.35' fill='%23ffffff' fill-opacity='0.4'/%3E%3C/svg%3E")!important;
}

.gform_button {
background-color:var(--e-global-color-accent)!important;
border: 1px solid var(--e-global-color-hover-green)!important;
}
.elementor-kit-8 input[type="submit"]:hover {
    background: var(--e-global-color-hover-green);
}

.subfooter a {
font-size:12.5px;
}
a.elementor-button.elementor-button--checkout.elementor-size-md {
background-color:var(--e-global-color-accent);
font-family: 'Archivo';
font-weight:bold;
border-radius:5px;
}

a.elementor-button.elementor-button--checkout.elementor-size-md:hover {
background-color:#358F66;
}
.elementor-menu-cart__toggle .elementor-button:hover, a#elementor-menu-cart__toggle_button:focus {
background-color:unset;
border:none;
}
.elementor-kit-8 .elementor-button {
background-color:transparent
}
.mobile-only {
display:none!important;
}
.mobile-only a {
background-color:var(--e-global-color-accent)!important;
color:white!important;
}
.mobile-only a:hover {
background-color:var(--e-global-hover-green)!important;
}

.pewc-group-wrap h4 {
font-size:15px!important;
color: var(--e-global-color-primary)!important;
font-family:'Archivo'!important;
}

.pewc-group-wrap h3 {
font-size:18px!important;
color: var(--e-global-color-primary)!important;
}

.pewc-group-heading-wrapper h3 {
margin-bottom:unset;
}
.related-products img {
width:150px!important;
}
.elementor-element.elementor-element-dd81386.anniversary-number.elementor-widget.elementor-widget-shortcode {
color:#D5E3EF;
font-family:'Archivo';
font-size:11.5px;
font-weight:600;
text-transform: uppercase;
letter-spacing:1.6px;
}
/* Hide the original text */
.related-products section.related > h2 {
    visibility: hidden;
    position: relative;
}

/* Inject the new text */
.related-products section.related > h2::after {
    content: "More Options";
    visibility: visible;
    position: absolute;
    left: 0;
    top: 0;
}
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.wc-block-components-checkout-place-order-button--full-width.contained:hover {
    background-color: var(--e-global-color-primary);
    border: none;
}

button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.wc-block-components-checkout-place-order-button--full-width.contained {
border:none;
}


@media only screen and (max-width:768px){
	.mobile-only {
display:block!important;
}
}