/* 
Theme Name: Kraken Cleaning
Theme URI:  https://www.krakencleaning.co.uk
Description: Custom Wordpress Theme For Kraken Window Cleaning
Author: Alan Jones (First4IT Solutions Limited)
Author URI: https://www.first4it.com
Template: hello-elementor
Version: 1.0.7
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
*/

/**************/
/* Typography */
/**************/
 
html {font-size: 112.5%; scroll-behavior: smooth;} /*18px*/

/* CSS Font Clamping for Responsive Text */
h1 { font-size: clamp(2.369rem, 2.0686rem + 1.502vw, 4.209rem) !important;}
h2 { font-size: clamp(1.777rem, 1.5517rem + 1.1265vw, 3.157rem);}		
h3 { font-size: clamp(1.333rem, 1.1639rem + 0.8457vw, 2.369rem);}
h4 { font-size: clamp(1.333rem, 1.2605rem + 0.3624vw, 1.777rem);}
h5 { font-size: clamp(1.2rem, 1.1783rem + 0.1086vw, 1.333rem);}

.blox-boxed-small-square-icon-box-heading {font-size: clamp(1.2rem, 1.1783rem + 0.1086vw, 1.333rem) !important;}

.elementor-kit-9 {
--e-global-typography-7d0aaee-font-size: clamp(1.0625rem, 0.9503rem + 0.5612vw, 1.75rem); /* Hero Strapline */
--e-global-typography-3ac21e6-font-size: clamp(1rem, 0.9796rem + 0.102vw, 1.125rem); /* Small Text */
}

#strapline h2 {
	font-size: clamp(1.333rem, 1.1639rem + 0.8457vw, 2.369rem);
}

/***************/
/* Link Styles */
/***************/

