/*
Theme Name: Catchy Labs Theme Child
Theme URI: https://catchylabs.com/
Description: Child theme for the Catchy Labs Elementor Theme WordPress theme.
Author: Bobby Danklefsen
Author URI: https://catchylabs.com/
Template: catchylabs-theme
Version: 1.0.1
Text Domain: cl-elementor
*/

:root {
   --clet-primary: #BF1D2C;
	--clet-text: #333333;
}

/* Put all custom styles here
   ========================================================================== */



/* WP Forms styles
   ========================================================================== */

body form.forminator-ui.forminator-custom-form[data-design=default] .wpforms-form label.wpforms-error, 
body form.forminator-ui.forminator-custom-form[data-design=default] .wpforms-form em.wpforms-error {
   color:white;
}

body form.forminator-ui.forminator-custom-form[data-design=default] .wpforms-form label.wpforms-error:before, 
body form.forminator-ui.forminator-custom-form[data-design=default] .wpforms-form em.wpforms-error:before {
   background-color:white;
}

body form.forminator-ui.forminator-custom-form[data-design=default] input[type="text"], 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="date"], 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="email"], 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="number"], 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="password"], 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="search"], 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="tel"], 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="url"], 
body form.forminator-ui.forminator-custom-form[data-design=default] select, 
body form.forminator-ui.forminator-custom-form[data-design=default] select option, 
body form.forminator-ui.forminator-custom-form[data-design=default] textarea {
   width: 100%;
   border: none;
   border-radius: 3px;
   padding: 0.5rem 1rem;
   -webkit-transition: all .3s;
   -o-transition: all .3s;
   background-color:#F3F3F3;
   transition: all .3s;
}

body form.forminator-ui.forminator-custom-form[data-design=default] input[type="text"]::placeholder, 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="date"]::placeholder, 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="email"]::placeholder, 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="number"]::placeholder, 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="password"]::placeholder, 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="search"]::placeholder, 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="tel"]::placeholder, 
body form.forminator-ui.forminator-custom-form[data-design=default] input[type="url"]::placeholder, 
body form.forminator-ui.forminator-custom-form[data-design=default] select::placeholder, 
body form.forminator-ui.forminator-custom-form[data-design=default] textarea::placeholder {
   opacity:0.8;
}

body form.forminator-ui.forminator-custom-form[data-design=default] .forminator-button-submit {
   background-color:var(--clet-primary, #333);
   text-transform:uppercase;
   letter-spacing:2px;
   padding:20px;
   height:auto;
   border:solid thin var(--clet-primary, #333);
   color:white;
   margin-top:10px;
}

body .wpforms-container .wpforms-field, 
body .wp-core-ui div.wpforms-container .wpforms-field {
   padding:10px 0;
}

body form.forminator-ui.forminator-custom-form[data-design=default] .wpforms-confirmation-container-full, 
body div[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message) { 
   border:solid thin var(--clet-primary, #333);
   background:white;
   padding:20px;
   text-align:center;
}

body form.forminator-ui.forminator-custom-form[data-design=default] .wpforms-confirmation-container-full, 
body div[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
   color: var(--clet-text, #333);
}

/* Header and footer
   The theme menu switches to the hamburger at 1024px, so these rules use that
   same cutoff rather than the Elementor laptop breakpoint.
   ========================================================================== */

#ch-header,
#ch-header-inner,
#ch-header-tools,
#ch-header-nav {
   overflow: visible;
   position: relative;
   z-index: 20;
}

#ch-header-inner {
   display: flex;
   align-items: center;
   flex-wrap: nowrap;
}

#ch-header-logo,
#ch-header-tools,
#ch-header-nav,
#ch-header-cta {
   width: auto !important;
   max-width: 100%;
   --width: auto;
   flex: 0 0 auto !important;
}

#ch-header-tools {
   display: flex;
   align-items: center;
   margin-left: auto !important;
   gap: 4px;
}

#ch-header-nav .nav-menu .navbar .menu > li:after,
#ch-header-nav .nav-menu .navbar .menu > li:before {
   content: none;
   display: none;
}

