/*
Theme Name:     Prolifogy - 2025
Description:    Child theme for the Flatco - made for Prolifogy
Author:         Ortal Gefen
Template:       flatco                             
Version:        2.0
*/
@import url("../flatco/style.css");

/* Bootstrap 5 Primary Color Override */
:root {
  --bs-primary: #074987;
  --bs-primary-rgb: 7, 73, 135;
  --bs-primary-bg-subtle: #cfe2f3;
  --bs-primary-border-subtle: #9fc5e8;
}

.btn-primary {
  --bs-btn-bg: #074987;
  --bs-btn-border-color: #074987;
  --bs-btn-hover-bg: #053a6b;
  --bs-btn-hover-border-color: #053a6b;
  --bs-btn-active-bg: #042b4f;
  --bs-btn-active-border-color: #042b4f;
}

.bg-primary {
  background-color: #074987 !important;
}

.text-primary {
  color: #074987 !important;
}

.border-primary {
  border-color: #074987 !important;
}

.btn-outline-primary {
  --bs-btn-color: #074987;
  --bs-btn-border-color: #074987;
  --bs-btn-hover-bg: #074987;
  --bs-btn-hover-border-color: #074987;
  --bs-btn-active-bg: #074987;
  --bs-btn-active-border-color: #074987;
}

.link-primary {
  color: #074987 !important;
}

.link-primary:hover,
.link-primary:focus {
  color: #053a6b !important;
}

ol,
ul {
  margin: 0px;
  padding: 0px
}

p,
ol,
ul {
  font-size: 14px;
  line-height: 2
}

html {
  overflow-y: visible !important
}

.pagination li {
  list-style-type: none;
  display: inline-block
}

.pagination li span,
.pagination li a {
  padding: 5px 8px !important
}

ul.inline>li,
ol.inline>li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}

#page-title h1 {
  text-align: left
}

ul.inline,
ol.inline {
  margin-left: 0;
  list-style: none;
}

.container {
  max-width: 100%
}


/* Enter below your Customization CSS */

.show-mobile-menu .mobile-menu-icon {
  margin-top: 5px
}

.clearfix {
  clear: both
}

body {
  overflow-x: hidden
}

li.category {
  display: none
}

.home .loop-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 0px;
  padding: 10px 0px;
  list-style: none;
}

.home .widget_pssubpages {
  display: none;
}

.home .loop-block {
  margin-bottom: 25px
}

.loop-block .loop-meta {
  position: static;
  margin-right: 0;
}

.home .loop-block a.more-link {
  position: static;
  top: auto;
  width: auto;
  padding: 0px 10px;
  height: auto;
  line-height: 30px;
  display: inline-block;
}

#featured-image #crumbs {
  padding-right: 10px
}

.loop-meta.tag {
  /* margin: 10px 0px;
  min-height: 50px */
  padding: 0px;
}



blockquote p {
  color: #333;
  font-weight: bold
}

#featured-image img {
  max-height: 300px
}


.tw-service-content p a {
  background: #074987;
  color: #fff;
}

.single.article .meta-container {
  margin-bottom: 20px
}

.pinterest_share {
  display: none
}

p {
  margin-bottom: 10px
}

.tw-service-box {
  padding-bottom: 10px
}

#footer .TWRecentPostWidget .meta {
  display: none
}

.tm_lcptu_post_title {
  font-size: 13px;
  font-weight: normal
}

.edgeLoad-EDGE-716182 {
  visibility: hidden;
}

.center {
  text-align: center
}

#Stage {
  width: 940px;
  height: 300px;
  margin: 0px auto
}

.row-container.light {
  background-color: #f8f8f8;
  margin-left: -30px;
  margin-right: -30px
}

#main [class*="col-"] {
  margin-top: 10px;
  margin-bottom: 10px
}

.tw-title-container,
.tw-widget-title-container {
  padding-bottom: 20px
}

