/*!
Theme Name: Insurerity
Theme URI: http://designingmedia.com/insurerity
Author: Designing Media
Author URI: http://designingmedia.com
Description: Discover "Insurerity," the premium WordPress theme designed for insurance companies. Insurerity features a sleek, responsive design that guarantees an exceptional viewing experience across all devices. Its user-friendly interface and versatile customization options make it easy to create a professional and compelling website. With pre-designed elements and dynamic layouts, Insurerity allows you to showcase your insurance services and solutions with elegance and efficiency. Ideal for insurance agencies, brokers, and consultants, this theme ensures your online presence stands out. Elevate your insurance business with Insurerity.
Version: 1.0.2
Requires PHP: 7.0
Tested up to: 5.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: insurerity
Tags: portfolio
*/


.no-breadcrumbs.page-title-area:after{ display: none; }

.navbar-area .nav-container .navbar-collapse #menu-all-pages > li + li{ margin-left: 10px; }
.navbar-area .nav-container .navbar-collapse #menu-all-pages li{ padding: 0 7px; }
/*Unit test css*/
.navbar-area .nav-container .logo a.retina-logo{
	display: none;
}
.wpcf7-form-control-wrap {
    display: block;
	z-index:0;
}
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.sent .wpcf7-response-output {
    margin: 1em 0em 0em;
    font-size: 14px;
    line-height: 1.5em;
    text-align: center;
}
.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 12px;
    line-height: 12px;
    font-weight: normal;
    display: block;
    margin-top: 0;
    position: absolute;
    width: auto;
    display: block;
    left: 0;
    border: none;
    padding: 0;
    top: 65px;
}
.wpcf7-spinner {
    display: none;
}
.wpcf7 form.invalid .wpcf7-response-output {
    display: none;
}

@media only screen and (max-width: 1366px) {
    .wpcf7-not-valid-tip {
        font-size: 12px;
        line-height: 12px;
    }
}

@media only screen and (max-width: 1024px) {
    .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.sent .wpcf7-response-output {
        text-align: center;
    }
}


@media only screen and (max-width: 767px) {
    .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.sent .wpcf7-response-output {
        font-size: 12px;
    }
}

/* Custom logo sizing to prevent massive header logo */
.navbar-area .logo a img {
    max-height: 60px !important;
    width: auto !important;
    object-fit: contain;
}




/* Custom Insurers Grid layout */
.elementor-element-413563a4 > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: stretch !important;
}
.elementor-element-413563a4 > .e-con-inner > .e-con {
  width: 31% !important;
  max-width: 31% !important;
  margin-bottom: 20px !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: auto !important;
}

/* Why Choose Us Section Styles */
.why-choose-us-image-col {
  align-self: flex-start !important;
  position: relative !important;
}

.why-choose-us-testimonial {
  position: absolute !important;
  top: auto !important;
  bottom: 30px !important;
  left: auto !important;
  right: -30px !important;
  width: 90% !important;
  max-width: 420px !important;
  background-color: rgba(255, 255, 255, 0.98) !important;
  border-left: 5px solid #14bca3 !important; /* accent green */
  padding: 25px 30px !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12) !important;
  border-radius: 0 10px 10px 0 !important;
  z-index: 10 !important;
}

.why-choose-us-card-highlighted {
  background-color: #ffffff !important;
  box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.08) !important;
  border-radius: 12px !important;
}

@media (max-width: 767px) {
  .why-choose-us-image-col {
    align-self: stretch !important;
  }
  .why-choose-us-testimonial {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 20px !important;
    border-radius: 8px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05) !important;
  }
}

/* Cómo Funciona - Step by Step Section Styles */
.como-funciona-steps-row {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
}

/* Horizontal dotted line connecting step numbers on desktop */
.como-funciona-steps-row::before {
  content: "" !important;
  position: absolute !important;
  top: 191px !important; /* aligned vertically with center of the number circles */
  left: 12% !important;
  right: 12% !important;
  height: 2px !important;
  border-top: 2px dashed rgba(20, 188, 163, 0.3) !important;
  z-index: 1 !important;
}

.como-funciona-step-col {
  z-index: 2 !important;
  width: 22% !important;
  max-width: 22% !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: auto !important;
}

/* Outer image wrapper container (decorative ring) */
.como-funciona-image-wrapper {
  width: 160px !important;
  height: 160px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(20, 188, 163, 0.3) !important; /* accent border color */
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  transition: all 0.3s ease !important;
  background-color: transparent !important;
}
.como-funciona-image-wrapper:hover {
  border-color: #14bca3 !important;
}