#ch-header-nav .nav-menu .navbar .menu > li > a {
   font-family: "Public Sans", sans-serif;
   font-weight: 700;
   letter-spacing: 1.4px;
   text-transform: uppercase;
   color: #325258;
   text-decoration: none;
   line-height: 1.3;
}

#ch-header-nav .nav-menu .navbar .menu > li > a:hover,
#ch-header-nav .nav-menu .navbar .menu > li.current-menu-item > a,
#ch-header-nav .nav-menu .navbar .menu > li.current_page_item > a,
#ch-header-nav .nav-menu .navbar .menu > li.current-menu-parent > a,
#ch-header-nav .nav-menu .navbar .menu > li.current_page_ancestor > a {
   color: #243C44;
   background: transparent;
}

#ch-header-nav .nav-menu .navbar .menu ul.sub-menu {
   background: #ffffff;
   box-shadow: 0 14px 32px rgba(36, 60, 68, 0.14);
   padding: 8px 0;
   min-width: 260px;
   border-radius: 0;
}

#ch-header-nav .nav-menu .navbar .menu ul.sub-menu > li {
   display: block;
   width: 100%;
}

#ch-header-nav .nav-menu .navbar .menu ul.sub-menu > li:after {
   content: none;
   display: none;
}

#ch-header-nav .nav-menu .navbar .menu ul.sub-menu > li > a {
   font-family: "Public Sans", sans-serif;
   font-weight: 500;
   font-size: 15px;
   letter-spacing: 0;
   text-transform: none;
   color: #325258;
   background: #ffffff;
   padding: 10px 18px;
   text-decoration: none;
}

#ch-header-nav .nav-menu .navbar .menu ul.sub-menu > li > a:hover,
#ch-header-nav .nav-menu .navbar .menu ul.sub-menu > li.current-menu-item > a {
   background: #FCF7F4;
   color: #243C44;
}

#ch-header-nav .nav-menu .navbar-toggle,
#ch-header-nav .nav-menu .navbar-toggle i {
   color: #325258;
   font-size: 22px;
   line-height: 1;
}

#ch-header-nav .nav-menu .navbar-toggle {
   display: inline-block;
   padding: 8px;
}

#ch-header-nav .nav-menu .navbar-toggle:hover,
#ch-header-nav .nav-menu .navbar-toggle:hover i {
   color: #243C44;
}

@media (min-width: 1025px) {
   #ch-header-nav .nav-menu .navbar-toggle {
      display: none;
   }
}

@media (max-width: 1024px) {
   #ch-header-nav {
      order: 2;
   }

   #ch-header-cta {
      order: 1;
   }
}

@media (max-width: 767px) {
   #ch-header-cta .elementor-button {
      font-size: 11px;
      letter-spacing: 0.8px;
      padding: 11px 12px;
   }
}

#ch-footer .elementor-heading-title,
#ch-footer .elementor-widget-text-editor p,
#ch-footer .elementor-icon-list-items {
   margin: 0;
}

#ch-footer .elementor-widget-heading,
#ch-footer .elementor-widget-text-editor,
#ch-footer .elementor-widget-icon-list,
#ch-footer .elementor-widget-html,
#ch-footer .elementor-widget-social-icons,
#ch-footer .elementor-widget-image,
#ch-footer .elementor-widget-divider {
   margin-bottom: 0;
}

#ch-footer-brand,
#ch-footer-aside {
   max-width: 100%;
}

#ch-footer-logo {
   flex: 1 1 360px !important;
   width: auto !important;
   max-width: 360px;
   min-width: 0;
   --width: auto;
}

#ch-footer-logo img {
   width: 100% !important;
   height: auto !important;
   max-width: 360px;
}

#ch-footer-expertise {
   flex: 0 0 250px !important;
   width: auto !important;
   min-width: 250px;
}

#ch-footer-contact > .e-con {
   flex: 1 1 220px;
   max-width: 100%;
}

#ch-footer a {
   color: #325258;
   text-decoration: none;
}

#ch-footer a:hover {
   color: #243C44;
}

#ch-footer-contact a {
   overflow-wrap: anywhere;
}

#ch-footer .elementor-icon-list-item a {
   align-items: center;
}