/* Blue Text For Span */
.blue-text { color: #2B95FF; }

/* Link on Dark Background */
.elementor-kit-9 .link-on-dark:hover, .elementor-kit-9 .link-on-dark:visited { color: #fff; }

/* Link on White Background */
.elementor-kit-9 .link-on-pale { color: #000000; }
.elementor-kit-9 .link-on-pale:hover { color: #2b95ff; }

/* Offset When Scrolling To Anchor For Fixed Header As Anchor Disappears Under Header */
.anchoroffset { scroll-margin-top: 8rem;}

/* Add Icon To External Links */
a[target="_blank"]:not(.affiliate-link):not(.internal-link):not(.elementor-icon):not(.manual-external-link a):not(.manual-external-link):not(.bdt-logo-carousel-link):not(.wpsr-reviews-slider a):not(.ue_menu-social-icons a):not(.cky-policy):after {
   font-family: "Font Awesome 5 Free";
   content: " \f35d";
   padding-left: 3px;
   /* Must include font-weight: 900 or icons don't show */
   font-weight: 900;
}

/*****************/
/* Button Styles */
/*****************/

/* Remove Margin On Last Button */
.cky-btn:last-child {
	margin-right: 0px !important;
}

/* Button Hover Styling */
.cky-consent-bar button:hover {
	border: 1px solid #2178CF !important;
	color: #ffffff !important;
	background-color: #2178CF !important;
	opacity: 1;
}

/* Button Active State Color */
.elementor-kit-9 .elementor-button:focus {
	background-color: #2178cf !important;
	color: #fff !important;
}

/* Font Size Clamping For Button */
.elementor-kit-9 .elementor-button { font-size: clamp(0.875rem, 0.8546rem + 0.102vw, 1rem); }

/* Add Pulse Animation Effect To Buttons */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

.btn-pulse {
  display: inline-block;
  animation: pulse 1.5s infinite; /* Pulsing effect */
  transition: transform 0.3s ease; /* Smooth transition */
}

/*************************/
/* Popup - 4th Week FREE */
/*************************/

/* Elementor Popup Close Button Does Not Allow Styling Of Border Radius Color or Padding */
.week4free .dialog-close-button { 
	border-radius: 25px;
    padding: 5px !important;
    border: 3px solid #fff;
}

.week4free .dialog-close-button svg:hover {
	fill: #fff !important;
}

.week4free .dialog-close-button:focus {
	outline: 0;
}

/********************/
/* Plugin Overrides */
/********************/

/* =============================*/
/* Premium Addons For Elementor */
/* =============================*/

/* Premium Addons Contact Form 7 Widget - Remove Label Top Padding */
.elementor-widget-premium-contact-form:not(.premium-cf__preset1) label {
	padding-top: 0px;
}

/* Styling For Unfold Widget H3 Embedded Content */
.premium-unfold-content-wrap h3 { margin: 15px 0px 5px 0px; }

/* Maps Widget */
.premium-maps-container .gm-style-iw-d {
	overflow: scroll !important;
}

/* =================================*/
/* Unlimited Elements For Elementor */
/* =================================*/

/* Styling For Unlimited Elements Business Hours Text Colour As No Widget Parameter To Change This
   And It Inherits #333333 From The Hello Theme */
#uc_business_hours_elementor_de0797c .ue_business_hours_list_item_title,
#uc_business_hours_elementor_de0797c .ue_business_hours_list_item_text {
	color: #fff;
}

/* ==================================*/
/* Element Pack Addons For Elementor */
/* ==================================*/

/* Element Pack Addons For Elementor - Accordion Title Text To Close To Open/Close Button */
.bdt-ep-title-text {
	width: 90% !important; 
}

/* Add Custom Number To Top Right Hand Corner Of Icon As BD Themes Step Process Widget
   Does Not Look Good On Mobile in Two Columns - So We Make Our Own Using Containers */
.corner-number-holder { position: relative; }

.corner-number-holder > .corner-number {
  background-color: var( --e-global-color-uicore_primary );
    color: #FFFFFF;
    font-family: "futura-pt", Sans-serif;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.5em;
    padding: 5px 5px 5px 5px;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-radius: 20px 20px 20px 20px;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 50%);
    min-width: 35px;
    min-height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute; 
    top: -10px;
    right: -5px; 
    z-index: 1;
}

/* ===============*/
/* Cookie Consent */
/* ===============*/

/* Cookie Consent - Add Border To Buttons */
.cky-notice-btn-wrapper .cky-btn {
	border: 1px solid;
	background-color: #2B95FF !important;
	color: #ffffff !important;
}

/* Add Spacing on Cookie Consent Plugin Accept All Button */
.cky-btn-accept { margin-top: 10px !important; }
.cky-btn:last-child { margin-right: 10px !important; }
.cky-consent-bar .cky-banner-btn-close img { width: 15px !important; height: 15px !important; margin-top: 5px !important; }
.cky-notice-des * { font-size: 0.8rem !important; }

/* =========*/
/* Chataway */
/* =========*/

/* Override Chataway Bubble Position So It Sits Above Scroll To Top Icon - Plugin Does Not Let You Move Position */
.chatway--container .chatway--trigger-container {
	bottom: 80px !important;
}

/* ======================*/
/* SureForm Form Builder */
/* ======================*/

#srfm-form-10630 .srfm-description
{
	font-size: 0.85rem !important;
}

#srfm-form-10630 .srfm-multi-choice-block .srfm-description {
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}
#srfm-form-10630 .srfm-page-break-header-container {
	margin-bottom: 0px !important;
}

#srfm-form-10630 .srfm-block-label, 
#srfm-form-10630 .srfm-block-legend, 
#srfm-form-10630 .srfm-page-break-header-container .srfm-page-break-steps .srfm-steps-content, #srfm-form-10630 .srfm-form-container .srfm-block .srfm-description,
#srfm-form-10630 .srfm-multi-choice-block .srfm-block-wrap .srfm-multi-choice-single .srfm-block-content-wrap label {
	font-size: 1rem !important;
}

#srfm-form-10630 .srfm-button,  
#srfm-form-10630 .srfm-page-break-buttons .srfm-nxt-btn, 
#srfm-form-10630 .srfm-page-break-buttons .srfm-pre-btn {
	border: none !important;
	font-weight: bold;
}

#srfm-form-10630 .srfm-page-break-buttons .srfm-pre-btn {
	background-color: #1e1e1e1a !important;
}