.tw-title-container {
  padding-bottom: 0px
}

.wp-polls-ul {
  border: 1px dotted #DFDFDF;
  margin: 0px 0px 7px
}

.wp-polls .Buttons {
  background: #074987
}

.wp-polls p {
  text-align: left !important
}

.wp-polls-loading+ul {
  display: none
}

#sidebar.right-sidebar .widget_search {
  margin-bottom: 5px
}

ul.loop-meta li.author,
.comment-count {
  display: none
}

.tw-service-content p a {
  border: 0px
}

.ls-wp-container {
  margin-bottom: 20px !important
}

.wpcf7-form label {
  font-weight: bold;
  color: #074987
}

#menu {
  margin-top: 20px
}

.stuck #menu {
  margin-top: 0px
}

.stuck .tw-social-icon.float-end.d-lg-block {
  margin-top: 30px;
}

#main input[class*="col-"],
#main textarea[class*="col-"] {
  margin-top: 0px;
  margin-bottom: 0px
}

#menu-item-1902 a {
  color: #7a5a00 !important;
  /* darkened from #b8860b for WCAG AA contrast on #e8e8e8 header */
}

#menu-item-1902 a:hover {
  border-color: #7a5a00 !important;
}


input[type="radio"],
input[type="checkbox"] {
  margin: -4px 5PX 0 0;
}

.form-actions {
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: center;
}

.form-actions input[type="submit"] {
  padding-left: 50PX;
  padding-right: 50PX;
}

.ReasonForContact .wpcf7-list-item {
  display: inline-block;
  width: 50%;
  margin: 0px;
  vertical-align: top;
  box-sizing: border-box;
}

article.loop {
  padding-bottom: 20px;
}

.archive.post-type-archive .tw_post_sharebox {
  top: 20px;
  left: 180px;
}

.archive.post-type-archive a.more-link {
  top: 5px;
  width: auto;
  padding: 0px 10px;
  height: auto;
  line-height: 30px;
}

.home #tm_latest_cp_widget-2 {
  display: none;
}

.home .tw_post_sharebox {
  top: 13px;
  left: 200px;
}

@media(max-width:640px) {
  .home .tw_post_sharebox {
    margin-top: 25px !important
  }
}

.home .boxshadow {
  box-shadow: 1px -3px 5px rgba(1, 1, 1, 0.47)
}

.home .light.boxshadow {
  margin: 0px;
  padding: 20px;
  clear: both;
  overflow: auto;
  margin-top: 20px
}

#search-2 {
  margin: 0px 0px 10px !important
}

#footer .contact-info-widget a {
  font-weight: bold;
}

#footer a:hover,
#footer .tw-recent-posts-widget h4 a:hover {
  color: #fff !important;
  text-decoration: underline
}

#footer a.btn {
  background: #fff;
  color: #074987 !important;
  text-decoration: none !important
}

.page-id-29 .bottomcallout,
.page-id-1865 .bottomcallout,
.page-id-28 .bottomcallout {
  display: none
}


#main .wpcf7-form-control-wrap input {
  margin-top: 0px;
  margin-bottom: 0px
}

.home #main .tw-blog .col-8 {
  margin-top: 35px
}

/* Menu Navigation */
ul.sf-menu>li>a {
  margin-left: 10px;
  margin-right: 10px
}

/* Submenu link text — WP admin outputs #aaa inline (3:1 contrast), override to #fff */
ul.sf-menu li ul li a,
ul.sf-menu li ul li.current-menu-item a {
  color: #ffffff !important;
}

.page-template-page-home-video ul.sf-menu>li>a {
  padding: 39px 0px;
}