/* Inner image size and rounding */
.como-funciona-image-wrapper img {
  width: 140px !important;
  height: 140px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

/* Number badge styling */
.como-funciona-number-circle {
  width: 32px !important;
  height: 32px !important;
  background-color: #14bca3 !important; /* Accent color */
  border-radius: 50% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  z-index: 5 !important;
  position: relative !important;
}
.como-funciona-number-circle span {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

/* Responsive adjustments */
@media (max-width: 991px) {
  .como-funciona-steps-row::before {
    display: none !important; /* hide connecting line on tablet/mobile */
  }
  .como-funciona-step-col {
    margin-bottom: 30px !important;
    width: 48% !important;
    max-width: 48% !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: auto !important;
  }
}

@media (max-width: 767px) {
  .como-funciona-step-col {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Static Portfolio Card Styles */
.portfolio-static-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  width: 100% !important;
}

.portfolio-static-card {
  background-color: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.04) !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding-bottom: 30px !important;
  border: 1px solid #7777771a !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  cursor: pointer !important;
  width: 31.5% !important;
  max-width: 31.5% !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: auto !important;
  box-sizing: border-box !important;
  margin-bottom: 30px !important;
}

.portfolio-static-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0px 15px 35px 0px rgba(0, 0, 0, 0.08) !important;
}

.portfolio-card-img-wrapper {
  position: relative !important;
  width: 100% !important;
  margin-bottom: 25px !important;
}

.portfolio-card-img-wrapper img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  border-radius: 16px 16px 0 0 !important;
}

/* Category Badge overlapping the bottom center of the image */
.portfolio-card-badge {
  position: absolute !important;
  bottom: -15px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background-color: #14bca3 !important; /* accent turquesa */
  color: #ffffff !important;
  padding: 6px 20px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  z-index: 10 !important;
  box-shadow: 0 4px 10px rgba(20, 188, 163, 0.2) !important;
}
.portfolio-card-badge span {
  color: #ffffff !important;
}

.portfolio-static-card h4 {
  margin: 15px 20px 8px 20px !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  text-align: center !important;
}

.portfolio-static-card p {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #7f8c8d !important;
  margin: 0 20px 15px 20px !important;
  text-align: center !important;
}

.portfolio-card-arrow {
  color: #14bca3 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  transition: transform 0.3s ease !important;
}

.portfolio-static-card:hover .portfolio-card-arrow {
  transform: translateX(5px) !important;
}

@media (max-width: 991px) {
  .portfolio-static-grid {
    justify-content: space-around !important;
  }
  .portfolio-static-card {
    width: 48% !important;
    max-width: 48% !important;
  }
}

@media (max-width: 767px) {
  .portfolio-static-card {
    width: 100% !important;
    max-width: 100% !important;
  }
}
\n
/* Custom Portfolio Grid styling for Elementor Section 56124d0c */
.elementor-element-56124d0c > .e-con-inner {
    display: flex !important;
    flex-flow: wrap !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 0px !important;
}

.elementor-element-56124d0c > .e-con-inner > .elementor-element {
    background-color: rgb(255, 255, 255) !important;
    border-radius: 16px !important;
    box-shadow: rgba(0, 0, 0, 0.04) 0px 10px 30px 0px !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding-bottom: 30px !important;
    border: 1px solid rgba(119, 119, 119, 0.1) !important;
    transition: transform 0.3s, box-shadow 0.3s !important;
    cursor: pointer !important;
    width: 31.5% !important;
    max-width: 31.5% !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    margin-bottom: 30px !important;
}
.elementor-element-56124d0c > .e-con-inner > .elementor-element:hover {
    transform: translateY(-5px) !important;
    box-shadow: rgba(0, 0, 0, 0.08) 0px 15px 35px 0px !important;
}

/* ==========================================
   TESTIMONIALS SECTION CUSTOM STYLES
   ========================================== */