#srfm-form-10630 .srfm-page-break-buttons .srfm-pre-btn:hover {
	background-color: #d5d8dc !important;
	color: #000000;
}

#srfm-form-10630 .srfm-multi-choice-single input:checked+.srfm-block-content-wrap {
	background-color: #2b95ff !important;
	color: #fff !important
}
#srfm-form-10630 .srfm-page-break-buttons .srfm-nxt-btn, 
#srfm-form-10630 .srfm-submit-button  {
	background-color: #2b95ff !important;
}

#srfm-form-10630 .srfm-page-break-buttons .srfm-nxt-btn:hover,
#srfm-form-10630 .srfm-submit-button:hover {
	background-color: #2178CF !important;
}

/* Completed Step Counter Set To Green Not Grey */
.srfm-page-break-header-container .srfm-page-break-progress-container .srfm-progress-connector li.filled .srfm-circle-shape {
	background-color: #1CA739 !important;
}

/* Fix For Missing Gap Declaration In .srfm-page-break Class */
#srfm-form-10630 .srfm-page-break {
gap: var(--srfm-column-gap-between-blocks);
}

.srfm-icon .srfm-multi-choice-icon-unchecked
#srfm-form-10630 .srfm-icon .srfm-multi-choice-icon-unchecked svg path {
	stroke: black !important;
}

/* Multi Select Checked (White) */
#srfm-form-10630 .srfm-multi-choice-icon svg path {
  stroke: white !important;
}

/* Multi Select Un-Checked (Black) */
#srfm-form-10630 .srfm-multi-choice-icon-unchecked svg path {
  stroke: black !important;
}

#srfm-form-10630 .srfm-page-break-header-container .srfm-page-break-progress-container .srfm-progress-connector li .srfm-circle-text {
	font-size: 1rem !important;
}

#srfm-form-10630 .srfm-input-common {
	font-size: 1rem !important;
}

/* ========*/
/* WPForms */
/* ========*/

/* Override For Submit Button */
.wpforms-form input[type=submit],
.wpforms-form button[type=submit] {
    font-family: "proxima-nova", Sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    line-height: 0 !important;
	height: 51px !important;
    letter-spacing: 0em !important;
    color: #FFFFFF !important;
    background-color: #2b95ff !important;
    border-style: none !important;
    border-radius: 6px 6px 6px 6px !important;
    padding: 17px 30px 17px 30px !important;
}
/* Override For Submit Button Hover */
.wpforms-form input[type=submit],
.wpforms-form button[type=submit]:hover {
	background-color: #2178cf !important;
}

/* ==============*/
/* WP Simple Pay */
/* ==============*/

/* WP Simple Pay Style Override For Text Field As Width Does Not Match Stripe Fields And We Cannot Change These
   Which Make The Form Look Ugly */

.simpay-styled .simpay-form-control input[type=text], 
.simpay-styled .simpay-form-control input[type=email],
.simpay-styled .simpay-form-control input[type=tel]
{
	width: 392px !important;
	padding: 8px !important;
}

.simpay-styled .simpay-form-control .simpay-btn:not(.stripe-button-el) {
	background-color: #2b95ff !important;
	border-radius: 6px 6px 6px 6px !important;
	padding: 15px 30px 15px 30px !important;
	width: 300px !important;
	height: 52px !important;
	font-weight: 700 !important;
}

.simpay-styled .simpay-form-control .simpay-btn:not(.stripe-button-el):hover {
	background-color: #2178CF !important; 
}

/********************************/
/* Custom Contact Form 7 Styles */
/********************************/

/* Remove Border From Fields */
/*input[type=date], input[type=email], input[type=number], input[type=password], 
input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea
{ border: none; }

input[type=date]:focus, input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, 
input[type=text]:focus, input[type=url]:focus, select:focus, textarea:focus {outline: none; }
*/

/* Change Color of Placeholder Text */
/*.wpcf7-form .wpcf7-form-control-wrap .wpcf7-textarea,
.wpcf7-form .wpcf7-form-control-wrap input { color: #999 !important; }
*/

/* Error Sensing Message */
/*.wpcf7 form.spam .wpcf7-response-output {
	background-color: #f56e28
}
*/