@media (max-width: 1200px) {
  ul.sf-menu>li>a {
    margin: 0 10px;
  }

  ul.sf-menu>li a {
    font-size: 12px !important;
    margin: 0px 10px !important;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  ul.sf-menu>li a {
    padding: 25px 0px
  }

  ul.sf-menu>li>a {
    margin: 0px 10px !important
  }

  .home .menu-container.d-none.d-md-block.clearfix {
    margin-top: 0px
  }
}

.sf-menu>li:hover .sub-menu {
  display: block !important;
  visibility: visible !important;
}



.ls-nav-prev,
.ls-nav-next {
  display: none
}

#footer .backlinks {
  text-align: center;
  font-size: 12px;
  line-height: 13px;
  margin: 10px 2px -5px
}

#footer .backlinks a {
  font-weight: normal;
  color: #aaaaaa !important
}

.single-article .single-title,
.single-article #crumbs,
ul.loop-meta li.category {
  display: none
}

ul.loop-meta li {
  border: 0 !important
}

.single-article #main [class*="col-"] {
  margin-top: 10px
}

.single-article #page-title .col-md-6 {
  display: none
}

.single-article #page-title .col-md-6:first-child {
  display: block;
  margin: 0px;
  width: 100%
}

.single-article #page-title .row {
  margin: 0px
}

.single-article ul.inline {
  margin-top: -15px;
  border-top: 0px;
  padding-top: 0px;
}

.learnmorelink {
  text-align: center;
}

.learnmorelink span {
  font-weight: bold
}

.learnmorelink .btn {
  display: block;
  margin: 20px auto 10px;
  max-width: 200px
}

.page-id-530 .learnmorelink {
  display: none !important
}

div.wpcf7-validation-errors {
  color: #a94442;
  background-color: #f2dede;
  border: 2px solid #ebccd1;
}

span.wpcf7-not-valid-tip {
  color: #a94442;
  background-color: #f2dede;
  padding: 4px 7px;
  border: 1px solid #ebccd1;
  width: 226px;
  margin: 10px 0px;
  clear: both;
}

div.wpcf7-mail-sent-ok {
  color: #3c763d;
  background-color: #dff0d8;
  border: 2px solid #d6e9c6;
}

[class^="icon-"],
[class*=" icon-"] {
  box-sizing: content-box
}

.single-landing-page #main a {
  font-weight: bold;
}

#header .tw-logo {
  padding: 0px
}

#main .main-col-wrapper {
  margin-top: 35px
}

.single-landing-page blockquote {
  padding-top: 0px
}

.W3CLogo {
  width: 50px;
  padding: 5px 0px 5px 0px
}

span.tw-check {
  float: right;
  margin-top: -8px;
  padding: 8px 0 8px 15px;
}

@media (max-width: 1200px) {
  ul.sf-menu>li>a {
    margin: 0 10px;
  }
}

/* Bootstrap 5 Accordion Styling */
.accordion-button {
  background-color: #074987;
  color: #fff !important;
  padding: 7px 10px;
}

.accordion-button:not(.collapsed) {
  background-color: #074987;
  color: #fff !important;
}

.accordion-button:hover,
.accordion-button:focus {
  background-color: #074987;
  color: #fff !important;
}

.accordion-item {
  border-color: #074987;
}

.accordion-open .icon-minus {
  display: block !important
}

.accordion-open .icon-plus {
  display: none
}

.logo img {
  width: 200px;
  max-width: 100%;
}

#footer ul {
  padding: 0px
}

@media (max-width: 979px) and (min-width: 768px) {
  .show-mobile-menu {
    margin-top: 40px;
    background: none;
    right: 0;
    width: 100px;
    position: absolute;
    top: 0px;
  }
}

@media(max-width:992px) {
  .container {
    width: 100%
  }

  .container .row {
    margin: 0px
  }

  .show-mobile-menu {
    width: auto;
    margin: 0px 15px
  }
}

@media(min-width:768px) {

  .main-col-wrapper,
  .home .tw-blog.row .col-md-8 {
    padding-right: 30px;
  }

  .right-sidebar {
    padding-left: 35px
  }
}