.custom-testimonials-section {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.custom-testimonials-header h2 {
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #14212b !important; /* Theme primary */
  text-align: center !important;
  margin-bottom: 40px !important;
}

.custom-testimonials-carousel {
  width: 100% !important;
  max-width: 800px !important;
  position: relative !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.testimonials-slides-container {
  width: 100% !important;
  min-height: 280px !important;
  position: relative !important;
}

.testimonial-slide {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.5s ease, visibility 0.5s ease !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.testimonial-slide.active {
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
}

.testimonial-quote-icon {
  font-size: 72px !important;
  line-height: 1 !important;
  color: rgba(20, 188, 163, 0.15) !important;
  font-family: serif !important;
  margin-bottom: -20px !important;
}

.testimonial-rating {
  color: #f1c40f !important;
  margin-bottom: 20px !important;
  font-size: 16px !important;
}

.testimonial-rating i {
  margin: 0 2px !important;
}

.testimonial-text {
  font-size: 18px !important;
  line-height: 1.8 !important;
  color: #555555 !important;
  margin-bottom: 25px !important;
  font-style: italic !important;
}

.testimonial-author {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #14212b !important;
  margin-bottom: 5px !important;
}

.testimonial-role {
  font-size: 14px !important;
  color: #7f8c8d !important;
  margin-bottom: 0 !important;
}

.testimonials-selectors-row {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: 30px !important;
  gap: 15px !important;
}

.selector-avatar-btn {
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border: 3px solid #ffffff !important;
  cursor: pointer !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  opacity: 0.5 !important;
  transform: scale(0.9) !important;
}

.selector-avatar-btn.active, .selector-avatar-btn:hover {
  opacity: 1 !important;
  transform: scale(1.1) !important;
  border-color: #14bca3 !important;
}

/* ==========================================
   FAQS SECTION CUSTOM STYLES
   ========================================== */
.custom-faqs-section-container {
  display: flex !important;
  width: 100% !important;
  gap: 50px !important;
  flex-direction: row !important;
}

.custom-faqs-left-col {
  width: 40% !important;
}

.custom-faqs-left-col img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}

.custom-faqs-right-col {
  width: 60% !important;
  display: flex !important;
  flex-direction: column !important;
}

.faqs-header h2 {
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #14212b !important;
  margin-bottom: 10px !important;
}

.faqs-subtitle {
  font-size: 16px !important;
  color: #7f8c8d !important;
  margin-bottom: 30px !important;
}

.custom-faqs-accordion {
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
}

.faq-item {
  background-color: #ffffff !important;
  border-radius: 8px !important;
  border: 1px solid #eaeaea !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}

.faq-item.active {
  box-shadow: 0 10px 25px rgba(0,0,0,0.03) !important;
  border-color: #14bca3 !important;
}

.faq-trigger {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  padding: 20px 25px !important;
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #14212b !important;
  cursor: pointer !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  transition: color 0.3s ease !important;
}

.faq-trigger:hover {
  color: #14bca3 !important;
}

.faq-arrow {
  color: #14bca3 !important;
  transition: transform 0.3s ease !important;
}

.faq-item.active .faq-arrow {
  transform: rotate(180deg) !important;
}

.faq-content {
  max-height: 0;
  overflow: hidden !important;
  transition: max-height 0.3s ease-out !important;
  padding: 0 25px !important;
}

.faq-content p {
  padding-bottom: 20px !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #666666 !important;
  margin: 0 !important;
}

.faq-content a {
  color: #14bca3 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.faq-content a:hover {
  text-decoration: underline !important;
}

/* ==========================================
   FORM B2B SECTION CUSTOM STYLES
   ========================================== */
.custom-b2b-form-section {
  display: flex !important;
  width: 100% !important;
  gap: 50px !important;
  flex-direction: row !important;
}

.form-left-col {
  width: 45% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.form-badge {
  color: #14bca3 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-bottom: 15px !important;
  display: inline-block !important;
  letter-spacing: 1px !important;
}

.form-left-col h2 {
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #14212b !important;
  margin-bottom: 10px !important;
}

.form-subtitle {
  font-size: 16px !important;
  color: #7f8c8d !important;
  font-weight: 600 !important;
  margin-bottom: 40px !important;
}

.form-benefits-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 25px !important;
}

.benefit-item {
  display: flex !important;
  gap: 15px !important;
  align-items: flex-start !important;
}

.benefit-item i {
  color: #14bca3 !important;
  font-size: 24px !important;
  margin-top: 3px !important;
}

.benefit-text strong {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #14212b !important;
  display: block !important;
  margin-bottom: 5px !important;
}

.benefit-text p {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #7f8c8d !important;
  margin: 0 !important;
}

.form-right-col {
  width: 55% !important;
}

.custom-b2b-form {
  background-color: #ffffff !important;
  border-radius: 12px !important;
  border: 1px solid #eaeaea !important;
  padding: 40px !important;
  box-shadow: 0 15px 35px rgba(0,0,0,0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.custom-b2b-form h3 {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #14212b !important;
  margin-bottom: 5px !important;
  text-align: center !important;
}

.form-form-subtitle {
  font-size: 14px !important;
  color: #7f8c8d !important;
  text-align: center !important;
  margin-bottom: 20px !important;
}

.form-row-2col {
  display: flex !important;
  width: 100% !important;
  gap: 20px !important;
  flex-direction: row !important;
}

.form-group {
  width: 50% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.form-group-full {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.custom-b2b-form label {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #14212b !important;
}

.custom-b2b-form input[type="text"],
.custom-b2b-form input[type="email"],
.custom-b2b-form input[type="tel"],
.custom-b2b-form select,
.custom-b2b-form textarea {
  width: 100% !important;
  padding: 12px 15px !important;
  border: 1px solid #cccccc !important;
  border-radius: 6px !important;
  font-size: 15px !important;
  color: #14212b !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
  transition: border-color 0.3s ease !important;
}

.custom-b2b-form input:focus,
.custom-b2b-form select:focus,
.custom-b2b-form textarea:focus {
  border-color: #14bca3 !important;
  outline: none !important;
}

.tel-input-wrapper {
  display: flex !important;
  border: 1px solid #cccccc !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background-color: #ffffff !important;
}

.tel-prefix {
  background-color: #f3f3f3 !important;
  color: #555555 !important;
  padding: 12px 15px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-right: 1px solid #cccccc !important;
}

.tel-input-wrapper input {
  border: none !important;
  flex-grow: 1 !important;
  padding: 12px 15px !important;
  font-size: 15px !important;
}

.form-consent-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
  margin-top: 10px !important;
}

.consent-checkbox-label {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
  cursor: pointer !important;
  font-weight: normal !important;
}

.consent-checkbox-label input[type="checkbox"] {
  margin-top: 4px !important;
  cursor: pointer !important;
  width: 16px !important;
  height: 16px !important;
}

.checkbox-custom-text {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #666666 !important;
}

.checkbox-custom-text a {
  color: #14bca3 !important;
  text-decoration: none !important;
}
.checkbox-custom-text a:hover {
  text-decoration: underline !important;
}

.form-submit-wrapper {
  width: 100% !important;
  margin-top: 10px !important;
}

#form-submit-btn {
  width: 100% !important;
  padding: 16px 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background-color: #14bca3 !important;
  border: none !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

#form-submit-btn:disabled {
  background-color: #cccccc !important;
  cursor: not-allowed !important;
}

.form-legal-notice {
  font-size: 11px !important;
  color: #7f8c8d !important;
  text-align: center !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

.custom-form-success-message {
  background-color: #ffffff !important;
  border-radius: 12px !important;
  border: 1px solid #eaeaea !important;
  padding: 60px 40px !important;
  box-shadow: 0 15px 35px rgba(0,0,0,0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 20px !important;
  animation: fadeIn 0.5s ease !important;
}

.custom-form-success-message i {
  color: #14bca3 !important;
  font-size: 64px !important;
}

.custom-form-success-message h4 {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #14212b !important;
  margin: 0 !important;
}

.custom-form-success-message p {
  font-size: 15px !important;
  color: #666666 !important;
  margin: 0 !important;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ==========================================
   RESPONSIVE LAYOUTS
   ========================================== */
@media (max-width: 991px) {
  .custom-faqs-section-container,
  .custom-b2b-form-section {
    flex-direction: column !important;
    gap: 40px !important;
  }
  
  .custom-faqs-left-col,
  .custom-faqs-right-col,
  .form-left-col,
  .form-right-col {
    width: 100% !important;
  }
  
  .custom-faqs-left-col {
    height: 350px !important;
  }
}

@media (max-width: 767px) {
  .custom-testimonials-header h2,
  .faqs-header h2,
  .form-left-col h2 {
    font-size: 28px !important;
  }
  
  .testimonial-text {
    font-size: 15px !important;
  }
  
  .form-row-2col {
    flex-direction: column !important;
    gap: 15px !important;
  }
  
  .form-group {
    width: 100% !important;
  }
  
    .custom-b2b-form {
    padding: 25px 20px !important;
  }
}

/* ==========================================
   FAQ ACCORDION LINKS HIGHLIGHT
   ========================================== */
.elementor-tab-content a {
  color: #0066cc !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

.elementor-tab-content a:hover {
  color: #004499 !important;
  text-decoration: none !important;
}

