/*
Theme Name: WideFocus
Theme URI: https://widefocusstrategies.com
Author: Ivycat Web Services
Author URI: https://widefocusstrategies.com
Description: Custom theme based on Twenty Twenty-Five
Version: 1.0
Text Domain: widefocus
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/* Hide page title ONLY on the homepage */
.home .entry-header,
.home .wp-block-post-title {
    display: none !important;
}

/* Wide Focus Styles */
  .hero-cover {
	min-height: 900px;
  }
.hero-cover .wp-block-cover__inner-container {
  width: 1420px;
  height: -webkit-fill-available;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.hero-text {
	padding-bottom: 50px;
}

/* === Wide Focus Footer (custom classes wf-*) === */

footer {
  margin-top: 0;
}

.entry-content {
  margin-top: 0;
}
.wf-footer {
  background: #ffffff;
  border-top: 1px solid #e9e9e9;
  color: #222;
  font-size: 18px;
  padding-left: 30px;
  padding-right: 30px;
}

.wf-footer__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1440px !important;
  margin: 0 auto;
  gap: 36px;
}

.wf-footer__col {
  flex: 1 1 240px;
  min-width: 240px;
}

.wf-footer__brand .wf-logo img {
  max-width: 160px;
  height: auto;
  display: block;
}

.wf-desc {
  margin-top: 12px;
  color: #555;
  line-height: 1.6;
  max-width: 420px;
}

.wf-title {
  font-size: 22px;
  margin: 0 0 12px 0;
  color: #000000;
  font-weight: 500;
}

.wf-nav a {
  color: #222;
  text-decoration: none;
  transition: color .15s ease;
}

.wf-nav a:hover { color: #0b5ea8; }

.wf-contact-item a { color: #0b5ea8; text-decoration: none; }
.wf-contact-item a:hover { text-decoration: underline; }

.wf-newsletter-search .wp-block-search__input {
  padding: 10px 12px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  font-size: 0.95rem;
}

.wf-newsletter-search .wp-block-search__button {
  background: #0b5ea8;
  color: #fff;
  border-radius: 8px;
  padding: 10px 14px;
  border: none;
  cursor: pointer;
}

.wf-social .wp-social-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#0b5ea8;
  color:#fff;
  text-decoration:none;
}

@media (max-width: 900px) {
  .wf-footer__inner { flex-direction: column; gap: 40px; }

  .hero-cover {
	min-height: auto;
  }
  .hero-cover .wp-block-cover__inner-container {
   height: auto;
   justify-content: flex-start;
  }

 .hide-responsive{
	display: none !important;
  }
 
}

.button-w {
width: max-content;
}
.button-w p a{
  text-decoration: none !important;
}

.corner-box {
  position: relative;
  padding: 60px 40px;
  border-radius: 20px;
  background: #fff;
}

.corner-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  border-top: 4px solid #2F6DB5;
  border-left: 4px solid #2F6DB5;
  border-top-left-radius: 20px;
}

.corner-box::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  border-top: 4px solid #2F6DB5;
  border-right: 4px solid #2F6DB5;
  border-top-right-radius: 20px;
}

.blue-checks img, 
.blue-checks, .white-checks, .white-checks img {
    flex-shrink: 0 !important; 
    width: 25px;      
    height: auto;     
    align-self: flex-start ;
}

/* FAQS */

.schema-faq {
    border-top: 1px solid #f0f0f0;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.schema-faq-section {
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    padding: 15px 0 !important;
    position: relative;
    background: transparent;
    overflow: hidden;
    margin: 0 !important;
}

.schema-faq-question {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 32px !important;
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    color: #1a1a1a;
    padding-right: 50px !important;
}

.schema-faq-section::after {
    content: '+';
    position: absolute;
    right: 0;
    top: 15px; 
    width: 32px;
    height: 32px;
    background-color: #2156a3;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 300;
    transition: all 0.3s ease;
}

.schema-faq-section.is-open::after {
    content: '−';
    transform: rotate(180deg);
}

.schema-faq-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.4s ease, padding 0.4s ease;
    padding: 0 50px 0 0;
    color: #4a4a4a;
    line-height: 1.6;
    font-size: 1.1rem;
    margin: 0 !important;
}

.schema-faq-section.is-open .schema-faq-answer {
    max-height: 1000px;
    opacity: 1;
    padding: 10px 50px 10px 0;
}

.is-root-container .schema-faq-answer,
.editor-styles-wrapper .schema-faq-answer {
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    padding: 10px 50px 10px 0 !important;
    display: block !important;
}

.featured-post-right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.navbar {
-webkit-box-shadow: 2px 2px 48px 5px rgba(0,0,0,0.1); 
box-shadow: 2px 2px 48px 5px rgba(0,0,0,0.1);
}

.gform_title, .gform_description {
display: none;
}

.gform_wrapper {
    background: #F3F8FC;
    padding: 30px;
    border-radius: 32px;
}

.input-field input {
border: none !important;
}
.input-field textarea {
border: none !important;
}

.gform_button{
 background: #1F5FA8 !important;
}


/* Media Queries - Responsive Classes */

@media (min-width: 900px) {
  .contact-link {
    display: none !important;
  }
  .hide-desk {
    display: none !important;
  }
}

@media (max-width: 780px) {

.wp-block-site-logo img {
 width: 100px;
}

.hero-logo {
display: none;
}
.pt-20 {
padding-top: 20px;
}
.button-w {
height: 50px;
  a {
  font-size: 14px !important;
  font-weight: bold;
}


img {
 width: 40px !important;
 height: 40px !important;
}
}

.hero-alter {
  h1 {
   font-size: 16px !important;
}
.wide-text {
font-size: 28px !important;
}
}

.hero-texts  {

p-none {
 padding: 0 !important;
}

  h1 {
   font-size: 24px !important;
}
  p {
  font-size: 12px !important;
}
}
  h2 {
  font-size: 28px !important;
}
  .m-off {
    margin: 0 !important;
  }
 .erin-hero img {
   height: 300px;
 }
 .cards-m {
  padding: 25px !important;
  img {
  margin-bottom: 10px !important;
  width: 100% !important;
  }
}
 .reverse {
flex-direction: column-reverse;
}

.img-m img {
 width: 100% !important;
}
.card-mb {
 gap: 30px !important;
}
.white-checks, .white-checks img {
 align-self: center;
 width: 20px;
}

.ptb-m {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.hide-m {
    display: none !important;
 }

.schema-faq-question {
 font-size: 18px !important;
}

.schema-faq-answer {
 font-size: 14px;
}

.corner-box p{
 font-size: 18px !important;
}

.flex-m {
  display: flex;
  gap: 10px;
    flex-direction: row !important;
  flex-wrap: nowrap !important;
  figure {
     flex-shrink: 0 !important;

  }
  img {
  width: 25px !important;
}

}

.wf-footer__links nav ul{
flex-direction: row;
}

.schema-faq-section::after {
    top: 45%;
    width: 15px;
    height: 15px;
}

.wf-footer__col {
 flex: 1 1 100px !important;
}

}

/* Block Styles */

.featured-block {
margin-bottom: 0;
}


a:hover {
text-decoration: underline dotted !important;
}