.right-sidebar {
  margin-top: 35px !important
}

.loop-meta.inline {
  border: 0 !important
}

ul.loop-meta li span.date {
  padding-left: 5px;
}

@media (max-width: 767px) {
  .tw_post_sharebox {
    margin-bottom: 20px
  }

  /* Fix meta container on mobile - stack vertically */
  .meta-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .meta-container .more-link {
    margin-left: 0;
    align-self: flex-start;
  }

  .loop-meta.inline {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .loop-meta.inline li.date,
  .loop-meta.inline li.social-list {
    width: 100% !important;
  }

  .tw_post_sharebox {
    position: static !important;
    width: 100%;
  }

  .main-col-wrapper {
    padding-right: 0px;
  }

  #header .container {
    padding: 0px
  }

  #header.stuck .tw-logo {
    padding: 0px !important
  }

  .show-mobile-menu {
    margin: 0px;
    width: 100%;
  }

  .accordion-button {
    font-size: 14px;
    line-height: 16px;
    padding: 7px 9px
  }

  .right-sidebar {
    padding-left: 0px;
    margin-top: 10px !important;
    float: none !important
  }

  .logo img {
    display: block;
    margin: 0px auto;
  }

  #header .col-lg-3.col-md-2 {
    text-align: center
  }

  #page-title h1 {
    font-size: 20px;
    line-height: 22px
  }

  #page-title {
    padding: 20px
  }

  /* Center footer widgets on mobile */
  #footer [class*="col-"] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #footer .widget {
    width: 100%;
  }
}

.hero-wrapper video {
  max-height: 600px !Important
}

.home .tw-title-container {
  margin-top: 20px
}

.tw-carousel-partner.list_carousel li {
  padding: 10px 20px;
  height: 120px
}

.tw-carousel-partner .caroufredsel_wrapper {
  border-right: solid 1px #dddddd;

}

.wpcf7-form-control-wrap textarea {
  width: 226px
}

.twitter_share>iframe {
  width: 65px !important
}

.tw_post_sharebox>div {
  margin-right: 5px
}

.no-margin {
  margin: 0px
}

.menu-container {
  margin-top: 20px
}

.list_carousel li:hover .carousel-meta {
  background: #074987 !important
}

/* Modern Flexbox Layout for Meta Container */
.meta-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px;
  position: relative;
  font-weight: bold;
  padding-bottom: 20px;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.loop-meta.inline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.loop-meta.inline {
  border: none;
}

.loop-meta.inline li.date {
  padding-right: 10px;
}

.loop-meta.inline li.social-list,
.loop-meta.inline li.date {
  display: inline-flex !important;
  align-items: center;
  float: none !important;
  width: auto !important;
  margin: 0px !important;
  position: static !important;

}

.meta-container .more-link {
  position: static !important;
  margin-left: auto;
  white-space: nowrap;
}

/* Fix social share icons in meta container */
.meta-container .tw_post_sharebox,
.loop-meta.inline .tw_post_sharebox {
  position: static !important;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  top: auto !important;
  right: auto !important;
}

.meta-container .tw_post_sharebox>div,
.loop-meta.inline .tw_post_sharebox>div {
  display: inline-flex;
  float: none;
  margin-right: 5px;
}

.list_carousel>.carousel-arrow {
  top: auto !important;
  left: auto !important;
  position: relative !important;
  text-align: center !important;
  margin-top: 20px
}

.single-article .tw_post_sharebox {
  top: 25px
}

.single-article .single-title+.meta-container:first-child {
  margin-top: 20px
}

#header.affix .menu-container {
  margin-top: 0px !important
}

@media(min-width:1200px) {
  .tw-social-icon {
    position: absolute;
    right: 25px;
    top: 0px
  }

  .affix.stuck .tw-social-icon {
    display: none !important
  }

}


article.single ol {
  margin-left: 15px
}