/* Warning message */
/*.wpcf7 form.invalid .wpcf7-response-output {
    background-color: #ffb900;
}
*/

/* Success Message */
/*.wpcf7 form.sent .wpcf7-response-output {
    background-color: #46b450;
}*/

/* Redefine Default Output Message Format */
/*.wpcf7 form .wpcf7-response-output { 
    text-align: center !important;
    margin: 10px 0 0 0 !important;
    font-size: 1rem !important;
    line-height: 1.1rem !important;
    color: #ffffff !important;
}*/

/* Hide Spinner on Form Submission */
/*.wpcf7-spinner { display: block !important; display: none !important;}

/* Reduce CloudFlare Turnstile Bottom Margin */
/*.cf7-cf-turnstile { margin-bottom: -25px !important }

/**************************/
/* Material Design For CF7 /
/**************************
#cf7md-form .mdc-button {
	text-transform: none;
	border-radius: 4px;
	padding: 17px 30px;
	letter-spacing: 0;
	line-height: 0;
	font-size: 1rem;
}

#cf7md-form .mdc-button--raised:disabled {
    border-radius: 4px;
    border: 2px solid #2b95ff;
    box-shadow: none;
    background-color: #ffffff;
    color: #2b95ff;
    padding: 17px 30px;
}

#cf7md-form .mdc-button--raised, #cf7md-form .mdc-button--raised:active {
    box-shadow: none;
    border: 2px solid #2b95ff;
}

#cf7md-form .mdc-button--raised:hover, #cf7md-form .mdc-button--raised:focus {
    color: #ffffff;
    box-shadow: none;
}

/* Override Font 
#cf7md-form .cf7md-item, #cf7md-form input, #cf7md-form label, #cf7md-form textarea, #cf7md-form p, 
#cf7md-form .mdc-select, #cf7md-form.cf7md-form+.wpcf7-response-output, #cf7md-form .wpcf7-not-valid-tip,
#cf7md-form .cf7md-card-title, #cf7md-form .cf7md-card-subtitle, #cf7md-form .mdc-button, #cf7md-form .mdc-floating-label, 
#cf7md-form .mdc-text-field-helper-text, #cf7md-form .mdc-text-field__input, #cf7md-form .mdc-select__native-control, #cf7md-form .mdc-form-field {
font-family: proxima-nova !important; 
font-size: 1rem;
}

#cf7md-form .mdc-form-field label[for="cf7md1"] {
	font-size: 0.9rem;
}

#cf7md-form .mdc-text-field--outlined .mdc-floating-label {
	top: 13px;
}
	
#cf7md-form .mdc-text-field .mdc-floating-label {
	top: 14px;
}*/

/* Add Spacing For GDPR Acceptance */
/*.wpcf7-list-item { margin: 10px 0 10px 0; }
.wpcf7-quiz-label { display: block; margin-top: 10px; }*/

/***************/
/* Misc Styles */
/***************/

/* Class Used To Hide The Input Field Added To The DOM Because The Mobile
   Menu Icon Uses A Input Field With No Label 
   <input class="checkbox-toggle" type="checkbox" name="Mobile Menu Toggle">
   That Make Google PageSpeed Insights Report The Label Missing Reducing Accessibility
   Score. You Cannot Have An Empty Label Field So This Works Around This. */ 
.visually-hidden {
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
  border: 0;
  padding: 0;
  margin: 0;
}

/* Custom CSS To Add 1,2,3 FREE Round Numbered Buttons On Home Page */
.kraken-promo-steps {  display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;\n  margin: 0;
    font-size: 1.2rem;
    font-weight: bold;
    font-family: 'Segoe UI', sans-serif;
}
.kraken-promo-steps .step {
    background-color: #2B95FF;
    color: #fff;
    padding: 0.4rem 0.8rem;
    border-radius: 100px;
    border: 3px solid #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.kraken-promo-steps .check {
    background-color: #d4edda;
    color: #155724;
    border-radius:8px;
	font-size: 1rem;
}

/* Styling For TrustPilot Star Sizes In Testimonial Slider */
.elementor .owl-carousel .owl-item .trustpilot_stars {
	width: 50%;
    height: auto; /* preserves aspect ratio */
	margin: 0 auto;
	margin-top: 10px;
	margin-bottom: 10px;
}