#ch-footer .elementor-icon-list-text {
   font-family: "Public Sans", sans-serif;
   color: #325258;
}

#ch-footer .elementor-icon-list-item:hover .elementor-icon-list-text {
   color: #243C44;
}

#ch-footer-social .elementor-social-icons-wrapper,
#ch-footer-social .elementor-grid {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin: 0;
   padding: 0;
}

#ch-footer-social .elementor-social-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 32px;
   height: 32px;
   background: #325258;
   color: #ffffff;
   border-radius: 2px;
   font-size: 14px;
   line-height: 1;
}

#ch-footer-social .elementor-social-icon:hover {
   background: #243C44;
   color: #ffffff;
}

#ch-footer-social .elementor-social-icon i {
   color: #ffffff;
}

.ch-blogs {
   margin: 2px 0 0;
   font-family: "Public Sans", sans-serif;
   font-size: 16px;
   line-height: 1.4;
}

#ch-footer-badges {
   align-items: flex-end;
}

#ch-footer-badges img {
   display: block;
   height: auto;
}

#ch-footer-badges .e-con > .elementor-widget-image img {
   width: 72px;
}

#ch-footer-badges > .elementor-widget-image img {
   width: 150px;
}

#ch-footer-copy,
#ch-footer-copy p {
   margin: 0;
   color: #4E656A;
   font-family: "Public Sans", sans-serif;
   font-size: 13px;
   line-height: 1.4;
   text-align: right;
}

.ch-newsletter {
   position: relative;
   margin: 0;
}

.ch-newsletter .screen-reader-text {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   white-space: nowrap;
   border: 0;
}

.ch-newsletter-row {
   display: flex;
   align-items: stretch;
   gap: 10px;
}

#ch-footer .ch-newsletter input[type="email"] {
   flex: 1 1 auto;
   width: auto;
   min-width: 0;
   margin: 0;
   border: 0;
   border-radius: 2px;
   background: #ffffff;
   color: #325258;
   font-family: "Public Sans", sans-serif;
   font-size: 15px;
   line-height: 1.4;
   padding: 14px 16px;
   box-shadow: none;
}

#ch-footer .ch-newsletter input[type="email"]::placeholder {
   color: #8AA0A4;
   opacity: 1;
}

#ch-footer .ch-newsletter input[type="email"]:focus {
   outline: 2px solid #325258;
   outline-offset: 1px;
}

#ch-footer .ch-newsletter button,
#ch-footer .ch-newsletter button:not(:disabled) {
   flex: 0 0 auto;
   margin: 0;
   border: 0;
   border-radius: 2px;
   background: #325258;
   color: #ffffff;
   font-family: "Public Sans", sans-serif;
   font-weight: 600;
   font-size: 13px;
   letter-spacing: 1.2px;
   line-height: 1.2;
   text-transform: uppercase;
   padding: 14px 22px;
   white-space: nowrap;
}

#ch-footer .ch-newsletter button:hover,
#ch-footer .ch-newsletter button:focus,
#ch-footer .ch-newsletter button:not(:disabled):hover,
#ch-footer .ch-newsletter button:not(:disabled):focus {
   background: #243C44;
   color: #ffffff;
   border: 0;
}

@media (max-width: 1024px) {
   #ch-footer-brand,
   #ch-footer-aside {
      flex-basis: 100%;
      width: 100% !important;
      --width: 100%;
   }
}

@media (max-width: 767px) {
   #ch-footer-logo {
      flex: 0 0 auto !important;
      width: 220px !important;
      max-width: 70%;
   }

   #ch-footer-logo img {
      width: 220px !important;
      max-width: 100%;
   }

   #ch-footer-expertise {
      flex: 0 0 auto !important;
      width: 100% !important;
   }

   #ch-footer-badges,
   #ch-footer-badges .e-con {
      align-items: flex-start;
      justify-content: flex-start;
   }

   #ch-footer-copy,
   #ch-footer-copy p {
      text-align: left;
   }

   .ch-newsletter-row {
      flex-direction: column;
   }

   #ch-footer .ch-newsletter button,
   #ch-footer .ch-newsletter button:not(:disabled) {
      width: 100%;
   }
}