article.single h4 {
  margin: 0px
}

article.single p {
  line-height: 1.9
}

.page-id-530 #main .wpcf7-form-control-wrap input {
  margin-bottom: 10px
}

.page-id-530 .tw_post_sharebox {
  top: 24px
}

#footer #contactinfo-2 {
  margin-bottom: 0px
}

#footer .contact-info-widget {
  min-height: 0px
}

#footer .tw-social-icon {
  position: relative
}

@media(min-width:769px) {
  #menu {
    margin-top: 0px
  }
}

@media(min-width:769px) and (max-width:1024px) {

  ul.sf-menu>li a {
    padding: 25px 0px
  }

  ul.sf-menu>li>a {
    margin: 0px 10px !important
  }

  .home .menu-container.d-none.d-md-block.clearfix {
    margin-top: 0px
  }

}


.main-col-wrapper ul {
  margin: 0px 0px 20px 20px
}


@media (max-width: 1200px) {

  ul.sf-menu>li a {
    font-size: 12px !important;
    margin: 0px 10px !important;
  }
}

#cookie-law-info-again {
  display: none !important
}


#mobile-menu ul li.has-children>.action-expand {
  float: right;
  width: 30px;
  text-align: center;
  height: 30px;
  font-size: 22px;
  line-height: 30px;
  cursor: pointer;
  color: #aaa;
}

#mobile-menu ul li.has-children>a {
  width: 85%
}

#mobile-menu ul li.has-children>.action-expand>.opened,
#mobile-menu ul li.has-children.menu-open>.action-expand>.closed {
  display: none
}

#mobile-menu ul li.has-children>.action-expand>.closed,
#mobile-menu ul li.has-children.menu-open>.action-expand>.opened {
  display: block
}


/****gussy up the alerts a bit *****/

.wpcf7 form .wpcf7-response-output {
  position: relative;
  padding: .75rem 1.25rem;
  margin: 2rem 0 0;
  border: 1px solid transparent;
  border-radius: .25rem;
  font-size: 2rem;
}

.wpcf7-form-control-wrap {
  display: block;
  position: relative;
}

.wpcf7-form-control {
  margin-top: 20px;
}

/* Modern CF7 Input Styling */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form textarea,
.wpcf7-form select {
  width: 100%;
  max-width: 100%;
  padding: 10px 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.5;
  color: #333333;
  /* Dark gray for WCAG AA compliance - 4.5:1 contrast on white */
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
}

/* Specific targeting for CF7 form controls */
input.wpcf7-form-control,
textarea.wpcf7-form-control,
select.wpcf7-form-control {
  color: #333333 !important;
  /* Override any plugin styles */
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form input[type="date"]:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
  border-color: #074987;
  box-shadow: 0 0 0 3px rgba(7, 73, 135, 0.1);
}

.wpcf7-form textarea {
  min-height: 120px;
  resize: vertical;
}

/* CF7 Labels */
.wpcf7-form label {
  display: block;
  margin-bottom: 5px;
  font-weight: 600;
  color: #333;
  font-size: 14px;
}

/* CF7 Radio & Checkbox */
.wpcf7-form .wpcf7-list-item {
  margin: 0 0 8px 0;
  display: flex;
  align-items: center;
}

.wpcf7-form input[type="radio"],
.wpcf7-form input[type="checkbox"] {
  margin: 0 8px 0 0;
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.wpcf7-form .wpcf7-list-item-label {
  cursor: pointer;
  user-select: none;
}

/* CF7 Submit Button */
.wpcf7-form input[type="submit"] {
  background: #074987;
  color: #fff !important;
  border: none;
  padding: 12px 30px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.1s ease;
}

.wpcf7-form input[type="submit"]:hover {
  background: #053a6b;
  transform: translateY(-1px);
}

.wpcf7-form input[type="submit"]:active {
  transform: translateY(0);
}

/* CF7 Validation Errors */
.wpcf7-not-valid {
  border-color: #dc3545 !important;
}

span.wpcf7-not-valid-tip {
  color: #dc3545;
  background-color: #f8d7da;
  padding: 6px 12px;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  font-size: 13px;
  margin-top: 5px;
  display: block;
}

/* CF7 Response Messages */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
  font-size: 14px;
  padding: 12px 20px;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #c3e6cb;
  background-color: #d4edda;
  color: #155724;
  font-size: 14px;
  padding: 12px 20px;
}