/* Add Custom Background Circle and Drop Shadow For Specified Icons */
.circle-background > .elementor-widget-container > .elementor-icon-wrapper {
    color: var( --e-global-color-uicore_primary );
    background-color: var( --e-global-color-7923410 );
    border-radius: 100px 100px 100px 100px;
    overflow: hidden;
    padding: 15px 15px 15px 15px;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 50%);
    font-size: 50px;
    width: 100%;
    transform: rotate(0deg);
} 

/* Remove Bottom Margin From Footer Copyright */
.no_paragraph_bottom_margin p { margin-bottom: 0px; }

/* Remove Margin From Paragraph Last Child */
.elementor-widget-text-editor p:last-child { margin-bottom:0px !important;}

/* Pricing Green Tick Boxes Equal Height */
.blur .blox-boxed-small-square-icon-box-heading { height: 80px; }

/* Highlight Parent Menu Item When Submenu Is Selected */
.current-menu-parent > a, .current-menu-item a { color: #2B95FF !important; }

/* Testimonial Text of Current Item Set as Widget Does Not Allow Colour Setting */
.owl-item.uc-active-item .ue-text p, .owl-item.uc-active-item .ue_subtitle  { color: #fff !important; }

/**************************************/
/* Let it snow! - For Christmas Only! */
/**************************************/
.snow-bg {
   position: relative;
}

.snow-bg:after {
   content: '';
   display: block;
   position: absolute;
   z-index: 2;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   pointer-events: none;
   background-image: 
	   url('https://www.krakenwindowcleaning.co.uk/windowclean/wp-content/uploads/2022/12/s1.png'), 			
	   url('https://www.krakenwindowcleaning.co.uk/windowclean/wp-content/uploads/2022/12/s2.png'), 
	   url('https://www.krakenwindowcleaning.co.uk/windowclean/wp-content/uploads/2022/12/s3.png');
   	   animation: snow 10s linear infinite;
}

@keyframes snow {
 0% {background-position: 0px 0px, 0px 0px, 0px 0px;}
 50% {background-position: 500px 500px, 100px 200px, -100px 150px;}
 100% {background-position: 500px 1000px, 200px 400px, -100px 300px;}
}

/****************************************/
/* Policies Pages - HTML Element Styles */
/****************************************/

ol {
	margin-bottom: 40px;
	padding-left: 0px;
	list-style-position: inside;
}

ol li {
	font-family: "futura-pt";
	font-size: clamp(1.333rem, 1.2605rem + 0.3624vw, 1.777rem);
	color: #2b95ff;
        margin-top: 18px;
	margin-bottom: 18px;
	text-indent: -24px;
	margin-left: 24px;	
}

ol > ol {
	margin-top: 0px;
	margin-bottom: 20px;
}

ol > ol > li {
	margin-top: 5px;
	list-style: none;
	color: #000;
	text-indent: -20px;
	margin-left: 40px;
	margin-bottom: 5px;
	font-family: "proxima-nova";
	font-size: 1rem;
}

/* Style Dots Before Item */
ol > ol > li::before {
  display: inline-block;
  content: ' ';
  height: 10px;
  width: 10px;
  background-color: #000;
  border-radius: 50%;
  margin-right: 10px;
}

/* Remove BR from Service Boxes on Homepage for Mobile
@media (max-width: 767px) {
  .service-box br { display: none; }
}
*/

/* Home Page Service Boxes - Add Top Border */
/*.uc_content_box_zoom_effect_content { border-top: 3px solid var( --e-global-color-uicore_primary); }*/

/******************
/* Media Queries */
/*****************/

/* Override Font-Size and Padding For Mobile Full Menu Contact Details Template */
@media (max-width: 880px) {
.elementor-61 .elementor-element.elementor-element-b45d101 .ue_menu .full-screen-contact-details ul li { 
	margin: 5px; }
.elementor-61 .elementor-element.elementor-element-b45d101 .ue_menu .full-screen-contact-details ul li a {
	font-size: 1.125rem; }
}