div.wpcf7-validation-errors {
  color: #721c24;
  background-color: #f8d7da;
  border: 2px solid #f5c6cb;
  padding: 12px 20px;
  border-radius: 4px;
  margin-top: 15px;
}

div.wpcf7-mail-sent-ok {
  color: #155724;
  background-color: #d4edda;
  border: 2px solid #c3e6cb;
  padding: 12px 20px;
  border-radius: 4px;
  margin-top: 15px;
}

/* CF7 Spinner & Layout */
.wpcf7-spinner {
  margin: 0 0 0 10px;
  display: inline-block;
}

.wpcf7-form p {
  margin-bottom: 15px;
}

.wpcf7-form br {
  display: none;
}

/* Mobile CF7 Improvements */
@media (max-width: 767px) {

  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="url"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form input[type="number"],
  .wpcf7-form input[type="date"],
  .wpcf7-form textarea,
  .wpcf7-form select {
    font-size: 16px;
    /* Prevents iOS zoom on focus */
  }

  .wpcf7-form input[type="submit"] {
    width: 100%;
    padding: 14px 20px;
  }
}

.sf-menu>li:hover .sub-menu {
  display: block !important;
  visibility: visible !important;
}

.page-template-page-home-video .menu-container {
  margin-top: 20px;
}

.page-template-page-home-video .tw-social-icon {
  margin-top: 10px;
}


/* Service icon fix */
.tw-service-box .tw-service-icon {
  display: block;
  width: 85px !important;
  height: 85px !important;
  margin: 10px auto 15px;
}

.tw-service-icon {
  display: inline-block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  font-size: 24px;
  color: #074987;
}



.theme-boxed .container {
  padding-left: 30px !important;
  padding-right: 30px !important;
}


.tw-carousel-partner.list_carousel li {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tw-carousel-partner.list_carousel li img {
  margin: 0 auto;
}

/* ============================================================
   ACCESSIBILITY (a11y) — WCAG 2.1 AA
   ============================================================ */

/* Screen-reader-only utility */
.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;
}

/* Skip-to-main-content link */
.skip-link {
  position: absolute;
  top: -9999px;
  left: 1rem;
  z-index: 99999;
  background: #074987;
  color: #fff;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  border-radius: 0 0 4px 4px;
  text-decoration: none;
}

.skip-link:focus {
  top: 0;
  outline: 3px solid #fff;
  outline-offset: 2px;
}

/* Restore visible focus indicators — overrides flatco/style.css outline:0 */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
  outline: 3px solid #074987;
  outline-offset: 2px;
}

/* Suppress outline on mouse clicks (keep for keyboard only) */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) {
  outline: none;
}

/* CF7 form inputs — keep box-shadow AND visible outline on focus */
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form input[type="date"]:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
  border-color: #074987;
  outline: 3px solid #074987;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(7, 73, 135, 0.1);
}

/* Scroll-to-top button — reset button styles, match original link appearance */
button#scrollUp {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

/* ---- Color contrast fixes (WCAG AA 4.5:1) ---- */

/* Loop meta "Posted on" label — was #aaaaaa (2.32:1), darkened to pass */
ul.loop-meta li {
  color: #6b6b6b;
}

/* Search form input text — was #d6d6d6 (1.45:1) on white */
form#searchform input {
  color: #333333;
}

/* Search form placeholder text */
form#searchform input::placeholder {
  color: #6b6b6b;
}

form#searchform input::-webkit-input-placeholder {
  color: #6b6b6b;
}

form#searchform input:-moz-placeholder {
  color: #6b6b6b;
}

form#searchform input::-moz-placeholder {
  color: #6b6b6b;
}

/* CF7 form placeholder — WCAG AA compliant (4.5:1 contrast on white)
   High-specificity selectors + !important to beat CF7 plugin stylesheet. */
body .wpcf7-form input[type="text"]::placeholder,
body .wpcf7-form input[type="email"]::placeholder,
body .wpcf7-form input[type="tel"]::placeholder,
body .wpcf7-form input[type="url"]::placeholder,
body .wpcf7-form input.wpcf7-email::placeholder,
body .wpcf7-form input.wpcf7-text::placeholder,
body .wpcf7-form textarea::placeholder {
  color: #757575 !important;
  /* 4.54:1 contrast ratio on white */
  opacity: 1 !important;
}

body .wpcf7-form input[type="text"]::-webkit-input-placeholder,
body .wpcf7-form input[type="email"]::-webkit-input-placeholder,
body .wpcf7-form input[type="tel"]::-webkit-input-placeholder,
body .wpcf7-form input[type="url"]::-webkit-input-placeholder,
body .wpcf7-form input.wpcf7-email::-webkit-input-placeholder,
body .wpcf7-form input.wpcf7-text::-webkit-input-placeholder,
body .wpcf7-form textarea::-webkit-input-placeholder {
  color: #757575 !important;
  opacity: 1 !important;
}

body .wpcf7-form input[type="text"]::-moz-placeholder,
body .wpcf7-form input[type="email"]::-moz-placeholder,
body .wpcf7-form input[type="tel"]::-moz-placeholder,
body .wpcf7-form input[type="url"]::-moz-placeholder,
body .wpcf7-form input.wpcf7-email::-moz-placeholder,
body .wpcf7-form input.wpcf7-text::-moz-placeholder,
body .wpcf7-form textarea::-moz-placeholder {
  color: #757575 !important;
  opacity: 1 !important;
}

#bottom .copyright,
#bottom .copyright a {
  color: #2a2f3c !important;
  /* darkened from #aaaaaa for WCAG AA contrast on #e8e8e8 footer */
}

/* CF7 input text color — also WCAG AA compliant */
body .wpcf7-form input[type="text"],
body .wpcf7-form input[type="email"],
body .wpcf7-form input[type="tel"],
body .wpcf7-form input[type="url"],
body .wpcf7-form input.wpcf7-email,
body .wpcf7-form input.wpcf7-text,
body .wpcf7-form textarea.wpcf7-textarea {
  color: #333333 !important;
  /* 12.63:1 contrast ratio on white */
}

/* Facebook share button — darken blue for better contrast (5.93:1 vs 4.53:1) */
.facebook-share-button {
  background: #1565c0 !important;
  color: #fff !important;
}

/* Main content links — improve contrast with surrounding text and add underline */
.main-col-wrapper p a {
  color: #0066cc !important;
  text-decoration: underline !important;
}

.main-col-wrapper p a:hover,
.main-col-wrapper p a:focus {
  color: #074987 !important;
}

/* ---- p.page-subtitle — mirrors old #page-title h3 styles ---- */
#page-title p.page-subtitle {
  display: block;
  margin: 0;
  color: #fff;
  clear: left;
  letter-spacing: normal;
  font-weight: normal;
  font-size: 13px;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 30px;
}

/* Prefers-reduced-motion — disable all animations/transitions */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.loop-meta li i {
  color: #fff
}

.tw-breadcrumb span a {
  color: #fff !important;
  font-weight: bold;
  text-decoration: underline;
}

.main-col-wrapper p a.btn-flat {
  text-decoration: none !important;
  color: #fff !important;
}