@charset "UTF-8";
/* ================================================== */
/*!
Theme Name: IM Starter
Theme URI: https://improvisedmedia.com
Author: Improvised Media
Author URI: https://improvisedmedia.com
Description: Full-service web and media solutions theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: im-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

IM Starter is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
## Links
## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
## Posts and pages
## Comments
# Infinite scroll
# Media
## Captions
## Galleries


--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
 ========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
/*** Sensei Quiz Styles ***/
.entry.quiz-questions {
  max-width: 950px;
  padding: 30px;
  border-radius: 10px;
  margin: auto;
}

.quiz form ol#sensei-quiz-list {
  margin: 0 0 1.618em;
  list-style-position: outside;
  list-style: none;
  counter-reset: quiz-count;
}

.multiple-choice {
  counter-increment: quiz-count;
}

.multiple-choice::before {
  content: counter(quiz-count) ".";
  float: left;
  margin-right: 15px;
  font-weight: 800;
  color: #0A7AFF;
  font-size: 2em;
}

.multiple-choice {
  background: #efefef;
  padding: 60px 45px;
  border-radius: 10px;
  border: 1px #d9d9d9 solid;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03), 0 2px 2px rgba(0, 0, 0, 0.03), 0 4px 4px rgba(0, 0, 0, 0.03), 0 6px 8px rgba(0, 0, 0, 0.03), 0 8px 12px rgba(0, 0, 0, 0.03);
          box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03), 0 2px 2px rgba(0, 0, 0, 0.03), 0 4px 4px rgba(0, 0, 0, 0.03), 0 6px 8px rgba(0, 0, 0, 0.03), 0 8px 12px rgba(0, 0, 0, 0.03);
}

.quiz form ol#sensei-quiz-list li {
  position: relative;
  margin: 0 0 2em;
  font-size: 1.1em;
}

.video-width {
  max-width: 1000px;
  margin: auto;
}

.lesson-content-holder {
  max-width: 1000px;
  margin: 60px auto;
}

.product_title.entry-title {
  margin-bottom: 10px;
}

.single-course .widget-area, .single-quiz .widget-area, .single-lesson .widget-area {
  display: none;
}

.single-course .content-area, .single-quiz .content-area, .single-lesson .content-area {
  width: 90%;
  margin: auto;
  padding: 0 0;
  margin: 0 auto;
  float: none;
}

.single-quiz .sensei-message.tick {
  margin-bottom: 30px;
}

.quiz dt {
  font-weight: bold;
  display: none;
}

.video-zone {
  padding: 30px 60px;
  background: #000;
}

/** Hide featured image on Sensei Single Course Page **/
.course .post-thumbnail {
  display: none !important;
}

/** Position Sensei Alert if user has no courses **/
.page-id-9907 .sensei-message.info {
  margin-top: 10px !important;
  text-align: center;
}

/** (TEMPORARY) Hides course results button **/
.page-id-9907 .sensei-results-links {
  display: none;
}

/** Decrease Page Title bottom margin on Learner Homepage only **/
.page-id-9907 .entry-title {
  margin: 40px 0 20px 5%;
}

/** Custom class for Gutenberg - styles Slick Slider on Learner Homepage **/
.courses-slider {
  border-radius: 10px;
  border: 1px solid #ddd;
}

/** Set left and right padding for Slick Slider on Learner Homepage **/
.page-id-9907 .slick-slider {
  padding: 0 20px;
}

/** Position Sensei Course Meta on Cards - Learner Homepage **/
.page-id-9907 .course .sensei-course-meta {
  text-align: center;
  margin-top: -10px;
}

/** Position Lesson Count - Learner Homepage **/
.page-id-9907 .course-lesson-count {
  clear: both;
  display: block;
}

/** Learner text area positioning **/
.learner-title-section {
  padding-left: 30px;
  border-left: 5px solid #0A7AFF;
}

.learner-title-section p {
  margin: 5px 0;
  line-height: 16px;
}

/*--------------------------------------------------------------
# Sensei Overrides
--------------------------------------------------------------*/
/* Complete course green button on Lesson page */
.lesson footer {
  text-align: center;
}

.quiz form ol#sensei-quiz-list li > span span {
  float: right;
  display: none;
}

.course .wp-block-group__inner-container img {
  border: 1px #ddd solid;
}

@media (min-width: 800px) {
  .user-status-completed .sensei-course-custom {
    width: 30%;
    float: right;
    margin-top: 0;
    margin-right: 0;
    padding-left: 20px;
    height: 80px;
    margin-bottom: 20px;
    text-align: left;
  }
}

.course-content h3 {
  margin: .5em 0 !important;
}

/* Lesson Page - BACK TO COURSE */
.sensei-breadcrumb {
  background: #fafafa;
  margin: 2em 0;
  padding: .5em 1em;
  font-style: normal !important;
  font-weight: 800 !important;
  color: #888;
  clear: both;
  border: 1px solid #ddd;
}

.sensei-breadcrumb:before {
  margin-right: .618em;
  content: '\f053' !important;
}

/* Adds Lab count to Course list */
/* Lesson completed status on course pages */
section.entry span.course-lesson-progress {
  margin-left: 10px;
  color: green;
  float: right;
  font-weight: 800;
}

/* Shows course archive in grid */
.course-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-bottom: 0px;
  justify-items: space-evenly;
}

#user-course-status-toggle a {
  color: #0A7AFF;
}

/* Course list styling - width percentage controls grid */
.course img {
  border: 1px #ddd solid;
}

.course-container img:hover {
  border: 2px #999 solid;
}

.columns-1 li.course {
  width: 48%;
  border: 1px #ddd solid;
  background-color: #fefefe;
  padding-right: 10px;
  padding-left: 40px;
  margin-right: 20px;
}

/* Course list single column less than 800px */
@media (max-width: 800px) {
  .columns-1 li.course {
    padding-right: 0;
    width: 100%;
  }
}

.course .woo-image {
  max-width: 250px;
}

.page-id-9907 .type-course img {
  max-width: none;
}

/* Course navigation text styling */
.nav-next, .nav-prev {
  font-weight: bold;
  padding-bottom: 20px;
  display: none;
}

/* Sensei buttons & forms */
.course #commentform #submit, .course .submit, .course a.button, .course a.button:visited, .course a.comment-reply-link, .course button.button, .course input.button, .course input[type=submit], .course-container #commentform #submit, .course-container .submit, .course-container a.button, .course-container a.button:visited, .course-container a.comment-reply-link, .course-container button.button, .course-container input.button, .course-container input[type=submit], .lesson #commentform #submit, .lesson .submit, .lesson a.button, .lesson a.button:visited, .lesson a.comment-reply-link, .lesson button.button, .lesson input.button, .lesson input[type=submit], .quiz #commentform #submit, .quiz .submit, .quiz a.button, .quiz a.button:visited, .quiz a.comment-reply-link, .quiz button.button, .quiz input.button, .quiz input[type=submit] {
  display: inline-block;
  padding: 8px 24px;
  border: none;
  color: #fff;
  text-align: center;
  text-shadow: none;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 16px;
  font-family: inherit;
  cursor: pointer;
  overflow: visible;
  width: auto;
  line-height: 1.618em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  white-space: nowrap;
  -webkit-appearance: none;
  border-radius: 1px;
  background: #0A7AFF;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.course div.sensei-message.download, .course div.sensei-message.tick, .course p.sensei-message.download, .course p.sensei-message.tick, .course-container div.sensei-message.download, .course-container div.sensei-message.tick, .course-container p.sensei-message.download, .course-container p.sensei-message.tick, .learner-info div.sensei-message.download, .learner-info div.sensei-message.tick, .learner-info p.sensei-message.download, .learner-info p.sensei-message.tick, .lesson div.sensei-message.download, .lesson div.sensei-message.tick, .lesson p.sensei-message.download, .lesson p.sensei-message.tick, .quiz div.sensei-message.download, .quiz div.sensei-message.tick, .quiz p.sensei-message.download, .quiz p.sensei-message.tick, .sensei div.sensei-message.download, .sensei div.sensei-message.tick, .sensei p.sensei-message.download, .sensei p.sensei-message.tick {
  background: none;
}

.lesson div.sensei-message.tick {
  margin: 0 0 30px 0;
}

.course #commentform #submit:hover, .course .submit:hover, .course a.button:hover, .course a.button:visited:hover, .course a.comment-reply-link:hover, .course button.button:hover, .course input.button:hover, .course input[type=submit]:hover, .course-container #commentform #submit:hover, .course-container .submit:hover, .course-container a.button:hover, .course-container a.button:visited:hover, .course-container a.comment-reply-link:hover, .course-container button.button:hover, .course-container input.button:hover, .course-container input[type=submit]:hover, .lesson #commentform #submit:hover, .lesson .submit:hover, .lesson a.button:hover, .lesson a.button:visited:hover, .lesson a.comment-reply-link:hover, .lesson button.button:hover, .lesson input.button:hover, .lesson input[type=submit]:hover, .quiz #commentform #submit:hover, .quiz .submit:hover, .quiz a.button:hover, .quiz a.button:visited:hover, .quiz a.comment-reply-link:hover, .quiz button.button:hover, .quiz input.button:hover, .quiz input[type=submit]:hover {
  text-decoration: none;
  color: #fff;
  background: #333333;
}

/* Status positioning */
.course .course-meta .status {
  float: left;
  margin-right: .236em;
}

/* Course tabs */
#user-course-status-toggle a.active {
  background: #0A7AFF;
  color: #fff;
}

/* Lesson title on single course page */
.course header h2 {
  font-size: 2em;
  font-weight: 800;
  margin: 30px 0;
}

header h2 {
  text-align: left;
  color: #444;
}

/* Lesson card title on single course page */
section.course-lessons h2 {
  font-size: 1.3em;
  font-weight: 700;
}

.course .status, .course-container .status, .course-lessons .status {
  padding: .382em 1em;
  border-radius: 5px;
  color: #fff;
  font-weight: 700;
  background: #444;
  display: inline-block;
}

/*-----------------------------
    # Sensei - Lesson cards/areas
    ------------------------------*/
#sensei-user-courses .sensei-message.info {
  margin-top: 10px !important;
}

.course .entry-content {
  margin: 0 0;
  padding: 50px 40px 30px 40px;
}

.lesson .entry-content {
  margin: 0 0;
}

.course-lessons {
  padding: 0 0;
}

.course-lessons .lesson {
  margin: 0 0;
  border-top: 1px #eee solid;
  border-right: 1px #eee solid;
  border-left: 1px #eee solid;
  padding: 40px 20px 20px 40px;
  background-color: #fff;
}

.course-lessons .lesson:last-child {
  border-bottom: 1px #eee solid;
}

.course .course-excerpt, .course-container .course .course-excerpt, .course-container .course-excerpt {
  margin-top: 10px;
  font-weight: 600;
}

/*------------------------------------------------------
    # Sensei Custom Wrapper - for course and lesson pages
    --------------------------------------------------------*/
@media (min-width: 800px) {
  .sensei-course-custom {
    width: 35%;
    float: right;
    margin-top: -125px;
    margin-right: -40px;
    padding-left: 20px;
    height: 80px;
    margin-bottom: 20px;
    text-align: right;
    padding-right: 15px;
    border-right: 3px solid #eee;
  }
}

/* Drop shadow course cards Course page */
.woo-image.wp-post-image {
  -webkit-box-shadow: 0px 11px 24px rgba(38, 39, 43, 0.11);
  box-shadow: 0px 2px 7px rgba(38, 39, 43, 0.11);
}

/******************************************************/
/* Global Sensei */
/******************************************************/
/** Clear bottom border in Sensei Course Loop **/
.course {
  border-bottom: none;
}

/** Hide Coursse Excerpt (everywhere) - for now **/
.course-excerpt {
  display: none;
}

/** Hide Cart on Sensei Pages **/
.sensei .cart-contents {
  display: none;
}

/******************************************************/
/* Sensei - Course Archive */
/******************************************************/
/** Set Grid Courses - Sensei Course Archive Page **/
.page-id-12 .regular {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/** Hide Course Progress - Course Archive Page **/
.page-id-12 .course-lesson-progress {
  display: none;
}

/** Course Title Styles - Course Archive Page **/
.page-id-12 .course-title {
  font-size: 14px;
}

/** Hide Lesson Count - Course Archive Page **/
.page-id-12 .course-lesson-count {
  clear: both;
  display: none;
}

/* Sensei messages/info - font style */
.sensei-message.info {
  font-size: 14px;
  color: #0A7AFF;
  float: right;
}

/* buggy positioning for Sensei messages/info */
.lesson div.sensei-message.info, .sensei div.sensei-message.info {
  margin-top: -20px;
}

/* sign up for lesson - on desktop - not logged in */
.quiz .sensei-message.info {
  margin-top: -35px !important;
}

/* QUIZ BUTTON CENTER */
.lesson footer p {
  text-align: center;
  margin: 30px 0;
}

/* Course enrollment positioning */
section.course-meta.course-enrolment {
  float: none;
}

/* Sensei progress button? */
.course div.sensei-message, .course p.sensei-message, .course-container div.sensei-message, .course-container p.sensei-message, .learner-info div.sensei-message, .learner-info p.sensei-message, .lesson div.sensei-message, .lesson p.sensei-message, .quiz div.sensei-message, .quiz p.sensei-message, .sensei div.sensei-message, .sensei p.sensei-message {
  clear: both;
  margin: 0 0 0;
  padding: 0 0;
  border: none !important;
  border-radius: 5px;
  background-clip: padding-box;
}

/* Hide 'in progress' button - for now */
.status.in-progress {
  display: none !important;
}

.logged-in .in-progress {
  display: none;
}

/* MY COURSES meta info */
/* Course/Lesson info positioning */
.course div.sensei-message.info, .course p.sensei-message.info, .course-container div.sensei-message.info, .course-container p.sensei-message.info, .learner-info div.sensei-message.info, .learner-info p.sensei-message.info, .lesson div.sensei-message.info, .lesson p.sensei-message.info, .quiz div.sensei-message.info, .quiz p.sensei-message.info, .sensei div.sensei-message.info, .sensei p.sensei-message.info {
  background: none;
  margin: -30px 0 15px 0;
  font-size: 12px;
}

.lesson div.sensei-message.info {
  margin: 0;
  font-size: 13px;
  float: none;
  padding: 10px 0;
}

/* Status positioning */
.course .course-meta .status {
  float: left;
  margin-right: .236em;
}

/* Lesson list container */
section.course-lessons {
  margin: 20px 0 20px 0;
}

/* Course completed - green float right */
.course .course-lessons .lesson p.lesson-meta .lesson-status.complete, .course .module-lessons .lesson p.lesson-meta .lesson-status.complete, .course-container .course .course-lessons .lesson p.lesson-meta .lesson-status.complete, .course-container .course .module-lessons .lesson p.lesson-meta .lesson-status.complete, .course-container .course-lessons .lesson p.lesson-meta .lesson-status.complete, .course-container .module-lessons .lesson p.lesson-meta .lesson-status.complete {
  color: #63a95f;
  float: right;
  font-weight: bold;
}

.course .course-lessons .lesson p.lesson-meta .lesson-status.complete {
  color: #63a95f;
  float: right;
  margin-top: -30px;
  margin-bottom: 15px;
  font-weight: bold;
}

/* Lesson card styling for Gutenberg */
.lesson-info {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px;
  list-style: none;
  border: 1px #eee solid;
}

/* Lesson meta - clear margins */
.lesson .lesson-meta {
  margin: 0 0 .5em;
}

.course .course-author, .course .sensei-course-meta, .course-container .course .course-author, .course-container .course .sensei-course-meta, .course-container .course-author, .course-container .sensei-course-meta {
  color: #888;
  font-size: .9em;
  padding: 0 0 20px 0;
}

/* Course/lesson progress - font styling */
span.progress.statement.course-completion-rate {
  font-size: 12px;
  font-weight: bold;
  color: #0A7AFF;
}

/******************************************************/
/* Learner Homepage */
/******************************************************/
/**** Not Logged In ****/
#customer_login {
  color: #fff;
  padding: 20px 30px;
}

#loginform {
  width: 400px;
}

/*** Hide paid or free course learner homepage ***/
.page-id-9907 .course-products {
  display: none;
}

/** Course Card Styles **/
.page-id-9907 .course {
  background: #fff;
  padding: 10px;
  border-radius: 10px;
  -webkit-box-shadow: 5px 5px #aaa;
          box-shadow: 5px 5px #aaa;
  -webkit-box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.2);
  border: 1px solid #ccc;
}

/** Style Course Title on Cards - Learner Homepage **/
.page-id-9907 .course .course-title {
  display: inline-block;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  /** Truncate Titles **/
  width: 100%;
  font-size: 14px;
  text-align: center;
}

/** Style Lesson Progress - Course Cards - Learner Homepage **/
.page-id-9907 section.entry span.course-lesson-progress {
  margin-left: 0px !important;
  color: green;
  float: left;
  font-weight: 800;
  position: absolute;
  line-height: 8px;
  font-size: 8px;
  width: 100%;
  left: 0;
}

/** Sense Course Landing Page **/
.page-id-12 .entry-title {
  display: none;
}

/** Fit Lesson images in Div - IE COMPATIBILITY **/
.lesson img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: auto;
  /* Adhere to container width. */
  width: 100%;
}

/*** End new code ***/

/******************************************************/
/* Electronics Courses Page (page-id-20633) - Grid    */
/******************************************************/
/** Grid layout for course list **/
.page-id-20633 .regular {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/** Course card **/
.page-id-20633 .course {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  padding: 20px 15px;
  text-align: center;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  list-style: none;
}

.page-id-20633 .course:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  transform: translateY(-2px);
}

/** Center and size the thumbnail **/
.page-id-20633 .course .woo-image.wp-post-image {
  width: 120px !important;
  height: 120px !important;
  float: none !important;
  display: block !important;
  margin: 0 auto 12px !important;
  border-radius: 6px;
  border: 1px solid #eee;
}

/** Course title centered under image **/
.page-id-20633 .course-title {
  font-size: 13px;
  font-weight: 700;
  margin: 0;
  padding: 0;
  line-height: 1.3;
}

.page-id-20633 .course-title a {
  color: #333;
  text-decoration: none;
}

.page-id-20633 .course-title a:hover {
  color: #0A7AFF;
}

/** Hide author, lesson count, excerpt on grid **/
.page-id-20633 .course-author,
.page-id-20633 .course-lesson-count,
.page-id-20633 .course-lesson-progress,
.page-id-20633 .sensei-course-meta,
.page-id-20633 .course-excerpt {
  display: none !important;
}

/** Hide page title **/
.page-id-20633 .entry-title {
  display: none;
}

/** Responsive: 3 cols on tablet **/
@media (max-width: 960px) {
  .page-id-20633 .regular {
    grid-template-columns: repeat(3, 1fr);
  }
}

/** Responsive: 2 cols on mobile **/
@media (max-width: 600px) {
  .page-id-20633 .regular {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .page-id-20633 .course {
    padding: 15px 10px;
  }
}

/* Title above course grid */
.ticss-fa747939 {
  font-size: 2.5em !important;
}

/* Homepage course grid cards */
.card-5 .cl .wp-block-group {
  border-style: solid;
  border-width: 1px;
  border-color: #e2e2e2;
  border-radius: 0;
}

.card-5 .cl .wp-block-group:hover {
  border-color: #aaa;
}

/* Progress meter style overrides */
.meter.red > span {
  background: #0A7AFF;
}

.meter.orange > span {
  background: #0A7AFF;
}

.meter {
  height: 25px;
  line-height: 25px;
  position: relative;
  background: #cccccc;
  border-radius: 0px;
  clear: both;
}

.course-results-lessons h2, .meter {
  margin: 10px 0;
}

.meter .value {
  display: block;
  padding: 0 5px 0 0;
  height: 100%;
  background-color: #63a95f;
  position: relative;
  overflow: hidden;
  text-align: right;
  color: #fff;
  min-width: 45px;
  font-weight: 700;
  border-radius: 0px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/******************************************************/
/* Learner Homepage - Slick Slider Loading Improvement */
/******************************************************/
/** Smooth out Slick Loading - Learner Homepage (Consider switching to Global after we implement more sliders) **/
.page-id-9907 .regular {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

.page-id-9907 .regular.slick-initialized {
  visibility: visible;
  opacity: 1;
}

.page-id-9907 .regular li {
  display: none;
}

.page-id-9907 .regular li:first-child {
  display: block;
  visibility: hidden;
}

.page-id-9907 .regular.slick-initialized li {
  display: block;
  visibility: visible !important;
}

.postid-14417 section.course-meta.course-enrolment {
  display: none;
}

.sensei-course-custom {
  margin-top: -75px;
}

.progress {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  height: 1em;
  overflow: visible !important;
  line-height: 0;
  font-size: .75rem;
  background-color: #fefefe !important;
  border-radius: .25rem;
}

.lesson h1.entry-title {
  font-size: 2.2em !important;
  text-align: center;
  font-weight: 800 !important;
}

.lesson p {
  color: #fff;
  text-align: justify;
}

.single-course .site-content {
  margin-top: 20px !important;
}

.course .wp-block-group__inner-container img {
  border: none;
}

.single-lesson .site-content {
  margin-top: 0px !important;
}

.course header.entry-header, .lesson header.entry-header {
  margin-top: 120px;
}

.lesson .entry-content {
  margin-top: 50px !important;
}

.course-lessons .lesson {
  min-width: 500px !important;
}

section.course-lessons {
  text-align: center;
}

.lesson h2 {
  font-size: 13px !important;
}

.course-lessons .lesson {
  min-width: 200px;
}

.chat_box {
  width: 350px !important;
}

.main_msg {
  font-size: 10px !important;
}

.quiz .entry-title {
  text-align: center;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
  margin-bottom: 60px;
}

@media screen and (min-width: 600px) and (max-width: 781px) {
  .lesson .wp-block-columns {
    display: inline-block !important;
  }
}

.lesson h1.entry-title {
  margin-bottom: 30px !important;
  border-bottom: 1px solid #222;
  padding-bottom: 20px;
  margin: auto;
  margin-top: 30px;
}

.lesson input.quiz-submit.reset, .quiz input.quiz-submit.reset {
  background: #0A7AFF;
  font-size: 12px;
}

.chat_box {
  margin-left: 32px !important;
}

.lesson p {
  color: #fff;
}

.lesson h3 {
  color: #fff;
}

.lesson figcaption {
  color: #fff;
}

.lesson .sensei-message.tick {
  color: #fff;
}

.lesson-template-default .cst-frm {
  display: none !important;
}

.lesson h1.entry-title {
  font-size: 1.6em;
  text-align: center;
}

/* Scrollable sticky sidebar settings */
.sticky-side {
  position: fixed;
  right: 30px;
  width: 18%;
  overflow-y: scroll;
  max-height: 100%;
}

/* clear quiz numbering for now */
.multiple-choice::before, .boolean::before {
  content: none;
}

/* style quiz cards */
.multiple-choice, .boolean {
  background: #efefef;
  padding: 60px 45px;
  border-radius: 10px;
  border: 1px #d9d9d9 solid;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03), 0 2px 2px rgba(0, 0, 0, 0.03), 0 4px 4px rgba(0, 0, 0, 0.03), 0 6px 8px rgba(0, 0, 0, 0.03), 0 8px 12px rgba(0, 0, 0, 0.03);
          box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03), 0 2px 2px rgba(0, 0, 0, 0.03), 0 4px 4px rgba(0, 0, 0, 0.03), 0 6px 8px rgba(0, 0, 0, 0.03), 0 8px 12px rgba(0, 0, 0, 0.03);
}

/* Completed Courses position */
@media screen and (min-width: 800px) {
  .user-status-completed .sensei-course-custom {
    margin-top: -75px;
  }
}

/* center lesson title courses page */
.lesson header.lesson-title {
  display: block;
  text-align: center;
  display: none;
  margin: -15px;
}

.lesson header.lesson-title {
  display: block;
  text-align: center;
}

/* box shadow - card style for lesson list on courses page */
.course-lessons .lesson {
  -webkit-box-shadow: 0px 11px 24px rgba(38, 39, 43, 0.11);
  box-shadow: 0px 2px 7px rgba(38, 39, 43, 0.11);
}

/* lesson list card styling on courses page */
.course-lessons .lesson {
  margin: 10px 0;
  border-top: 1px #eee solid;
  border-right: 1px #eee solid;
  border-left: 1px #eee solid;
  padding: 20px 40px;
  background-color: #fff;
  display: inline-block;
  line-height: 70px;
  border-bottom: 1px #eee solid;
  min-width: 250px;
}

/* lesson link styling */
.lesson a {
  text-decoration: none !important;
}

/* lesson image - NOT SURE */
.lesson img {
  height: auto;
  max-width: auto;
  width: auto;
}

/* Sensei Course Meta info -- Not sure what this does anymore */
.page-id-9907 .course .sensei-course-meta {
  text-align: center;
  margin-top: -10px;
  padding-bottom: 20px !important;
}

.sensei-course-meta {
  padding: 0px !important;
}

/* Sensei font styles */
.course-lessons p {
  display: none;
}

/* Sensei footer content positioning */
.lesson footer {
  -webkit-box-pack: left !important;
      -ms-flex-pack: left !important;
          justify-content: left !important;
}

.course header h2 {
  font-size: 1.5em;
}

section.course-lessons h2 {
  margin: 20px 0 20px 0;
  font-size: 16px;
  font-weight: 800 !important;
}

/* start taking this course style */
.course-start {
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* Should be unused - Gutenberg block */
.video-area {
  border: 1px solid #222;
}

/* Course content page styling */
.course .entry-content {
  margin: 0 0;
  padding: 0px 40px 30px 40px;
}

/* fixes bug that pushes div down on certain screen sizes */
@media screen and (min-width: 800px) {
  .sensei-course-custom {
    margin-top: -75px;
  }
}

/* Styles lab/lesson lists -custom Gutenberg class */
.inline-list li {
  display: inline-block;
  margin-right: 30px;
  font-size: 14px;
}

/* Style dark lab/lesson pages */
.lab-side {
  color: #fff;
}

/* Should be unused - custom Gutenberg block class */
.lab-header {
  background: #eee;
  padding: 20px;
  border-radius: 8px;
}

/* font color on dark lesson pages */
.lesson p {
  color: #eee;
}

/* Sensei breadcrumbs style */
.sensei-breadcrumb {
  background: #000;
  margin: 2em 0;
  padding: .5em 1em;
  font-style: normal !important;
  font-weight: 800 !important;
  color: #888;
  clear: both;
  border: 1px solid #333;
}

/* Complete Quiz button style */
.quiz-submit.complete {
  font-size: 12px !important;
}

/* Sensei button styles */
footer .button {
  font-size: 12px !important;
}

/* Sensei button styles */
.quiz-submit.save {
  font-size: 12px !important;
}

/* Sensei footer positioning */
.lesson footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

/* Sensei footer font styles */
.lesson footer p {
  text-align: left;
  margin: 0 0;
}

/* Sensei footer button position */
.lesson footer input[type="submit"] {
  margin: 0 0 0 6px;
}

/* Lesson h1 styles */
.lesson header h1 {
  margin-bottom: .5em;
  color: #eee;
}

/* Black background Sensei Lessons */
.single-lesson {
  background: #000 !important;
}

/* Sensei - Content Top Margin */
.course header.entry-header {
  margin-top: 100px;
}

/* Mobile Position of Instructor Chat */
@media screen and (max-width: 500px) {
  button#message_drop {
    margin-top: 215px;
  }
}

/* Mobile Lesson Video Size */
@media screen and (max-width: 500px) {
  .type-lesson iframe {
    height: 200px !important;
  }
}

@media screen and (max-width: 800px) {
  .course-lessons .lesson {
    min-width: 100% !important;
  }
}

/* Mobile Sensei Progress Position */
@media screen and (max-width: 800px) {
  .sensei-course-custom {
    margin-top: 0 !important;
  }
}

/* Sensei Course */
.course .wp-block-group__inner-container img {
  border: none;
}

/* Sensei Course */
.single-course .site-content {
  margin-top: 20px !important;
}

.sensei-course-custom {
  margin-top: -75px;
}

/* Buddypress Profile */
@media screen and (max-width: 745px) {
  .bp-single-vert-nav .item-body:not(#group-create-body) {
    background: #fff;
    border: 1px solid #d6d6d6;
    float: right;
    margin: 0;
    min-height: 400px;
    padding: 0 0 0 1em;
    width: 100% !important;
    padding: 18px;
  }
}

.button.bp-secondary-action.action-edit.buddyboss_edit_activity {
  min-width: inherit;
}

.site-branding {
  margin-right: 15px;
}

.main-navigation button {
  color: #0A7AFF !important;
  margin-top: -13px !important;
}

/* Stick sidebar Community Page */
.wp-block-column.sticky-side {
  position: fixed;
  right: 30px;
  width: 18%;
}

/* Improved responsive style Community Page */
@media screen and (min-width: 900px) {
  .buddypress .wp-block-columns {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}

@media screen and (max-width: 900px) {
  .buddypress .wp-block-columns {
    display: block;
  }
}

/* BP edit activity link style */
.bp-secondary-action.buddyboss_edit_activity_comment {
  font-size: 10px;
  color: #666;
  font-weight: 700;
}

.button.bp-secondary-action.action-edit.buddyboss_edit_activity {
  font-size: 10px !important;
  margin-top: 2px;
}

/* Override Grid Breakpoints Home Page */
@media screen and (min-width: 500px) {
  .hero-4 .wp-block-columns {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
}

.activity #subnav-filters {
  display: none;
}

.bplock-locked-message {
  text-align: center;
  margin: 30px !important;
  font-size: 24px;
  background: transparent;
  font-weight: 700;
  padding: 30px !important;
}

#tab-login {
  max-width: 600px;
  margin: auto;
  background: none;
}

.hover-dark:hover {
  background: #eee;
}

.bp-messages-content .thread-content {
  border-left: 1px solid #eaeaea !important;
  padding-left: 15px !important;
}

.bp-messages.bp-user-messages-feedback {
  display: none;
}

.my-profile .label {
  font-size: 12px !important;
}

.editfield.field_1.field_name.required-field.visibility-public.field_type_textbox {
  font-size: 12px;
}

#field-visibility-settings-toggle-1 {
  font-size: 10px !important;
}

.activity-list .created_group, .activity-list .joined_group, .activity-list .friendship_created, .activity-list .new_avatar {
  display: none !important;
}

.activity-list .joined_group {
  display: none;
}

.buddypress .buddypress-wrap .activity-read-more a {
  padding: .3em .5em !important;
  background: #555 !important;
}

.tb-close-icon {
  display: block;
  color: #fff;
  text-align: center;
  line-height: 29px;
  width: 29px;
  height: 29px;
  position: absolute;
  top: 0;
  right: 0;
  background: #0A7AFF;
}

#message-threads li .thread-content .excerpt {
  color: #737373;
  font-size: 12px;
  margin: 0;
  text-overflow: ellipsis;
  overflow: hidden;
  width: 200px;
  white-space: nowrap;
}

#message-threads .thread-subject .subject, #message-threads li.selected .thread-subject .subject {
  color: #0A7AFF;
  font-weight: 700;
  font-size: 14px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  width: 175px;
  display: block;
}

.bp-messages.bp-user-messages-feedback {
  display: none;
}

.bpfb_actions_container input {
  font-size: 12px;
}

.screen-heading.edit-profile-screen {
  display: none;
}

.thread-from .user-link {
  pointer-events: none;
  color: #000;
}

#message-threads .thread-subject .subject, #message-threads li.selected .thread-subject .subject {
  color: #0A7AFF;
  font-weight: 700;
  font-size: 14px;
}

#message-threads li .thread-from, #message-threads li .thread-to {
  margin-top: 5px;
}

.bp-messages-content #bp-message-thread-list .message-metadata {
  border-bottom: 1px solid #eee;
  -webkit-box-shadow: none;
          box-shadow: none;
  display: table;
  padding: .2em;
  width: 100%;
}

.bp-messages-content #bp-message-thread-list .message-metadata .user-link {
  font-size: 12px;
}

.mce-txt {
  color: #000 !important;
  font-weight: 700 !important;
}

#mceu_57 {
  display: none;
}

#mceu_7 {
  display: none;
}

.mce-window .mce-btn.mce-primary {
  background: none !important;
  border-color: #000 !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  color: #000 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  border: 1px solid !important;
}

.mce-toolbar .mce-btn-group .mce-btn.mce-primary .mce-ico {
  color: #000;
}

.mce-btn.mce-active, .mce-btn.mce-active button, .mce-btn.mce-active i, .mce-btn.mce-active:hover button, .mce-btn.mce-active:hover i {
  color: #0A7AFF !important;
}

.bp-messages-content .single-message-thread-header {
  border-bottom: none;
}

.bp-messages-content #bp-message-thread-list {
  border-top: none;
  clear: both;
  list-style: none;
  padding: 0 0;
  margin-top: -10px;
}

#thread-preview {
  display: none;
}

.user-messages-search {
  display: none;
}

.message-action-star {
  display: none !important;
}

.message-lists .thread-date {
  display: none;
}

#starred-personal-li {
  display: none;
}

#sentbox-personal-li {
  display: none;
}

#user-friends .count {
  display: none !important;
}

#user-groups .count {
  display: none;
}

.buddypress-wrap .bp-tables-user th {
  font-size: 12px;
}

.notifications a {
  font-size: 12px;
}

.notification-since {
  font-size: 12px !important;
}

.thread-participants {
  display: none;
}

.messages-button.bulk-apply.bp-tooltip {
  min-width: 50px !important;
}

.buddypress-wrap .subnav-filters.bp-messages-filters ul {
  width: 95% !important;
  margin: 0;
  padding: 0 0 0 10px;
  font-size: 12px;
}

.bp-feedback.help p {
  font-size: 11px !important;
}

.friendship-button {
  font-size: 16px !important;
  max-width: 200px !important;
  border: none !important;
}

.button.invite-button.group-add-remove-invite-button.bp-tooltip.bp-icons {
  min-width: 50px;
  padding-top: 7px;
}

.buddypress-wrap .bp-invites-content .item-list li .invite-button span.icons::before {
  font-size: 20px;
}

.list-title.member-name {
  font-size: 16px !important;
  font-weight: 700 !important;
}

.buddypress .buddypress-wrap .bp-list.grid .action a:focus, .buddypress .buddypress-wrap .bp-list.grid .action a:hover, .buddypress .buddypress-wrap .bp-list.grid .action button:focus, .buddypress .buddypress-wrap .bp-list.grid .action button:hover {
  background: #000;
}

/*** Kill page Title Buddypress - GLOBAL ***/
body.buddypress article.page > .entry-header .entry-title {
  font-size: 24px;
  margin-top: 0;
  display: none;
  font-weight: 700;
  color: #0A7AFF;
}

.bp_group .entry-header .entry-title {
  display: inline !important;
  font-size: 24px;
}

.bp_group {
  margin-top: 15px !important;
}

/*** Max-width profile avatar ***/
.single-headers #item-header-avatar a img {
  float: left;
  width: auto;
  height: auto;
  max-width: 100px;
}

/*** Activity Reloaded Broken CSS style fix ***/
.-meta {
  border: 1px solid transparent;
  background: #fafafa;
  background-clip: border-box;
  padding: 2px;
  position: relative;
  text-align: left;
}

/*** Reposition Notifications List User Profile ***/
.pag-count.top {
  margin-top: -10px;
}

/*** Profile Title Font-size ***/
.screen-heading.profile-group-title {
  font-size: 12px !important;
}

/*** Message delete Button ***/
.message-action-delete {
  min-width: 20px !important;
  background: #000 !important;
  float: left !important;
}

/*** Message area font-size ***/
.bp-messages-content .actions .bp-icons:not(.bp-hide)::before {
  font-size: 18px;
}

/*** kill padding and margin message participants ***/
.participants-list {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/*** resize font message participants ***/
.thread-participants {
  font-size: 10px !important;
}

/*** Buddypress Left Menu Font size ***/
.bp-single-vert-nav .bp-navs.vertical ul {
  font-size: 12px;
}

/*** Style user messages ***/
#user-messages-bulk-actions {
  border: 1px solid #eaeaea;
}

/*** Kill view profile phrase in profile ***/
.screen-heading.view-profile-screen {
  display: none;
}

/*** Buddypress button default font size ***/
.buddypress .buddypress-wrap input.text-button.small {
  font-size: inherit;
}

/*** Messaging kill shortcode option ***/
#mceu_6 {
  display: none;
}

/*** message area font size ***/
.thread-from .user-name {
  font-size: 10px;
}

/*** message area hide thread count ***/
.thread-content .thread-count {
  display: none;
}

.single-headers img.avatar {
  float: left;
  margin: 0 15px 0 0;
}

/*** Buddypress title/header area tigher margin ***/
body.buddypress article.page > .entry-header {
  margin-bottom: 15px;
  padding: 0;
}

/*** Activity feed tighter margins and padding ***/
.bpfb_form_container {
  padding-bottom: 0 !important;
}

/*** Buddypress profile menu styling ***/
.bp-navs ul li .count {
  font-size: 10px;
  margin-left: 2px;
  padding: 1px 6px;
  text-align: center;
  vertical-align: middle;
}

/*** Group widget font size ***/
.widget_bp_groups_widget .item {
  font-size: 10px;
  line-height: 13px;
}

/*** Buddypress Messaging System Styles ***/
.message-lists .thread-item {
  border: 1px solid #eaeaea;
  border-bottom-color: #eaeaea;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  margin-bottom: 10px !important;
  padding: 10px !important;
}

/*** Message Search Button resize ***/
#user_messages_search_submit {
  min-width: 50px;
}

#message-threads {
  border-top: none !important;
}

/*** Activity Feed What's New area styling ***/
#whats-new {
  padding: 8px !important;
}

#user_messages_search_submit {
  background: #0A7AFF;
}

#user_messages_search {
  width: auto;
}

#notifications-user-list {
  clear: both;
  padding-top: 0;
}

.screen-heading.wp-profile-screen {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #0A7AFF;
}

/*** Buddypress Nav font size ***/
.bp-wrap .subnav a {
  font-size: 12px;
}

/*** Buddypress Navigation Styles ***/
.bp-single-vert-nav .item-body:not(#group-create-body) {
  background: #fff;
  border: 1px solid #d6d6d6;
  float: right;
  margin: 0;
  min-height: 400px;
  padding: 0 0 0 1em;
  width: calc(75% + 1px);
  padding: 18px;
}

.bp-single-vert-nav .item-body:not(#group-create-body) #subnav:not(.tabbed-links) {
  background: #f9f9f9;
  margin: 0 0 10px -5px;
  width: auto;
  padding: 0 10px;
}

/*** Buddypress FILTER styles ***/
.buddypress-wrap .subnav-filters.bp-messages-filters ul {
  width: 95% !important;
}

.buddypress-wrap .subnav-filters {
  margin-top: 0 !important;
}

/*** Buddypress global font size ***/
.buddypress-wrap p {
  font-size: 13px !important;
}

/*** Buddypress Filter styles ***/
.buddypress-wrap .subnav-filters div input[type="search"], .buddypress-wrap .subnav-filters div select {
  font-size: 10px;
  font-weight: 700 !important;
}

/*** Buddypress textarea Global styles ***/
.buddypress-wrap textarea {
  resize: vertical;
  font-size: 12px !important;
}

/*** Kill RSS feed icon ***/
.feed {
  display: none !important;
}

/*** Hide search activity feed for now ***/
.subnav-search.clearfix {
  display: none;
}

/*** Buddypress message button styles ***/
.mce-btn button {
  background: #fff !important;
}

.message-action-star.bp-tooltip.bp-icons {
  background: #fff;
}

.wp_ulike_btn {
  min-width: 35px !important;
  background-color: transparent !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.bpfb_actions_container, .bpfb_preview_container {
  margin-bottom: 0;
}

/*** Activity stream button styles ***/
.activity-stream .generic-button {
  margin-right: 5px !important;
}

.generic-button {
  margin-right: 5px !important;
}

/*** Activity Stream font sizes ***/
.buddypress-wrap .activity-inner {
  font-size: 12px;
}

/*** Activity stream header font sizes ***/
.activity-header p, .activity-header a {
  font-size: 13px;
}

.acomment-meta a, .acomment-meta .time-since, .activity-list .activity-item .activity-header .time-since {
  font-size: 11px;
  color: #767676;
  text-decoration: none;
}

.acomment-meta {
  font-size: 11px !important;
}

/*** Activity stream form styles ***/
.bpfb_form_container {
  padding: 1em;
  background-color: transparent !important;
}

/*** Activity stream search button positioning/styles ***/
.buddypress-wrap form.bp-dir-search-form input[type="search"] {
  width: 50%;
}

/*** Activity feed reposition - tighter margins ***/
.activity-list.item-list.bp-list {
  margin-top: 0;
}

/*** BP search button styles ***/
#dir-activity-search-submit {
  background: #0A7AFF;
}

#dir-activity-search-form input {
  margin: 0 !important;
}

/*** Buddypress - Fullscreen/width - Global ***/
.buddypress #primary {
  width: 100%;
  padding: 0 5%;
}

/*** Buddypress Global tighter margin/padding ***/
body.buddypress .site-content {
  padding-top: 10px;
}

/*** Buddypress Buttons ***/
.buddypress .buddypress-wrap .activity-read-more a, .buddypress .buddypress-wrap .comment-reply-link, .buddypress .buddypress-wrap .generic-button a, .buddypress .buddypress-wrap a.bp-title-button, .buddypress .buddypress-wrap a.button, .buddypress .buddypress-wrap button, .buddypress .buddypress-wrap input[type="button"], .buddypress .buddypress-wrap input[type="reset"], .buddypress .buddypress-wrap input[type="submit"], .buddypress .buddypress-wrap ul.button-nav:not(.button-tabs) li a {
  background: #0A7AFF;
  border: none;
  border-style: none;
  border-width: 1px;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px !important;
  font-weight: 400;
  outline: 0;
  padding: 9px 0;
  text-align: center;
  text-decoration: none;
  width: auto;
  line-height: 1;
  min-width: 150px;
  font-weight: 700;
}

.buddypress .buddypress-wrap .activity-read-more a:focus, .buddypress .buddypress-wrap .activity-read-more a:hover, .buddypress .buddypress-wrap .button-nav li a:focus, .buddypress .buddypress-wrap .button-nav li a:hover, .buddypress .buddypress-wrap .button-nav li.current a, .buddypress .buddypress-wrap .comment-reply-link:focus, .buddypress .buddypress-wrap .comment-reply-link:hover, .buddypress .buddypress-wrap .generic-button a:focus, .buddypress .buddypress-wrap .generic-button a:hover, .buddypress .buddypress-wrap a.button:focus, .buddypress .buddypress-wrap a.button:hover, .buddypress .buddypress-wrap button:focus, .buddypress .buddypress-wrap button:hover, .buddypress .buddypress-wrap input[type="button"]:focus, .buddypress .buddypress-wrap input[type="button"]:hover, .buddypress .buddypress-wrap input[type="reset"]:focus, .buddypress .buddypress-wrap input[type="reset"]:hover, .buddypress .buddypress-wrap input[type="submit"]:focus, .buddypress .buddypress-wrap input[type="submit"]:hover {
  background: #333;
  border: none;
  color: #fff;
  outline: 0;
  text-decoration: none;
  font-weight: 700;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
## New code
--------------------------------------------------------------*/
.bp-messages-wrap .chat-header {
  background: #0A7AFF;
}

.bp-messages-wrap .chat-header .fas {
  color: white;
}

.bp-messages-wrap .chat-header > a {
  color: white !important;
}

.bpfb_images img {
  width: 100%;
  height: 100%;
}

.activity-inner {
  padding-left: 0% !important;
  margin-left: 0% !important;
}

@media screen and (min-width: 46.8em) {
  .bp-user .site-content {
    padding-right: 8%;
  }
  .bp-list li .item-avatar {
    display: inline !important;
  }
  .bp-list li .item-avatar img.avatar {
    border-radius: 50%;
    margin-left: 10px;
    margin-top: 5px;
  }
  .activity-list .activity-item div.item-avatar {
    width: 10%;
  }
  .wp-block-column .bp-messages-wrap .chat-header .new-message {
    width: 43px;
  }
  .wp-block-column .bp-messages-wrap .chat-header .starred-messages {
    width: 43px;
  }
  .wp-block-column .bp-messages-wrap .chat-header .settings {
    width: 43px;
  }
  .wp-block-column .bp-messages-wrap .chat-header .bpbm-search a {
    width: 43px;
  }
  .wp-block-column {
    word-break: normal;
  }
}

.activity-header {
  display: inline !important;
}

.activity-list .activity-item .activity-content .activity-inner {
  padding: 0;
  margin: 0 0 10px;
}

.activity-list .activity-item {
  padding: 0;
}

.bpfb_images br {
  display: none;
}

.activity-list .activity-item .activity-header p {
  padding-top: 5px !important;
}

.activity-list .activity-item .activity-content .activity-inner p {
  padding-left: 12px;
  padding-right: 12px;
}

.activity-content .activity-meta.action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.item-avatar img {
  border-radius: 50%;
}

.activity-form img.avatar {
  border-radius: 50%;
}

.ac-reply-avatar img.avatar {
  border-radius: 50%;
}

.pic img.avatar {
  border-radius: 50%;
}

.chat-header img.avatar {
  border-radius: 50%;
}

@media (max-width: 900px) {
  #bp_core_whos_online_widget-2 {
    display: none;
  }
  #bp_core_members_widget-2 {
    display: none;
  }
  #bp_core_members_widget-2 + div {
    display: none;
  }
  #com_msg {
    display: none;
  }
  #com_msg ~ .bp-messages-wrap.bp-messages-wrap-main {
    display: none;
  }
  #whats-new-avatar {
    float: left;
  }
  .activity-update-form #whats-new-avatar img {
    float: left;
    margin-right: 15px;
  }
  .activity-update-form #whats-new-textarea textarea {
    width: 80%;
    margin-top: 10px;
  }
  .activity-avatar.item-avatar + .activity-content .activity-header {
    display: inline;
  }
  .activity-list .activity-item div.item-avatar {
    margin: 0;
  }
  .activity-list .activity-item div.item-avatar {
    float: left;
  }
  .activity-list .activity-item .activity-content .activity-inner {
    clear: both;
  }
  .activity-list .activity-item div.item-avatar img {
    max-width: 100%;
  }
  .activity-avatar.item-avatar {
    max-width: 50px;
  }
  .bp-list li .item-avatar img.avatar {
    margin-top: 5px;
    margin-left: 5px;
  }
  .activity-list .activity-item .activity-header a {
    padding-left: 10px;
  }
}

/*group page changes*/
@media (max-width: 800px) {
  .bp-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .bp-list li {
    width: 25%;
  }
}

/*till here group page changes*/
#bp_core_members_widget-3 {
  padding-bottom: 30px;
}

#bp_core_whos_online_widget-2 .widgettitle {
  padding-left: 10px;
  font-size: 20px;
  color: #0A7AFF;
}

#bp_core_whos_online_widget-2 {
  margin-top: 25px;
}

.bpfb_images img {
  width: 100%;
  height: 100%;
  max-width: 300px !important;
  margin: 3px;
}

.bp-profile-nav {
  border-left: 1px solid #ddd;
}

.members .list-wrap {
  padding-bottom: 3em;
  text-align: center;
}

/*CSS to fix activity grid in mobile view*/
@media screen and (max-width: 800px) {
  .activity-list .activity-item .activity-content p {
    margin: 4px;
  }
  .bpfb_final_link .bpfb_link_contents {
    text-align: center;
    width: auto;
  }
  .activity-inner iframe {
    height: auto;
  }
  .bpfb_link_preview_container {
    width: 100%;
  }
  #activity-stream .bp-list {
    display: block;
  }
  #activity-stream .bp-list li {
    width: 100%;
  }
  .bpfb_final_link .bpfb_link_contents {
    float: none;
  }
  .activity-list .activity-item .activity-content .activity-inner {
    text-align: center;
  }
  .activity-avatar.item-avatar {
    max-width: 50px;
    margin-right: 5px !important;
  }
}

/*till here CSS to fix activity grid in mobile view*/
#activity-stream .activity-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#bp_core_members_widget-3 {
  background: #000;
  color: #fff;
  font-weight: 700;
  margin-top: -120px !important;
  padding-top: 30px;
  padding-left: 15px;
}

.bpfb_images img {
  width: 100%;
  height: 100%;
  max-width: 500px;
}

#bp_core_members_widget-3 {
  border-right: 1px solid #222;
  border-bottom: 1px solid #222;
}

.chat_box {
  padding-right: 20px;
}

div#show_msg {
  background: #111 !important;
}

@media screen and (max-width: 700px) {
  .live-stream-page #bp_core_members_widget-3 {
    display: none;
  }
}

.chat_box {
  border: none !important;
  border-left: 1px solid #222 !important;
}

.live-stream-page #bp_core_members_widget-3 {
  background: #000;
  color: #fff;
  margin-top: 30px;
  margin-left: 10px;
  width: 250px;
}

.buddypress.widget ul#members-list li {
  margin-bottom: 5px;
  border-bottom: 1px solid #444 !important;
}

.buddypress .buddypress-wrap .generic-button a {
  padding: 6px 8px;
}

.buddypress.widget ul#members-list li .item-avatar {
  float: left;
  width: 30px;
}

.buddypress.widget ul#members-list li {
  margin-bottom: 5px;
  border-bottom: none !important;
}

#bp_core_whos_online_widget-2 {
  padding-bottom: 0px !important;
}

#bp_core_members_widget-2 {
  padding-top: 0px !important;
}

.buddypress.widget ul#members-list li .item {
  margin-left: 50px;
}

#members-list .item-title {
  margin-top: -5px !important;
  height: 22px;
}

#members-list .item-meta {
  margin: 0px !important;
  padding: 0px !important;
  font-size: 9px;
  line-height: 12px;
  font-weight: 400;
}

.widgettitle {
  font-size: 16px;
  margin: 0;
  font-weight: 800;
  border-left: 3px solid #0A7AFF;
  padding-left: 5px;
}

#bp_core_members_widget-2, #bp_core_whos_online_widget-2 {
  /*  background: #000; */
  padding: inherit;
  /* color: #fff; */
  font-weight: 600;
  margin-bottom: 0;
}

#bp_core_members_widget-3 {
  background: #000;
  color: #fff;
  margin-top: -60px;
  margin-left: -55px;
}

@media screen and (max-width: 900px) {
  #bp_core_members_widget-3 {
    display: none !important;
  }
}

#bp_core_members_widget-3 {
  background: #000;
  color: #fff;
  font-weight: 700;
}

.buddypress.widget ul.item-list {
  list-style: none;
  margin: 10px 0;
  padding: 0;
}

.dashicons, .dashicons-before::before {
  color: #0A7AFF;
}

/* Controls size of avatar who's onlilne */
#bp_core_whos_online_widget-2 .item-avatar {
  max-width: 25px;
  margin-right: 5px;
}

/* members list positioning */
#members-list .item-title {
  margin-top: 10px;
}

/* members list meta training */
#members-list .item-meta {
  margin-top: -5px;
}

/* members list meta */
.item-title, .item-meta {
  font-size: 10px;
}

/*CSS to fix activity grid in mobile view*/
@media screen and (max-width: 800px) {
  .activity-list .activity-item .activity-content p {
    margin: 4px;
  }
  .bpfb_final_link .bpfb_link_contents {
    text-align: center;
    width: auto;
  }
  .activity-inner iframe {
    height: auto;
  }
  .bpfb_link_preview_container {
    width: 100%;
  }
  #activity-stream .bp-list {
    display: block;
  }
  #activity-stream .bp-list li {
    width: 100%;
  }
  .bpfb_final_link .bpfb_link_contents {
    float: none;
  }
  .activity-list .activity-item .activity-content .activity-inner {
    text-align: center;
  }
  .activity-avatar.item-avatar {
    max-width: 50px;
    margin-right: 5px !important;
  }
}

/*till here CSS to fix activity grid in mobile view*/
/*Buddypress profile page CSS*/
.single-headers #item-header-avatar a img {
  max-width: 250px;
}

#buddypress #header-cover-image {
  height: 300px;
}

.bp-nouveau .content-area {
  margin-top: 40px !important;
}

.my-account.bp-nouveau .entry-content {
  margin-top: 0;
}

#buddypress div#item-header #item-header-cover-image #item-header-content {
  margin-left: 35%;
  margin-top: 0;
}

#buddypress div#item-header-cover-image h2 a, #buddypress div#item-header-cover-image h2 {
  color: #000;
  text-rendering: optimizelegibility;
  text-shadow: 0 0 black;
  margin: 0;
}

.single-headers .item-meta {
  display: none;
}

.single-headers {
  margin-bottom: 0;
}

.single-headers ul {
  margin-bottom: 0;
}

@media screen and (min-width: 46.8em) {
  #buddypress #item-header-cover-image #item-header-avatar {
    margin-top: 120px;
    margin-left: 42%;
    margin-right: 42%;
  }
  .buddypress-wrap .bp-navs.tabbed-links {
    border-top: 1px solid lightgray;
  }
  .buddypress-wrap .tabbed-links ol, .buddypress-wrap .tabbed-links ul {
    border-bottom: 0px solid #ccc;
    margin: 0;
  }
  .buddypress-wrap .tabbed-links ol li.current, .buddypress-wrap .tabbed-links ul li.current {
    border-color: #fff;
    border-bottom: 4px solid red;
  }
  .buddypress-wrap.bp-dir-hori-nav:not(.bp-vertical-navs) nav:not(.tabbed-links) {
    border-top: 1px solid lightgray;
  }
  .bp-user .site-content {
    padding-right: 0;
  }
  .buddypress-wrap .main-navs:not(.dir-navs) li.current a, .buddypress-wrap .main-navs:not(.dir-navs) li a {
    color: #333;
    font-weight: 600;
  }
  .buddypress-wrap .bp-subnavs li.current a, .buddypress-wrap .bp-subnavs li a {
    color: #333;
    font-weight: 600;
  }
  .buddypress-wrap .tabbed-links ol li, .buddypress-wrap .tabbed-links ul li {
    margin-bottom: 7px !important;
  }
}

.buddypress-wrap .bp-subnavs {
  margin: 0 !important;
}

.buddypress-wrap .item-body {
  margin: 0;
}

.buddypress #primary {
  padding: 0 15%;
}

.my-account .site-content {
  margin-top: 30px;
}

.buddypress-wrap .bp-subnavs {
  margin: 0 !important;
  padding-right: 3% !important;
  border: 1px solid lightgray;
  border-radius: 10px !important;
  min-height: 300px;
  background: white !important;
}

.col-md-3.subnav-div {
  margin-top: 3%;
}

.act_post_card {
  border: 1px solid lightgray;
  border-radius: 10px !important;
  margin-top: 4%;
  background: white;
}

.activity-update-form {
  border: 0px solid lightgray;
}

.activity-list.bp-list {
  background: white;
  border: 0px solid #eee;
}

@media screen and (min-width: 32rem) {
  #activity-stream {
    clear: both;
    padding-top: 1em;
    border: 1px solid lightgray;
    margin-top: 2%;
    border-radius: 10px !important;
    background: white;
  }
  body.buddypress .buddypress-wrap h1, body.buddypress .buddypress-wrap h2, body.buddypress .buddypress-wrap h3, body.buddypress .buddypress-wrap h4, body.buddypress .buddypress-wrap h5, body.buddypress .buddypress-wrap h6 {
    clear: none;
    margin: 0.5em 0;
    padding: 0;
    font-weight: 700 !important;
    padding-left: 5px;
    color: #0A7AFF !important;
  }
  .bp-navs hr {
    margin-bottom: 0 !important;
  }
  .buddypress-wrap .bp-subnavs li.current a, .buddypress-wrap .bp-subnavs li a {
    color: #050505;
    font-weight: 400;
  }
  .buddypress-wrap .notifications-options-nav .select-wrap {
    margin-top: 2%;
    float: left;
    background: white;
  }
}

body.buddypress.my-account .site-content {
  padding-top: 10px;
  background-color: #F0F2F5;
}

.buddypress-wrap .profile.public .profile-group-title {
  border-bottom: 1px solid #ccc;
  font-size: 24px !important;
}

.profile .bp-widget {
  border: 1px solid lightgray;
  background: white;
  border-radius: 10px !important;
  margin-bottom: 15px !important;
}

.buddypress-wrap .profile.public .profile-group-title {
  border-bottom: 0px solid lightgray;
  margin: 16px 0;
}

.bp-widget hr {
  margin-bottom: 0 !important;
}

.buddypress-wrap .profile {
  margin-top: 4% !important;
}

.buddypress-wrap table.profile-fields {
  background: white !important;
}

.buddypress-wrap table.profile-fields p {
  font-size: 16px !important;
}

.buddypress-wrap .bp-tables-user tr td.label, .buddypress-wrap table.forum tr td.label, .buddypress-wrap table.wp-profile-fields tr td.label {
  font-weight: 700 !important;
  font-size: 16px !important;
}

.edit_title {
  background: white;
  padding: 5px 0;
  border: 1px solid lightgray;
  border-radius: 10px !important;
}

h3.screen-heading.profile-group-title.edit {
  display: none;
}

.buddypress-wrap .profile.edit ul.button-nav {
  margin: 10px 0 10px !important;
}

.buddypress .buddypress-wrap .button-nav li.current a, .buddypress .buddypress-wrap .button-nav li:hover a {
  background: white !important;
  color: black;
}

.buddypress-wrap .profile.edit ul.button-nav li a {
  padding: .5em;
  font-weight: 700;
  color: #0A7AFF;
  /* border-bottom: 4px solid black; */
}

.buddypress-wrap .profile.edit ul.button-nav li.current a {
  border-bottom: 4px solid black;
}

.buddypress-wrap .profile.edit .editfield {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid lightgray;
  border-radius: 10px !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.buddypress-wrap fieldset legend {
  font-size: 16px;
  font-weight: 600;
}

.buddypress-wrap .standard-form .groups-members-search input[type=search], .buddypress-wrap .standard-form .groups-members-search input[type=text], .buddypress-wrap .standard-form [data-bp-search] input[type=search], .buddypress-wrap .standard-form [data-bp-search] input[type=text], .buddypress-wrap .standard-form input[type=color], .buddypress-wrap .standard-form input[type=date], .buddypress-wrap .standard-form input[type=datetime-local], .buddypress-wrap .standard-form input[type=datetime], .buddypress-wrap .standard-form input[type=email], .buddypress-wrap .standard-form input[type=month], .buddypress-wrap .standard-form input[type=number], .buddypress-wrap .standard-form input[type=password], .buddypress-wrap .standard-form input[type=range], .buddypress-wrap .standard-form input[type=search], .buddypress-wrap .standard-form input[type=tel], .buddypress-wrap .standard-form input[type=text], .buddypress-wrap .standard-form input[type=time], .buddypress-wrap .standard-form input[type=url], .buddypress-wrap .standard-form input[type=week], .buddypress-wrap .standard-form select, .buddypress-wrap .standard-form textarea {
  font-size: 16px;
}

#field-visibility-settings-toggle-1 {
  font-size: 13px !important;
}

.editfield.field_1.field_name.required-field.visibility-public.field_type_textbox {
  font-size: 16px !important;
}

.buddypress-wrap .change-avatar, .buddypress-wrap .change-cover-image {
  background: white;
  border: 1px solid lightgray;
  border-radius: 10px !important;
  padding: 16px;
}

.buddypress-wrap .item-body .screen-heading {
  font-size: 24px;
  margin: 0 0 16px 0;
}

#subject {
  margin-left: 0;
}

.bp-messages-content {
  /* margin: 15px 0; */
  margin-top: 0;
  background: white;
  padding: 16px;
  border: 1px solid lightgray;
  border-radius: 10px !important;
}

input#send-to-input {
  width: 100%;
}

.messages .col-md-9.submember-div {
  margin-top: 3%;
}

.buddypress-wrap .subnav-filters {
  margin-top: 0 !important;
  background: white !important;
  border: 1px solid lightgray;
  border-radius: 10px !important;
}

.notifications .col-md-9.submember-div, .friends .col-md-9.submember-div, .groups .col-md-9.submember-div, .settings .col-md-9.submember-div {
  margin-top: 3%;
}

.settings_page {
  padding: 16px;
  background: white;
  border: 1px solid lightgray;
  border-radius: 10px !important;
}

.entry-content {
  margin-top: 45px;
}

#buddypress div#item-header #item-header-cover-image #item-header-content {
  padding: 0 !important;
  margin: 0 !important;
  text-align: center;
  float: none !important;
}

div#notifications-user-list {
  padding: 10px;
  border: 1px solid lightgray;
  background: white;
  border-radius: 10px !important;
}

div[data-bp-list="friendship_requests"] {
  border: 1px solid lightgray;
  background: white;
  padding: 5px;
  border-radius: 10px !important;
}

.buddypress-wrap .grid.bp-list > li .list-wrap {
  padding-bottom: 3em;
  text-align: center;
  border-radius: 10px !important;
}

.friends .bp-list li .item-avatar img.avatar {
  margin-left: 0 !important;
}

.group_invites {
  padding-top: 16px;
  background: white;
  border: 1px solid lightgray;
  border-radius: 10px !important;
}

.my-account .editfield fieldset {
  background: white;
  border: 1px solid lightgray !important;
  border-radius: 10px !important;
  /*     margin-top: 1% !important; */
}

.my-account .editfield fieldset legend {
  background: white;
  float: left;
  width: 30%;
  margin: auto;
  height: 50px;
  /* vertical-align: middle; */
  padding: 10px 0;
}

.my-account .editfield fieldset input:not([type='radio']) {
  border: 0 !important;
  float: left;
  width: 60% !important;
}

.my-account .editfield fieldset p {
  font-size: 13px !important;
  clear: both;
}

.my-account .editfield fieldset .radio {
  clear: both;
}

.my-account .editfield fieldset .field-visibility-settings-notoggle, .my-account .editfield fieldset .field-visibility-settings-toggle {
  display: none;
}

.field-visibility-settings {
  clear: both;
  display: none;
}

.my-account form.profile-edit .submit {
  display: none;
}

.my-account form.profile-edit:last-child {
  margin-top: 3%;
}

.my-account form .editfield:nth-child(2) {
  margin-top: 1% !important;
}

.my-account form.profile-edit div.edit_title a {
  float: right;
  margin-right: 20px;
}

#edit-personal-li {
  display: none;
}

a.edit_cover_image {
  float: right;
}

#item-header-avatar a i.fa.fa-camera {
  float: right;
  margin-top: -25%;
  margin-right: 17px;
  margin-bottom: 25%;
  -webkit-transform: scale(1.8);
          transform: scale(1.8);
}

@media screen and (max-width: 46.8em) {
  .buddypress-wrap .bp-subnavs {
    height: auto !important;
    min-height: 200px;
  }
  .buddypress-wrap .bp-navs li.current a, .buddypress-wrap .bp-navs li.current a:focus, .buddypress-wrap .bp-navs li.current a:hover, .buddypress-wrap .bp-navs li.selected a, .buddypress-wrap .bp-navs li.selected a:focus, .buddypress-wrap .bp-navs li.selected a:hover {
    background: white;
    color: black;
    font-weight: 700;
    border-bottom: 4px solid red;
  }
  .bp-navs ul li a, .bp-navs ul li span {
    color: black;
    font-weight: 500;
  }
  .buddypress-wrap .bp-subnavs li.current a {
    font-weight: 700;
    color: black;
  }
  .buddypress-wrap .bp-subnavs li a {
    font-weight: 500;
    color: black;
  }
  .buddypress-wrap:not(.bp-single-vert-nav) .bp-navs li {
    background: white;
  }
}

.buddypress-wrap .bp-subnavs li.current a {
  font-weight: 700;
}

.buddypress-wrap .bp-subnavs li a {
  font-weight: 500;
}

.buddypress-wrap .tabbed-links ol li.current, .buddypress-wrap .tabbed-links ul li.current {
  padding: 0 0 1px;
}

/*Till here buddypress profile page CSS*/
/* temp who's online stream page style */
#bp_core_members_widget-2, #bp_core_whos_online_widget-2 {
  background: #000;
  padding: inherit;
  /* color: #fff; */
  font-weight: 600;
  margin-bottom: 0;
  margin-top: -140px;
  border-right: 1px solid #223;
  padding-top: 45px !important;
}

/*For Who's online section on lesson page*/
.lesson-template-default #bp_core_members_widget-2, .lesson-template-default #bp_core_whos_online_widget-2 {
  background: #000;
  padding: inherit;
  /* color: #fff; */
  font-weight: 600;
  margin-bottom: 0;
  width: 20%;
  position: fixed;
  top: 230px;
  left: 0px;
  border-right: 1px solid #222 !important;
  direction: rtl;
}

.lesson-template-default .widget_bp_core_members_widget a {
  color: red !important;
  font-size: 10px;
  text-decoration: none !important;
}

.lesson-template-default .widget_bp_core_members_widget span {
  color: white;
}

.lesson-template-default .widget_bp_core_members_widget .widgettitle {
  color: white;
}

.lesson-template-default .lesson h1.entry-title {
  margin-top: 10px;
  color: white;
}

/*Till here for who's online*/
.single-course .site-content {
  margin-top: 60px !important;
}

.menu-item {
  position: relative;
  white-space: nowrap;
}

.menu-item::before,
.menu-item::after {
  position: absolute;
  width: 100%;
  height: 2px;
  background: #0A7AFF;
  top: 100%;
  left: 0;
  pointer-events: none;
}

.menu-item::before {
  content: '';
  /* show by default */
}

.menu-item::before {
  -webkit-transform-origin: 100% 50%;
          transform-origin: 100% 50%;
  -webkit-transform: scale3d(0, 1, 1);
          transform: scale3d(0, 1, 1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  opacity: 1;
}

.menu-item:hover::before {
  -webkit-transform-origin: 0% 50%;
          transform-origin: 0% 50%;
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  opacity: 1;
}

/* Community User Upload Gallery Padding */
#TB_window {
  padding: 15px;
}

#TB_window img#TB_Image {
  padding-right: 30px;
  border: none;
}

/* Who's Online Widget Styles */
#bp_core_members_widget-2, #bp_core_whos_online_widget-2 {
  background: #fff;
  padding: inherit;
  color: #fff;
  margin-top: -20px;
}

/* Community - Who's online widget font */
#bp_core_members_widget-2 {
  padding: inherit;
  color: #000;
}

/* Community - Who's online widget position */
.wp-block-column.sticky-side {
  margin-top: -40px;
  padding-top: 20px;
}

#bp_core_members_widget-3 {
  padding-top: 80px;
}

/* Code different vs deployed */
.bpfb_images img {
  width: 100%;
  height: 100%;
  max-width: 500px;
}

/* Community Page */
#activity-stream .activity-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* Password Generator Styles */
body.buddypress.settings .wp-pwd button {
  background: none;
  color: #0A7AFF !important;
  text-transform: uppercase;
  font-weight: 800;
}

/* Who's Online Widget Padding */
#bp_core_members_widget-3 {
  padding-bottom: 30px;
}

div#bp_core_members_widget-2 {
  padding-left: 15px !important;
}

/* -----------------------------------------*\
* Ultimate Member Styles
\* -----------------------------------------*/
/* Link colors */
.um a.um-link,
.um .um-tip:hover,
.um .um-field-radio.active:not(.um-field-radio-state-disabled) i,
.um .um-field-checkbox.active:not(.um-field-radio-state-disabled) i,
.um .um-member-name a:hover,
.um .um-member-more a:hover,
.um .um-member-less a:hover,
.um .um-members-pagi a:hover,
.um .um-cover-add:hover,
.um .um-profile-subnav a.active,
.um .um-item-meta a,
.um-account-name a:hover,
.um-account-nav a.current,
.um-account-side li a.current span.um-account-icon,
.um-account-side li a.current:hover span.um-account-icon,
.um-dropdown li a:hover,
i.um-active-color,
span.um-active-color {
  color: #0A7AFF !important;
}

.um a.um-link:hover,
.um a.um-link-hvr:hover {
  color: #44b0ec !important;
}

/* Button colors */
.um .um-field-group-head,
.picker__box,
.picker__nav--prev:hover,
.picker__nav--next:hover,
.um .um-members-pagi span.current,
.um .um-members-pagi span.current:hover,
.um .um-profile-nav-item.active a,
.um .um-profile-nav-item.active a:hover,
.upload,
.um-modal-header,
.um-modal-btn,
.um-modal-btn.disabled,
.um-modal-btn.disabled:hover,
div.uimob800 .um-account-side li a.current,
div.uimob800 .um-account-side li a.current:hover,
.um .um-button,
.um a.um-button,
.um a.um-button.um-disabled:hover,
.um a.um-button.um-disabled:focus,
.um a.um-button.um-disabled:active,
.um input[type=submit].um-button,
.um input[type=submit].um-button:focus,
.um input[type=submit]:disabled:hover {
  background: #0A7AFF !important;
}

.um .um-field-group-head:hover,
.picker__footer,
.picker__header,
.picker__day--infocus:hover,
.picker__day--outfocus:hover,
.picker__day--highlighted:hover,
.picker--focused .picker__day--highlighted,
.picker__list-item:hover,
.picker__list-item--highlighted:hover,
.picker--focused .picker__list-item--highlighted,
.picker__list-item--selected,
.picker__list-item--selected:hover,
.picker--focused .picker__list-item--selected,
.um .um-button:hover,
.um a.um-button:hover,
.um input[type=submit].um-button:hover {
  background: #444 !important;
}

/* Button alt colors */
.um .um-button.um-alt,
.um input[type=submit].um-button.um-alt {
  background: #eeeeee !important;
}

.um .um-button.um-alt:hover,
.um input[type=submit].um-button.um-alt:hover {
  background: #e5e5e5 !important;
}

/* My Profile Menu item style */
@media screen and (min-width: 1000px) {
  .menu-profile {
    border-left: 1px solid #ddd;
    color: #0A7AFF;
    margin-left: 30px;
  }
}

/* My Profile Menu item style Hamburger */
@media screen and (max-width: 999px) {
  .menu-profile {
    border-left: none;
    color: #0A7AFF;
    margin-left: 0;
  }
}

/*** Separate User Menu Items in Main Menu ***/
@media screen and (min-width: 37.5em) {
  .menu-profile {
    border-left: 1px solid #ddd;
    color: #0A7AFF;
    margin-left: 30px;
  }
}

/* Ultimate Member login form position */
.um-login {
  margin-top: 30px;
}

.um-form .terms_and_conditions {
  margin-bottom: 30px;
}

/*** GLOBAL kill outline ***/
select {
  outline: none;
}

/*** Global kill outline on user input ***/
input {
  outline: none;
  margin-bottom: 5px !important;
}

.qq-upload-button {
  min-width: 150px;
  font-weight: 700;
}

.qq-upload-button {
  font-size: 12px !important;
}

.bpfb_controls_container {
  margin-top: 20px;
}

.activity-update-form #whats-new-content {
  padding: 0 0 0 0;
}

.activity-update-form {
  border: 1px solid #eee;
  -webkit-box-shadow: none;
          box-shadow: none;
  margin: 15px 0;
}

/*** Global Kill outline on textarea input ***/
textarea {
  outline: none;
}

.activity-update-form {
  padding: 10px 25px 10px 25px;
}

.activity-avatar.item-avatar {
  max-width: 100px;
}

.page-template-default .entry-title {
  display: none;
}

/******************************************************/
/* Global */
/******************************************************/
.sdm_download.black {
  background: #525252;
  -webkit-filter: none !important;
          filter: none !important;
  background: #0A7AFF !important;
  background: -moz-linear-gradient(top, #5e5e5e, #434343);
  border: none !important;
  border: none !important;
  color: #FFFFFF !important;
  text-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  text-decoration: none !important;
  border-radius: 0px !important;
}

.wp-block-latest-posts.is-grid {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.max-width-global {
  max-width: 90%;
  margin: auto;
}

/*** Blog Single ***/
.post .post-thumbnail {
  display: none;
  float: left;
  margin-right: 60px;
  max-width: 250px;
}

/** Position blog content and float next to featured image **/
.format-standard .entry-content {
  width: 100%;
  margin-bottom: 60px;
  font-size: 15px;
  font-weight: 400;
  margin-left: auto;
}

/** Position and style blog category links **/
.cat-links {
  font-size: 12px;
  font-weight: 700;
  clear: both;
  float: right;
  width: 300px;
  display: block;
}

/** Position blog post navigation below featured image **/
.post-navigation {
  clear: both;
}

/** Style blog post navigation **/
.nav-previous {
  font-weight: 600;
}

/** Icon before post navigation **/
.nav-previous::before {
  content: '\2190';
  margin-right: 8px;
}

/******************************************************/
/* Slick Slider - Global */
/******************************************************/
/* Slick Styles and Overrides */
/* Slider */
.slick-arrow {
  background: transparent !important;
}

.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: .25;
}

.slick-prev:before,
.slick-next:before {
  font-family: 'slick';
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir='rtl'] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: '←';
}

[dir='rtl'] .slick-prev:before {
  content: '→';
}

.slick-next {
  right: -25px;
}

[dir='rtl'] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: '→';
}

[dir='rtl'] .slick-next:before {
  content: '←';
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  font-family: 'slick';
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '•';
  text-align: center;
  opacity: .25;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  opacity: .75;
  color: black;
}

.slider {
  width: 50%;
  margin: 100px auto;
}

.slick-slide {
  margin: 0px 20px;
}

.slick-slide img {
  width: 100%;
}

.slick-prev:before,
.slick-next:before {
  color: black;
}

.slick-slide {
  -webkit-transition: all ease-in-out .3s;
  transition: all ease-in-out .3s;
  opacity: .2;
}

.slick-active {
  opacity: .5;
}

.slick-current {
  opacity: 1;
}

/* END SLICK */
/** Slick Slider left and right control arrows **/
.slick-next::before {
  content: '\25b6' !important;
}

.slick-prev::before {
  content: '\25C0' !important;
}

.slick-prev::before, .slick-next::before {
  color: #0A7AFF !important;
}

/** Clear default opacity - Slick Slider **/
.slick-active, .slick-slide {
  opacity: 1 !important;
}

/** Set Margins (override) - Slick Slider **/
.slick-slide {
  margin: 20px 10px !important;
}

/*** Blog Section ***/
.wp-block-latest-posts.wp-block-latest-posts__list li {
  clear: both;
  display: inline-block;
  background: #000000;
  padding: 20px 40px;
  -webkit-box-shadow: 5px 5px #aaa;
          box-shadow: 5px 5px #aaa;
  -webkit-box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.2);
  border: 1px solid #ccc;
  color: #fff !important;
  width: 25%;
  border-radius: 10px;
}

.wp-block-latest-posts.wp-block-latest-posts__list li a {
  color: #fff;
  font-weight: 500;
  cursor: pointer !important;
  text-transform: uppercase;
}

/*** Learner homepage - Blog List ***/
.wp-block-latest-posts.wp-block-latest-posts__list li {
  clear: both;
  display: inline-block;
  margin: 0 15px;
}

.wp-block-latest-posts.wp-block-latest-posts__list {
  text-align: center;
}

/*** Learner Homepage - Blog List Featured Image ***/
.wp-block-latest-posts__featured-image img {
  margin-bottom: 10px;
  width: 70%;
  height: auto;
  border: 1px solid #444;
}

h1.entry-title {
  font-size: 1.6em;
}

/******************************************************/
/* Global Table Styles */
/******************************************************/
/* Basic */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

table {
  border-spacing: 0px;
  border-collapse: collapse;
  width: 100%;
  max-width: 100%;
  margin-bottom: 15px;
  background-color: transparent;
  /* Change the background-color of table here */
  text-align: left;
  /* Change the text-alignment of table here */
}

th {
  font-weight: bold;
  border: 1px solid #cccccc;
  /* Change the border-color of heading here */
  padding: 8px;
}

td {
  border: 1px solid #cccccc;
  /* Change the border-color of cells here */
  padding: 8px;
}

/* Stylized */
/* Adding Striped Effect for odd rows */
tr {
  background-color: transparent;
  /* Change the default background-color of rows here */
}

tr:nth-of-type(2n+1) {
  background-color: #eeeeee;
  /* Change the background-color of odd rows here */
}

tr th {
  background-color: #dddddd;
  /* Change the background-color of heading here */
}

/* Adding Hover Effect for rows */
/*
  tr {
    -moz-transition: background-color 300ms ease-in-out 0s;
    -ms-transition: background-color 300ms ease-in-out 0s;
    -o-transition: background-color 300ms ease-in-out 0s;
    -webkit-transition: background-color 300ms ease-in-out 0s;
    transition: background-color 300ms ease-in-out 0s;
  }
  */
tr:hover {
  background-color: inherit;
  /* Change the hover background-color of rows here */
}

/* Removing left and right border of rows for modern UIs */
/*
    tr {
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
  }
  */
th, td {
  border: none;
}

/*--------------------------------------------------------------
# Test Area
--------------------------------------------------------------*/
.search-form label {
  display: inline-block !important;
}

li {
  line-height: 1.6em;
}

/* Hide featured image / global  */
.post-thumbnail {
  display: none;
}

.entry-title {
  margin: 40px 0;
  color: #444;
}

.entry-title {
  font-weight: 800;
}

/* Set core font style */
:root {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  color: #444;
}

/* html, body {
    height: 100%;
    
    
    } */
/* Set core font sizes */
h1 {
  font-weight: 800;
}

h1, h2, h3, h4, h5, h6 {
  margin: .5em 0;
}

h3 {
  font-size: 1.5em;
  font-weight: 800;
}

h4 {
  font-size: 1.5em;
}

a {
  text-decoration: none;
}

/*--------------------------------------------------------------
    # Navigation Wrap
    --------------------------------------------------------------*/
.site-header {
  height: auto;
  border-bottom: 1px #ddd solid;
  left: 0;
  top: 0;
  z-index: 9999;
}

.site-branding {
  float: left;
  margin-left: 0;
  padding: 5px 3% 0 3%;
  border-right: 1px #ddd solid;
}

[aria-current] {
  color: #0A7AFF !important;
}

.main-navigation button {
  color: #0A7AFF !important;
  margin-top: -17px !important;
}

.main-navigation a, .main-navigation a:visited {
  text-transform: uppercase;
  color: #444;
  font-size: .7em;
  font-weight: 700;
}

.main-navigation {
  display: block;
  /* float: left; */
  padding-top: 15px;
  padding-left: 3%;
}

.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation ul ul {
  float: left;
  position: absolute;
  left: -999em;
  z-index: 99999;
  text-align: left;
  border: 1px #ddd solid;
}

ul.sub-menu {
  background-color: #fafafa;
  padding: 15px 0;
}

ul.sub-menu li {
  display: inherit;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  left: 100%;
}

.main-navigation ul ul a {
  min-width: 180px;
  white-space: nowrap;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}

.main-navigation li {
  display: inline-block;
  padding: 0 10px;
}

.main-navigation a {
  display: block;
  text-decoration: none;
}

/* Small menu. */
.main-navigation button {
  margin-top: -7px;
  color: #0A7AFF;
  font-size: 32px;
  background: rgba(0, 0, 0, 0);
  border-color: rgba(0, 0, 0, 0);
  padding: 0 0;
}

.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (max-width: 999px) {
  .cart-contents {
    display: none;
  }
}

@media screen and (min-width: 1000px) {
  .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: block;
  }
}

@media screen and (max-width: 999px) {
  .main-navigation li {
    border-bottom: 1px #eee solid;
    display: block;
    padding: 20px 0;
    width: 200px;
  }
  .main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul {
    padding: 10px;
    margin-top: -55px;
    left: 40%;
  }
  .main-navigation .sub-menu li {
    border-bottom: 0px;
    /* border-bottom: 1px #ddd solid; */
    padding-left: 34px;
    text-align: center;
  }
  .menu-main-menu-container {
    margin-left: 5px;
  }
}

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

/*--------------------------------------------------------------
    # Footer
    --------------------------------------------------------------*/
/* Footer position and styling */
.site-footer {
  padding: 30px 5%;
  font-size: 12px;
  bottom: 0;
}

/*--------------------------------------------------------------
    # IE - Core / Normalize / Universal
    --------------------------------------------------------------*/
/* Hide annoying edit post link when logged in  */
.edit-link {
  display: none;
}

/* Content area on 5% margin */
.content-area {
  padding: 0 5%;
  width: 100%;
}

.widget-area {
  float: left;
  margin-top: 40px;
  margin-left: 40px;
}

.search-form input {
  display: inline-block !important;
}

/* Content area fullwidth - no horizontal padding so breakout calc(-50vw + 50%) works correctly */
.content-area-fullwidth {
  margin: 0 auto;
  padding: 0;
}

.content-area-fullwidth .entry-content > .wp-block-cover {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
}

/* Page title/header position and style */
/*.entry-header {
    margin-top: 30px;
    font-weight: 800;
    }*/
/* Hide title on specific pages */
.page-id-29 .entry-title, .page-id-42 .entry-title, .page-id-23 .entry-title, .page-id-18 .entry-title, .page-id-9809 .entry-title, .page-id-9907 .entry-title {
  display: none;
}

/* Title margin */
/* Hide post meta info for now */
.entry-meta {
  display: block;
  font-size: 10px;
  margin-bottom: 15px;
  background: #eee;
  padding: 5px 10px;
  margin-top: -10px;
}

.byline {
  display: none;
}

/*--------------------------------------------------------------
    # Custom Gutenberg Blocks
    --------------------------------------------------------------*/
/* Block buttons */
.wp-block-button__link {
  font-weight: 700;
  font-size: 16px;
}

/* About page h2 */
.ticss-c853c082 h2 {
  font-weight: 800;
  font-size: 2em;
}

.hero-tagline {
  margin-top: -25px;
}

.home-padding {
  margin: 0 5%;
}

/* Uppercase buttons in blocks */
.wp-block-button {
  text-transform: uppercase;
  font-weight: 500;
}

/* JUMBO titles in hero section */
.hero-4 h1 {
  font-size: 3.3em;
  font-weight: 800;
}

/* Homepage Feature Image and Feature Section */
.hero-4 .columns-2 .wp-block-column {
  padding: 0 20px;
}

.hero-4 .columns-2 {
  margin-top: -107px !important;
  max-width: 1100px;
  margin: 0 auto;
  z-index: 1;
  position: relative;
}

/* Grid/card top padding */
.page-id-29 figure {
  margin: 0 0;
}

.card-5 .cl .wp-block-group h4 {
  margin-bottom: 30px;
  font-size: 1.1em;
}

.card-5 .cl {
  max-width: 90%;
  margin: 0 auto;
}

/* Call to action section */
.hero-8 .column-2 {
  border-style: solid;
  border-width: 5px;
  padding: 29px 0 29px 0 !important;
}

/* Video section */
@media (min-width: 800px) {
  .lesson-video {
    padding: 0 5%;
  }
}

@media (min-width: 1200px) {
  .lesson-section {
    max-width: 1400px;
    margin: auto;
    border: 1px #d9d9d9 solid;
    background: radial-gradient(circle, rgba(249, 249, 249, 0.5) 0%, rgba(238, 238, 238, 0.5) 40%, rgba(200, 200, 200, 0.5) 100%);
    padding: 5px 80px;
    border-radius: 0px;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03), 0 2px 2px rgba(0, 0, 0, 0.03), 0 4px 4px rgba(0, 0, 0, 0.03), 0 6px 8px rgba(0, 0, 0, 0.03), 0 8px 12px rgba(0, 0, 0, 0.03);
            box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03), 0 2px 2px rgba(0, 0, 0, 0.03), 0 4px 4px rgba(0, 0, 0, 0.03), 0 6px 8px rgba(0, 0, 0, 0.03), 0 8px 12px rgba(0, 0, 0, 0.03);
  }
}

.lesson-section h2 {
  font-size: 2.1em;
  color: #0A7AFF;
  font-weight: 800 !important;
  margin: 40px 0;
  line-height: 1.5em;
}

.lesson-section h3 {
  font-size: 1.6em;
  line-height: 1.5em;
}

.lesson-section li {
  font-size: 18px;
}

.spacer-line {
  border-top: 1px #ddd solid;
}

html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
     ========================================================================== */
/**
    * Remove the margin in all browsers.
    */
body {
  margin: 0;
}

/**
    * Correct the font size and margin on `h1` elements within `section` and
    * `article` contexts in Chrome, Firefox, and Safari.
    */
h1 {
  font-size: 2.2em;
  margin: 0 0;
}

/* Grouping content
     ========================================================================== */
/**
    * 1. Add the correct box sizing in Firefox.
    * 2. Show the overflow in Edge and IE.
    */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
    * 1. Correct the inheritance and scaling of font size in all browsers.
    * 2. Correct the odd `em` font sizing in all browsers.
    */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
     ========================================================================== */
/**
    * Remove the gray background on active links in IE 10.
    */
a {
  background-color: transparent;
}

/**
    * 1. Remove the bottom border in Chrome 57-
    * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
    */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
    * Add the correct font weight in Chrome, Edge, and Safari.
    */
/*
    b, strong {
    font-weight: bolder;
    }
    */
/**
    * 1. Correct the inheritance and scaling of font size in all browsers.
    * 2. Correct the odd `em` font sizing in all browsers.
    */
code, kbd, samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
    * Add the correct font size in all browsers.
    */
small {
  font-size: 80%;
}

/**
    * Prevent `sub` and `sup` elements from affecting the line height in
    * all browsers.
    */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
     ========================================================================== */
/**
    * Remove the border on images inside links in IE 10.
    */
img {
  border-style: none;
}

/* Forms
     ========================================================================== */
/**
    * 1. Change the font styles in all browsers.
    * 2. Remove the margin in Firefox and Safari.
    */
button, input, optgroup, select, textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
    * Show the overflow in IE.
    * 1. Show the overflow in Edge.
    */
button, input {
  /* 1 */
  overflow: visible;
}

/**
    * Remove the inheritance of text transform in Edge, Firefox, and IE.
    * 1. Remove the inheritance of text transform in Firefox.
    */
button, select {
  /* 1 */
  text-transform: none;
}

/**
    * Correct the inability to style clickable types in iOS and Safari.
    */
button:not(.show-password-input):not(.ie-mobile-toggle):not(.ie-mobile-menu-close),
[type="button"]:not(.show-password-input),
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
  background: #0A7AFF;
  color: #fff !important;
  padding: 10px 20px;
  font-weight: 800;
  text-transform: capitalize;
  border: none;
}

/**
    * Remove the inner border and padding in Firefox.
    */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
    * Restore the focus styles unset by the previous rule.
    */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
    * Correct the padding in Firefox.
    */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
    * 1. Correct the text wrapping in Edge and IE.
    * 2. Correct the color inheritance from `fieldset` elements in IE.
    * 3. Remove the padding so developers are not caught out when they zero out
    *        `fieldset` elements in all browsers.
    */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
    * Add the correct vertical alignment in Chrome, Firefox, and Opera.
    */
progress {
  vertical-align: baseline;
}

/**
    * Remove the default vertical scrollbar in IE 10+.
    */
textarea {
  overflow: auto;
}

/**
    * 1. Add the correct box sizing in IE 10.
    * 2. Remove the padding in IE 10.
    */
[type="checkbox"], [type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
    * Correct the cursor style of increment and decrement buttons in Chrome.
    */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
    * 1. Correct the odd appearance in Chrome and Safari.
    * 2. Correct the outline style in Safari.
    */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
    * Remove the inner padding in Chrome and Safari on macOS.
    */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
    * 1. Correct the inability to style clickable types in iOS and Safari.
    * 2. Change font properties to `inherit` in Safari.
    */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
     ========================================================================== */
/*
    * Add the correct display in Edge, IE 10+, and Firefox.
    */
details {
  display: block;
}

/*
    * Add the correct display in all browsers.
    */
summary {
  display: list-item;
}

/* Misc
     ========================================================================== */
/**
    * Add the correct display in IE 10+.
    */
template {
  display: none;
}

/**
    * Add the correct display in IE 10.
    */
[hidden] {
  display: none;
}

/*--------------------------------------------------------------
    # Typography
    --------------------------------------------------------------*/
body, button, input, select, optgroup, textarea {
  color: #444;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5em;
}

h1 {
  line-height: 1em;
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
}

p {
  margin: .7em;
}

dfn, cite, em, i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
  border: 1px #ccc solid;
}

code, kbd, tt, var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 0.9375rem;
}

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark, ins {
  background: #0A7AFF;
  text-decoration: none;
  padding: 5px;
  color: #fff;
}

big {
  font-size: 125%;
}

/*--------------------------------------------------------------
    # Elements
    --------------------------------------------------------------*/
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*, *:before, *:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul, ol {
  margin: 0 0 1em 1em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul, li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
  margin-top: 10px;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/*--------------------------------------------------------------
    # Forms
    --------------------------------------------------------------*/
/*button, input[type="button"], input[type="reset"], input[type="submit"] {
    border-radius: 0px;
    background: #0A7AFF;
    color: #fff;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1;
    padding: .6em 1em .4em;
    
    } */
button {
  cursor: pointer;
  background: #0A7AFF;
  color: #fff !important;
  padding: 10px 20px;
  font-weight: 800;
  text-transform: capitalize;
  border: none;
}

.wc-block-grid__product-add-to-cart button {
  cursor: pointer;
  background: #0A7AFF;
  color: #fff !important;
  padding: 10px 20px;
  border-radius: 0;
  font-weight: 800;
  text-transform: capitalize;
  border: none;
}

/* Outline color for buttons and form
    button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {
    border-color: #0A7AFF;
    }
    */
button:active, button:focus, input[type="button"]:active, input[type="button"]:focus, input[type="reset"]:active, input[type="reset"]:focus, input[type="submit"]:active, input[type="submit"]:focus {
  border-color: #0A7AFF;
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
  font-weight: 600;
}

textarea {
  font-weight: 400;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
    # Navigation
    --------------------------------------------------------------*/
/*--------------------------------------------------------------
    ## Links
    --------------------------------------------------------------*/
a {
  color: #0A7AFF;
}

.lesson a {
  text-decoration: underline !important;
}

a:visited {
  color: #0A7AFF;
}

a:hover, a:focus, a:active {
  color: #444;
}

a:focus {
  outline: thin dotted;
}

a:hover, a:active {
  outline: 0;
}

/*--------------------------------------------------------------
    ## Menus
    --------------------------------------------------------------*/
.site-main .comment-navigation, .site-main .posts-navigation, .site-main .post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}

.comment-navigation .nav-previous, .posts-navigation .nav-previous, .post-navigation .nav-previous {
  float: left;
  width: 50%;
}

.comment-navigation .nav-next, .posts-navigation .nav-next, .post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

/*--------------------------------------------------------------
    # Accessibility
    --------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
    # Alignments
    --------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
    # Clearings
    --------------------------------------------------------------*/
.clear:before, .clear:after, .entry-content:before, .entry-content:after, .comment-content:before, .comment-content:after, .site-header:before, .site-header:after, .site-content:before, .site-content:after, .site-footer:before, .site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after, .entry-content:after, .comment-content:after, .site-header:after, .site-content:after, .site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
    # Widgets
    --------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
  /* Make sure select elements fit in widgets. */
}

.widget select {
  max-width: 100%;
}

/*--------------------------------------------------------------
    # Content
    --------------------------------------------------------------*/
/*--------------------------------------------------------------
    ## Posts and pages
    --------------------------------------------------------------*/
.sticky {
  display: block;
}

.post {
  margin: 0 0 1.5em;
}

.page {
  margin: 0 0 1.5em;
}

.updated:not(.published) {
  display: none;
}

.page-content, .entry-content, .entry-summary {
  margin: 0 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
    ## Comments
    --------------------------------------------------------------*/
.comments-area {
  display: none;
}

.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
    # Infinite scroll
    --------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, .infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
    # Media
    --------------------------------------------------------------*/
.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed, iframe, object {
  max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/*--------------------------------------------------------------
    ## Captions
    --------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/*--------------------------------------------------------------
    # New Added
    --------------------------------------------------------------*/
@media (max-width: 1017px) {
  .chat_clear_div {
    height: 0;
    display: none;
  }
  .chat_video iframe {
    float: none;
    display: block;
  }
}

.chat_video iframe {
  margin-right: 20px;
  float: left;
}

.chat_video .chat_box {
  margin: 0 !important;
  float: left;
}

.chat_video {
  display: block;
}

.chat_clear_div {
  height: 610px;
}

.WOOF_Widget {
  width: 25%;
  float: left;
  margin-right: 30px;
}

/*sticky header*/
.navigation-wrap {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 200;
  background: #f9f9f9 !important;
  -webkit-box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.1);
  border-bottom: none;
}

body.admin-bar .navigation-wrap {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar .navigation-wrap {
    top: 46px;
  }
}

.site-content {
  margin-top: 45px;
}

/* Clean up 3 grid Home page */
.hero-4 .wp-block-column:not(:first-child) {
  margin-left: 0;
}

/* header*/
.top-navigation button {
  color: #0A7AFF !important;
  margin-top: -13px !important;
}

.top-navigation button {
  color: #0A7AFF !important;
  margin-top: -17px !important;
}

.top-navigation a, .top-navigation a:visited {
  text-transform: uppercase;
  color: #fff;
  font-size: .7em;
  font-weight: 700;
}

.top-navigation {
  display: block;
  /* float: left; */
  padding-top: .30em;
  padding-left: 3%;
  background: #0A7AFF;
  font-weight: 600;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.top-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.top-navigation ul ul {
  float: left;
  position: absolute;
  left: -999em;
  z-index: 99999;
  text-align: left;
  border: 1px #ddd solid;
}

.top-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.top-navigation ul ul li:hover > ul,
.top-navigation ul ul li.focus > ul {
  left: 100%;
}

.top-navigation ul ul a {
  width: 180px;
}

.top-navigation ul li:hover > ul,
.top-navigation ul li.focus > ul {
  left: auto;
}

.top-navigation li {
  display: inline-block;
  padding: 0 5px;
}

.top-navigation a {
  display: block;
  text-decoration: none;
}

/* Small menu. */
.top-navigation button {
  margin-top: -7px;
  color: #0A7AFF;
  font-size: 32px;
  background: rgba(0, 0, 0, 0);
  border-color: rgba(0, 0, 0, 0);
  padding: 0 0;
}

.menu-toggle,
.top-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 1000px) {
  .menu-toggle {
    display: none;
  }
  .top-navigation ul {
    display: block;
  }
}

@media screen and (max-width: 999px) {
  .top-navigation li {
    border-bottom: 1px #eee solid;
    display: block;
    padding: 20px 0;
    width: 200px;
  }
  .top-navigation ul li:hover > ul, .top-navigation ul li.focus > ul {
    padding: 10px;
    margin-top: -55px;
    left: 40%;
  }
  .top-navigation .sub-menu li {
    border-bottom: 0px;
    /* border-bottom: 1px #ddd solid; */
    padding-left: 34px;
    text-align: center;
  }
}

/* .cart-contents{
  font-size:13px;
  color:#fff !important;
} */
.menu-menu2-container {
  padding-left: 45%;
}

.menu-menu-1-container {
  padding-left: 45%;
}

@media (max-width: 1150px) {
  .menu-menu2-container {
    padding-left: 35%;
  }
  .menu-menu-1-container {
    padding-left: 35%;
  }
}

@media (max-width: 992px) {
  .navigation-wrap {
    position: absolute;
    z-index: 1;
  }
  .main-navigation button {
    display: inline-block;
    font-size: 1.5em;
  }
  a.fa.fa-search.ie-inline {
    display: inline-block;
    font-size: 1em;
    padding-left: 30px;
  }
}

/*end small menu*/
/*Changes here for button css*/
@media (max-width: 800px) {
  button, [type="button"], [type="reset"], [type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
    background: #0A7AFF;
    color: #fff !important;
    padding: 10px 20px;
    font-weight: 800;
    text-transform: capitalize;
    border: none;
    font-size: 1.8vw;
  }
}

/*changes started 19072021*/
.pull-it-up {
  margin-top: -300px;
}

.angle-section {
  -webkit-clip-path: polygon(0 20%, 100% 0, 100% 80%, 0 100%);
          clip-path: polygon(0 20%, 100% 0, 100% 80%, 0 100%);
  padding: .1rem 10%;
}

.single-product .product_meta {
  display: none;
}

span.woocommerce-Price-amount.amount {
  font-weight: 800;
  font-size: 15px;
}

div#chat_messages {
  padding-right: 10px;
}

img.custom-logo {
  max-width: 600px;
  max-height: none;
  margin-bottom: 8px;
}

.sdm_download {
  padding: 8px 24px;
  text-transform: none !important;
  line-height: 1.618em;
}

.wp-block-column.sticky-side {
  border-left: 1px solid #eee;
  padding-left: 15px;
}

h2 {
  font-weight: 800;
}

.entry-content {
  margin-top: 30px !important;
}

.site-content {
  margin-top: 105px !important;
}

.home .site-content {
  margin-top: 115px !important;
}

.search .site-content {
  margin-top: 60px;
}

.error404 .site-content {
  margin-top: 45px;
}

.single-product .site-content {
  margin-top: 45px;
}

/*Changes for fixing logo*/
#primary-menu {
  float: right;
}

@media screen and (max-width: 999px) and (min-width: 750px) {
  .main-navigation {
    width: 65%;
    float: right;
  }
}

@media screen and (max-width: 750px) {
  .main-navigation {
    width: 55%;
    float: right;
  }
}

@media screen and (max-width: 550px) {
  .main-navigation {
    width: 50%;
    float: right;
  }
}

.wp-block-column.sticky-side {
  overflow: hidden;
}

.ownchat p, .otherchat p {
  font-size: 13px;
}

.otherchat {
  margin-left: 10px;
  width: 100%;
}

.message_box {
  border: none !important;
  border-left: 1px solid #222 !important;
}

/* Search Results Page Style */
.search-results .product img {
  width: 200px;
  float: left;
  margin-right: 30px;
  margin-bottom: 60px;
}

.search-results .entry-title {
  margin-top: 30px;
}

.search-results p {
  font-size: 14px;
}

/* Fix Dhruval Code */
.content-area {
  margin-top: 60px !important;
}

.site-content {
  margin-top: 0px;
}

.cart-contents::before {
  margin-top: 0;
}

.chat_clear_div {
  height: 0 !important;
}

@media screen and (max-width: 999px) {
  .top-navigation-wrap {
    display: none;
  }
}

@media screen and (min-width: 48em) {
  .columns-6 ul.products li.product {
    width: 13.49% !important;
  }
}

.top-navigation ul {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  font-weight: 300 !important;
}

.top-navigation {
  background: #000;
}

.top-navigation ul a {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  font-weight: 600 !important;
  font-size: 9px;
}

.cart-contents {
  margin: 0;
  color: #fff !important;
  margin-top: -1px;
}

.menu-top-menu-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#top-menu {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.cart-contents {
  white-space: nowrap;
}

.firstsearch input {
  width: 70%;
  border: white;
  padding: 5px;
  margin: 15px 10px;
}

.skip-link.screen-readertext {
  display: none;
}

#primary-menu {
  text-align: right;
  margin-right: 5%;
}

#Top-menu {
  text-align: right;
  margin-right: 5%;
}

.entry-content {
  margin-top: 100px;
}

.post-29 .entry-content {
  margin-top: 50px;
}

.groups .dir-list .list-wrap {
  text-align: center;
}

.live-stream-page {
  background: #000;
}

.live-stream-page .chat_box {
  margin-top: 30px !important;
  margin-right: 0 !important;
}

.live-stream-page .chat_box {
  margin-top: 30px !important;
}

.content-area-fullwidth h1.entry-title {
  display: none;
}

.vp-video-wrapper.transparent {
  border-top: 1px solid #333 !important;
}

.cst-frm a.btn {
  float: right;
  position: fixed !important;
  bottom: 0;
  right: 0;
  margin: 0 3px 3px 0;
}

#subject {
  margin-left: 20px;
  margin-bottom: 20px !important;
}

#CntctForm label {
  font-size: 12px !important;
}

.cst-frm .modal {
  height: 660px !important;
}

.cst-frm a.btn {
  font-size: 12px !important;
  width: 150px;
  display: block;
  padding: 10px 20px !important;
  position: absolute;
  font: inherit !important;
  font-weight: 800 !important;
  text-align: center;
  text-decoration: none;
  color: #0A7AFF;
  border-radius: 0 !important;
  background: #0A7AFF !important;
  text-transform: capitalize;
  z-index: 10000;
}

#description {
  resize: none;
  min-height: 300px;
}

.cst-frm .btn-close::before, .btn-close::after {
  content: '';
  width: 20px !important;
  height: 6px;
  display: block;
  background: #0A7AFF !important;
}

.cst-frm .head {
  width: 100%;
  height: 36px;
  padding: 13px !important;
  overflow: hidden;
  background: #fff !important;
}

/*chat widget scrollbar */
div#show_msg::-webkit-scrollbar-thumb {
  background-color: #222;
  /* color of the scroll thumb */
  border-radius: 0px;
  /* roundness of the scroll thumb */
  border: none;
  /* creates padding around scroll thumb */
}

/* chat widget height */
div#show_msg {
  height: 85vh !important;
}

/* hide chat screen size */
@media screen and (max-width: 999px) {
  .chat_box {
    display: none !important;
  }
}

/* chat widget height and positioning */
.chat_box {
  height: 85vh !important;
  margin-bottom: 60px;
  width: 400px;
  margin-top: -60px !important;
  float: right;
}

/* chat app - i don't this this has effect */
.chat_avatar img {
  width: 25px !important;
}

/* chat app font sizes */
.name_date {
  font-size: 11px !important;
  float: left;
  overflow: hidden;
  max-width: 100px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* chat app message area */
.main_msg {
  font-size: 11px !important;
  float: left;
  width: 70%;
  line-height: 18px;
  margin-top: 2px;
}

/* chat app styling */
.msg_box {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  float: left;
  margin-bottom: 0px;
}

/* chat app avatar sizing */
.img_div {
  width: 170px;
  float: left;
}

/* chat app text area styling */
#chat_form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 12px;
  border: 2px solid #0A7AFF;
  margin-top: 0px;
  margin-left: -5px !important;
}

/* chat app text area styling */
#msg_txtarea {
  font-size: 12px;
  padding: 10px 5px;
  margin-right: 3px;
  border-radius: 0;
  background: #444;
  resize: none;
  color: #eee;
}

/* chat app submit button and icon */
.msg_submit {
  background: #111 !important;
  color: #0A7AFF;
  height: 35px;
  cursor: pointer;
  font-size: 20px;
}

/* chat app submit button and icon */
a.msg_submit {
  color: #0A7AFF !important;
  padding: 6px 7px 6px 2px;
}

/* chat app avatar div positioning/styling */
.chat_avatar {
  width: 17% !important;
}

/* chat app - fixes text area submit button layout */
#chat_form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* chat app main style and positioning */
.chat_box {
  width: 300px;
  float: right;
  margin: 15px 15px 15px 0;
  margin-right: -65px;
  border: none !important;
  border-left: 1px solid #222 !important;
}

/* custom Gutenberg block class */
.chatbox {
  margin-top: 0;
}

/* SDM download button styling */
.sdm_download {
  padding: 8px 24px;
  text-transform: uppercase !important;
  line-height: 1.618em;
  font-weight: 800;
  font-size: 16px;
  font-family: 'Montserrat', sans-serif;
}

/* form field required border color */
input:required {
  border: 1px solid #0A7AFF;
}

/* Gutenberg custom class for dark pages */
.lab-list a {
  color: #fff;
  font-size: 13px;
  line-height: 1px !important;
  text-decoration: underline !important;
}

/* My Courses - BLOG slider - font styling */
.wp-block-latest-posts.wp-block-latest-posts__list li a {
  color: #fff;
  font-weight: 700;
  cursor: pointer !important;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1em !important;
}

.wp-block-latest-posts.wp-block-latest-posts__list li {
  width: 300px;
  margin-bottom: 30px;
}

.wp-block-latest-posts.wp-block-latest-posts__list li {
  line-height: 1em !important;
}

/* Hides reduntant title on SDM archive page */
.sdm_post_title {
  display: none;
}

/* Unused custom Gutenberg block class */
.video-zone {
  padding: 0;
  background: #000;
}

/* Menu color */
.site-header {
  background: #f9f9f9;
}

/* Not sure what post 10939 is - will update later */
#post-10939 .entry-header {
  display: none;
}

#post-10939 h2 {
  margin: 0;
  color: #0A7AFF;
}

#post-10939 p {
  color: #eee !important;
}

#post-10939 {
  background: #000;
}

/* Form styles */
.page-id-12365 input, .page-id-11329 input {
  float: right;
  margin-top: 5px;
}

.page-id-12365 input, .page-id-11329 select {
  float: right;
}

/* My Profile Menu item style */
@media screen and (min-width: 1000px) {
  .menu-profile {
    border-left: 1px solid #ddd;
    color: #0A7AFF;
    margin-left: 30px;
  }
}

/* My Profile Menu item style Hamburger */
@media screen and (max-width: 999px) {
  .menu-profile {
    border-left: none;
    color: #0A7AFF;
    margin-left: 0;
  }
}

#sentbox-personal-li {
  display: inherit;
}

#message-threads {
  max-height: 500px;
}

#bp_core_members_widget-2, #bp_core_whos_online_widget-2 {
  background: white;
  padding: inherit;
  /* color: #fff; */
  font-weight: 600;
  margin-bottom: 0;
  margin-top: -60px;
  border-right: 0px solid #223;
  padding-top: 45px !important;
}

#subject {
  margin-left: 0px;
  margin-bottom: 20px !important;
}

a.skip-link.screen-readertext {
  display: none;
}

#bp_core_members_widget-2, #bp_core_whos_online_widget-2 {
  background: white;
  padding: inherit;
  /* color: #fff; */
  font-weight: 600;
  margin-bottom: 0;
  margin-top: -60px;
  border-right: 0px solid #223;
  padding-top: 45px !important;
}

#subject {
  margin-left: 0px;
  margin-bottom: 20px !important;
}

.woof_sid_auto_shortcode {
  border: solid 0px #aaa !important;
}

.woof_list_checkbox {
  padding: 0;
}

.woof_sid_auto_shortcode .woof_container {
  float: none;
}

.woof_list label {
  font-size: 12px;
}

.woof_container_inner h4 {
  font-size: 18px;
}

.woocommerce-products-header__title {
  display: none;
}

@media (min-width: 768px) {
  .post-type-archive #primary {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .woof_sid_auto_shortcode {
    width: 25%;
    border-right: 1px solid #E0E0E0 !important;
  }
  .post-type-archive #main {
    width: 75% !important;
  }
}

.woof_sid_auto_shortcode .woof_container {
  width: 90% !important;
}

.post-type-archive .columns-6 ul.products li.product {
  width: 170px !important;
}

.woof_text_search_container .woof_text_search_go {
  display: none !important;
}

@media (max-width: 768px) {
  .message_box {
    opacity: 0;
  }
}

/* Set position Who's Online Stream Page */
.lesson-template-default #bp_core_members_widget-2, .lesson-template-default #bp_core_whos_online_widget-2 {
  bottom: inherit !important;
  top: inherit;
}

/* Search Results Page Styles */
.search-results .page-title {
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
}

.search-results .comments-link {
  display: none;
}

.search-results article a {
  font-size: 22px;
  text-decoration: none !important;
}

.search-results p {
  color: #000;
  font-size: 14px;
  line-height: auto;
  text-align: justify;
}

.search-results article {
  border: 1px solid #ccc;
  margin-top: 30px;
  padding: 10px 30px;
}

.search-results .content-area img {
  width: 250px;
  display: none;
}

.search-results .entry-header {
  margin: 0;
}

.search-results .entry-title {
  margin: 0;
}

/* Search in Menu Width */
.firstsearch input {
  width: 250px;
  border: 1px solid #ddd;
}

/* SDM - Button Font Style */
.sdm_download {
  font-size: 12px;
}

/* Style sub menu dropdown */
a.primary_tog {
  outline: none !important;
  color: #000 !important;
}

.main-navigation .sub-menu a:before {
  content: "- ";
  color: #0A7AFF;
  font-size: 12px;
}

/* WP Login Style */
form#loginform {
  border-radius: 10px;
  -webkit-box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.4);
          box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.4);
  border: 0px;
}

/* Menu font weight */
.main-navigation a {
  font-weight: 800 !important;
}


/* Updated Button Outline Style */
.button-outline
.wp-block-button__link {
  background-color: rgba(255, 0, 0, 0) !important;
  border: 4px solid #fff !important;
}

button.button.wp-hide-pw {
  background: #fff;
}

/* Menu Styles */
#primary-menu .menu-item::before, #primary-menu .menu-item::after {
  background: transparent;
}

.menu-top-menu-container {
  display: none;
}

#primary-menu .cart-contents:before {
  font-size: 10px;
}

@media (max-width: 999px) {
  ul.sub-menu {
    left: 0;
    float: none;
    display: none;
    padding: 0;
    position: relative;
  }
}

@media (min-width: 1100px) {
  ul.sub-menu {
    left: -90px !important;
    visibility: hidden;
    -webkit-transition: opacity 0.3s visibility 0.3s;
    transition: opacity 0.3s visibility 0.3s;
    opacity: 0;
    margin-top: 10px !important;
    border-radius: 5px !important;
  }
  #site-navigation {
    visibility: hidden;
    -webkit-transition: opacity 0.5s visibility 0.5s;
    transition: opacity 0.5s visibility 0.5s;
    opacity: 0;
  }
}

/* Style sub menu dropdown */
a.primary_tog {
  outline: none !important;
  color: #000 !important;
}

.main-navigation .sub-menu a:before {
  content: "- ";
  color: #0A7AFF;
  font-size: 12px;
}

/* Hide top menu until we pull from header php */
.top-navigation {
  display: none;
}

/* Cart count color */
.cart-contents span.count {
  color: #0A7AFF;
}

/* Cart position fix */
a.cart-contents {
  height: 16px !important;
}

/* Cart position fix */
#primary-menu .cart-contents:before {
  font-size: 24px;
}

/* New Footer Style */
.footer-maxwidth {
  max-width: 1200px;
  margin: 0 auto;
}

.site-footer p {
  line-height: 1.5em;
  margin: 0;
  font-weight: 300;
  font-size: 13px !important;
}

.site-footer {
  max-width: 1700px;
  margin-top: 30px !important;
  margin: 0 auto;
  position: inherit !important;
}

.footer_border {
  border-left: 1px solid #e2dfdf;
  padding-left: 30px;
}

.footer_border {
  border-left: 1px solid #e2dfdf;
  padding-left: 30px;
}

.site-footer {
  background: #fff !important;
  max-width: 100% !important;
}

.site-footer .wp-block-cover__image-background, .wp-block-cover__video-background {
  z-index: 0;
}

/* End Footer Styles */
/* WOOF Styles */
.woof_list li:hover {
  background: #eee;
}

a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
  padding: 5px;
}

a.woocommerce-LoopProduct-link.woocommerce-loop-product__link:hover {
  background: #f0f0f0;
  text-decoration: none;
}

.woof_shortcode_output.columns-6 ul.products li.product {
  width: 200px !important;
}

.shop_sub_max_width {
  max-width: 96%;
  margin: 0 auto;
}

.woof_shortcode_output p.woocommerce-result-count {
  font-size: 12px !important;
  font-weight: 300;
  margin-left: 30px;
  margin-top: -18px;
}

.woocommerce.columns-6.woocommerce-page.woof_shortcode_output {
  background: #fff;
  padding: 5px 10px;
  border-radius: 8px;
  margin-top: 15px;
}

.woof_container_sortproducts, .woof_container_product_cat {
  margin-top: 15px;
}

.woof_block_html_items ul {
  padding: 0;
}

.woof_block_html_items li {
  font-size: 12px;
}

.woof_container_sortproducts, .woof_container_product_cat {
  background: #fff;
  border-radius: 8px;
  padding: 5px 10px;
}

.woof h4 {
  font-weight: 800;
  text-transform: capitalize;
  font-size: 1.2em;
}

.woof li {
  line-height: 11px;
  text-transform: capitalize;
  padding-top: 6px;
  padding-left: 5px;
  margin-top: 8px !important;
}

/* End WOOF Styles */
/* For Input Styles */
input:required, textarea:required {
  border: none !important;
}

/* kill radius all WP block buttons */
.wp-block-button__link {
  font-weight: 700;
  font-size: 16px;
  border-radius: 0px;
}

/* Hamburger Menu Fix */
.site-branding {
  margin-right: 5px;
}

/* Font Style for Navigation */
.main-navigation a, .main-navigation a:visited {
  text-transform: uppercase;
  color: #444;
  font-size: 0.7em;
  font-weight: 800;
}

/*fix for footer elements mobile view */
@media (max-width: 768px) {
  footer .wp-block-cover__inner-container > .wp-block-columns {
    display: block;
  }
  footer .wp-block-column:nth-child(2n), footer .wp-block-column:nth-child(3n) {
    margin: 0;
    padding: 0;
    text-align: center;
    margin-top: 20px;
  }
  footer .wp-block-column:nth-child(2n) h3 {
    text-align: center;
  }
  footer .wp-block-column:nth-child(3n) .wp-block-buttons {
    display: block;
  }
}

/*fix for footer elements mobile view till here*/
/* Nice clean grid - Woocommerce Products*/
.wc-block-grid__product-title {
  height: 50px;
}

/* Clean up 3 grid Shop page */
.mobile-grid .wp-block-column:not(:first-child) {
  margin-left: 0;
}

.woocommerce ul.products {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  margin-top: 40px !important;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  color: #000 !important;
}

/*** Single Product - Product Variations ***/
.variations_form.cart {
  width: 50%;
}

.format-standard .entry-content p {
  text-align: justify;
  text-justify: inter-word;
}

.entry-content p {
  margin: 0;
}

.woocommerce-billing-fields p {
  margin: 5px 0;
}

/******************************************************/
/* Global WooCommerce */
/******************************************************/
/** Center Price - Set Margins - Product Loop (everywhere for now) **/
.price {
  margin: auto;
  text-align: center;
  display: inherit;
  margin-bottom: 15px;
  font-weight: 600;
}

/** Product Title Styles - Product Loop **/
ul.products li.product .woocommerce-loop-product__title {
  font-size: .8rem;
  text-align: center;
}

/** Button Styles - Woocommerce - Product Loop **/
.woocommerce ul.products li.product .button {
  margin-top: auto;
  display: table;
  text-align: center;
  width: 100%;
}

/*** Filter Padding ***/
.woocommerce-ordering {
  margin-bottom: 20px;
}

/******************************************************/
/* WooCommerce Product Archives */
/******************************************************/
/** Flexbox on WooCommerce Product Archive **/
.woocommerce .products ul,
.woocommerce ul.products {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

/** Flexbox for Woocommerce Product Archive **/
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}

@media screen and (max-width: 500px) {
  .woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    width: 100%;
  }
}

/******************************************************/
/* Shop Page */
/******************************************************/
/** Spacing between product rows **/
.page-id-9809 li.product {
  margin-bottom: 80px !important;
}

/*** Quick Links - Simple collapsing grid ***/
.shop-page-container {
  margin: auto;
  text-align: center;
  max-width: 1400px;
}

.shop-page-item {
  display: inline-block;
  background: #fff;
  margin-bottom: 30px;
  padding: 30px;
  text-align: center;
}

/** Custom Class for Gutenberg - Padding for Product Grid **/
.shop-product-grid {
  padding: 30px 120px;
}

/** Top Hero Text Area - Positioning **/
.shop-page-hero {
  max-width: 600px;
  margin: 20px auto !important;
}

.shop-page-hero p {
  margin: 20px auto !important;
}

.wc-block-pagination-page:not(.toggle) {
  background-color: #f9f9f9;
  margin-top: 30px;
  color: #000 !important;
}

/* Select/Dropdown/Filter - Woocommerce - Gutenberg Block */
/* Select/Dropdown - positioning */
#wc-block-sort-select__select-0 {
  margin-bottom: 30px;
  background: #000;
  color: #fff;
  font-weight: 700;
}

/** Red Accent - Featured Section - Shop Category Custom **/
.wp-block-group.\.category-featured {
  border-left: 7px solid #0A7AFF;
  padding-left: 40px;
}

/** Big Text - Featured Section - Shop Category Custom **/
.wp-block-group.\.category-featured h1 {
  font-size: 45px;
}

.wp-block-group.\.category-featured p {
  margin: 10px 0;
}

/** Featured Section - Padding - Shop Category Custom **/
.wp-block-group.has-very-light-gray-background-color.has-background.\.category-shop {
  padding: 30px 30px;
}

/******************************************************/
/* Woocommerce Uncategorized Overrides */
/******************************************************/
/** Sale Badge - Positioning - Global **/
.onsale {
  float: left;
}

/** Woocommerce Product Grid - Margin - Global **/
.wc-block-grid__products {
  margin: 0 5%;
}

/******************************************************/
/* Woocommerce Breadcrumbs */
/******************************************************/
/* Top Margin - Breadcrumbs */
/** Positioning **/
.woocommerce-breadcrumb {
  margin-top: 40px;
  font-size: 12px;
  margin-bottom: 20px;
  font-weight: 600;
}

/******************************************************/
/* Woocommerce Navigation Cart */
/******************************************************/
/*** Hide Amount in Cart ***/
.cart-contents .amount {
  display: none;
}

.cart-contents {
  float: right;
  font-size: 12px;
  font-weight: 700;
  margin-right: 5%;
  color: #444 !important;
  margin-top: -27px;
}

/*** Custom Cart Icon ***/
.cart-contents:before {
  font-family: WooCommerce;
  content: url("https://staging.eodmaker.com/wp-content/uploads/2020/05/shopping-cart.svg");
  font-size: 28px;
  margin-top: 10px;
  font-style: normal;
  font-weight: 400;
  padding-right: 5px;
  vertical-align: bottom;
}

.cart-contents:hover {
  text-decoration: none;
}

.cart-contents-count {
  color: #fff;
  background-color: #2ecc71;
  font-weight: bold;
  border-radius: 10px;
  padding: 1px 6px;
  line-height: 1;
  font-family: Arial, Helvetica, sans-serif;
  vertical-align: top;
}

.cart-contents::before {
  padding-right: 1px;
  vertical-align: middle;
}

.cart-contents {
  float: right;
  font-size: 10px;
  font-weight: 600;
  margin-right: 2%;
  color: #444 !important;
}

@media screen and (max-width: 600px) {
  .cart-contents::before {
    display: none !important;
  }
}

/******************************************************/
/* Single Product Page */
/******************************************************/
/*** Product Gallery - Positioning and Margins - Global (FOR NOW) ***/
.woocommerce-product-gallery__wrapper {
  margin-right: 30px;
  float: left;
}

/** Meta Info - Positioning (IMPORTANT) - Global (FOR NOW) **/
.product_meta {
  clear: both;
  font-size: 11px;
  font-weight: 600;
}

/*** Right Padding for Product Gallery ***/
.woocommerce-product-gallery {
  margin-right: 60px;
}

/** Sale Badge - Positioning - Global (PROBABLY REDUNDANT - NEED QA **/
.onsale {
  float: left;
  background: #0A7AFF;
  color: #fff;
  font-weight: 700;
  font-size: 10px;
  padding: 2px 6px;
  text-transform: uppercase;
  position: absolute;
}

/*** Align Price ***/
.summary.entry-summary.custom-product-layout .price {
  text-align: left;
}

/*** Request Quote Button Style ***/
.add-request-quote-button.button {
  cursor: pointer;
  background: #444;
  color: #fff !important;
  padding: 12px 20px;
  border-radius: 0;
  font-weight: 800;
  text-transform: capitalize;
  float: none;
  border: none;
}

/** Clear Div - Request Quote Buttons and Responses **/
.yith-ywraq-add-button.show {
  clear: both;
  margin-bottom: 20px;
}

/*** Added to Quote Response ***/
.yith_ywraq_add_item_response.yith_ywraq_add_item_response_message {
  clear: both;
}

/** Clear Div - Request Quote - Response (if already added to quote) **/
.yith_ywraq_add_item_response_message {
  clear: both;
}

/******************************************************/
/* Custom Div for Single Product Page */
/******************************************************/
@media screen and (min-width: 1100px) {
  .custom-product-layout {
    width: 50% !important;
    float: left;
    clear: none;
    margin-right: 10px;
    text-align: justify;
  }
}

/******************************************************/
/* Woocommerce Tabs - Single Product Page */
/******************************************************/
.woocommerce-tabs ul.tabs li a {
  font-weight: 700;
}

.woocommerce-tabs.wc-tabs-wrapper {
  clear: both;
}

.woocommerce-tabs ul.tabs li {
  display: inline-block !important;
  margin: 0;
  position: relative;
  padding-right: 30px;
}

.woocommerce-tabs .active {
  border-bottom: 3px solid #0A7AFF;
  outline: none;
}

/******************************************************/
/* Related Products */
/******************************************************/
/*** Temporary override for grid column width ***/
.related .products {
  width: 45%;
}

/* WooCommerce single product page */
.woocommerce div.product div.images img {
  max-width: 300px;
}

/*** Single Product - Add to Cart layout ***/
.single_add_to_cart_button.button.alt {
  float: left;
  margin-top: 10px;
  margin-bottom: 12px;
  min-width: 156px;
}

/******************************************************/
/* Woocommerce Notifications */
/******************************************************/
.woocommerce-notices-wrapper a.button.wc-forward {
  float: right;
  padding: 0 !important;
  text-transform: uppercase;
  background: transparent !important;
  color: #fff !important;
}

.woocommerce-notices-wrapper a.button.wc-forward:hover {
  background: transparent !important;
  text-decoration: underline;
}

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
  content: "";
  display: table;
  table-layout: fixed;
  background-color: #000 !important;
  clear: both;
  color: #fff;
  font-weight: 700;
  padding: 15px;
  margin-bottom: 15px;
  width: 100%;
  font-size: 14px;
}

.posted_in {
  margin-right: 10px;
}

/******************************************************/
/* Woocommerce Cart / Checkout / Account Pages */
/******************************************************/
.cart-contents:before {
  content: url("/wp-content/themes/ie-theme/shopping-cart1.svg");
}

.cart-contents {
  display: inherit !important;
  margin-top: -25px;
}

.checkout-button {
  background: #0A7AFF;
  color: #fff !important;
  padding: 10px;
  font-weight: 700;
  text-transform: capitalize;
  float: right;
}

.add_to_cart_button {
  background: #0A7AFF;
  color: #fff !important;
  padding: 10px;
  border-radius: 0 !important;
  font-weight: 700;
  text-transform: capitalize;
  float: none;
  text-align: center;
  margin-top: 5px;
}

.woocommerce-additional-fields textarea {
  width: 100%;
  padding: 15px;
  font-size: 13px;
  resize: none;
  height: 100px;
}

@media screen and (max-width: 800px) {
  #customer_details {
    float: none;
    width: 75%;
  }
}

.woocommerce-Price-currencySymbol {
  margin-left: 5px;
}

#customer_details {
  float: left;
  width: 40%;
}

@media screen and (min-width: 1000px) {
  .custom-checkout {
    float: left;
    width: 45%;
    margin-left: 50px;
  }
}

.woocommerce-billing-fields__field-wrapper label, .woocommerce-shipping-fields__field-wrapper label {
  display: none;
}

.woocommerce input {
  font-size: 12px;
}

.woocommerce h3 {
  font-size: 16px;
  color: #0A7AFF;
}

.shop_table.woocommerce-checkout-review-order-table {
  font-size: 12px;
}

#wc-intuit-payments-credit-card-credit-card-form label {
  display: none;
}

.woocommerce-terms-and-conditions-wrapper {
  font-size: 12px;
  text-align: left;
  line-height: 12px;
}

.woocommerce-privacy-policy-text {
  margin: 15px 0;
}

#place_order {
  margin: 15px 0;
}

.wc_payment_method.payment_method_intuit_payments_credit_card label {
  font-size: 10px;
}

#wc-intuit-payments-credit-card-credit-card-form {
  font-size: 12px;
}

#payment ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-cart-form__cart-item.cart_item img {
  width: 25%;
}

.woocommerce-cart-form {
  font-size: 14px;
}

.checkout-button {
  -webkit-appearance: button;
  cursor: pointer;
  background: #0A7AFF;
  color: #fff !important;
  padding: 10px 20px;
  font-weight: 800;
  text-transform: capitalize;
  border: none;
  float: right;
}

.woocommerce-cart-form button {
  float: right;
}

.cart_totals {
  width: 50%;
  float: right;
}

.woocommerce-shipping-fields__field-wrapper input, .woocommerce-billing-fields input {
  width: 100%;
  padding: 10px 10px !important;
}

.woocommerce-billing-fields {
  width: inherit;
  float: inherit;
  margin-right: inherit;
}

.woocommerce-additional-fields textarea {
  width: 500px;
  padding: 15px;
  font-size: 13px;
  resize: none;
  height: 100px;
}

@media (max-width: 1017px) {
  .single-product div.product .woocommerce-product-gallery.images {
    position: relative;
    width: 50%;
    float: left;
  }
  .woocommerce-product-gallery {
    margin-right: 0;
  }
  .single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    overflow: scroll;
  }
  .woocommerce div.product div.images img {
    max-width: 90%;
  }
}

@media screen and (min-width: 48em) {
  .columns-6 ul.products li.product {
    width: 200px !important;
  }
}

.woocommerce ul.products {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}

/* Override Grid Breakpoints Shop Page */
@media screen and (min-width: 500px) {
  .mobile-grid .wp-block-columns {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
}

/*for button and related products of shop page*/
.related .products .product-template-default .products ul, .product-template-default ul.products {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: nowrap;
      flex-flow: nowrap;
  margin: auto;
  overflow: overlay;
}

ul.products li.product img {
  min-width: 170px;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}

.woocommerce ul.products li.product .button {
  font-size: 14px;
}

.add_to_cart_button {
  padding: 0;
}

ins {
  padding: 0.3vw;
  font-size: 0.8vw;
}

.onsale {
  font-size: 0.8vw;
}

/*buttons changes done*/
/*shop page*/
.filter-toggle {
  display: none;
}

.firstsearch {
  display: none;
}

.firstsearch input {
  width: 80%;
  border: white;
  padding: 5px;
  margin-left: 15%;
}

.search-form label {
  width: 75%;
  margin-top: 20px;
}

@media (max-width: 992px) {
  .search-form label {
    width: 60%;
  }
  .WOOF_Widget {
    display: none;
  }
  .woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    padding-right: 16px;
  }
  .filter-toggle {
    display: block;
  }
  .woof_products_top_panel {
    z-index: 0;
  }
}

.entry-content {
  margin-top: 50px;
}

.onsale {
  margin-top: 0px;
}

.woocommerce-ordering {
  display: none;
}

.woof .widget_price_filter .ui-slider .ui-slider-range {
  z-index: 0;
}

.woof .widget_price_filter .ui-slider .ui-slider-handle {
  z-index: 0;
}

/* end shop page*/
/* changes started on 19072021*/
@media screen and (max-width: 800px) {
  .related .products .woocommerce .products ul, .woocommerce ul.products {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.woocommerce-edit-account .clear {
  display: none;
}

.woocommerce-edit-account fieldset {
  padding: 0;
}

/* Style Woo Account */
.woocommerce-account .col-1, .woocommerce-account .col-2 {
  width: 400px !important;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  max-width: inherit;
}

.u-columns.woocommerce-Addresses.col2-set.addresses {
  float: left;
  margin-bottom: 100px;
  margin-top: 20px;
  margin-left: -15px;
}

nav.woocommerce-MyAccount-navigation {
  width: 300px;
  float: left;
  padding: 30px 5px;
  margin-right: 30px;
  font-size: 13px;
  font-weight: 800;
  border-left: 3px solid #0A7AFF;
}

table.woocommerce-orders-table.woocommerce-MyAccount-orders.shop_table.shop_table_responsive.my_account_orders.account-orders-table {
  width: 65%;
  margin-top: 50px;
  float: left;
  font-size: 11px;
  font-weight: 700;
  -webkit-box-shadow: 0 0.125rem 0.25rem 0 black;
          box-shadow: 0 0.125rem 0.25rem 0 black;
}

ul.tabs.wc-tabs {
  margin-top: 0px;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px;
  width: 200px;
}

.woocommerce-checkout #order_comments_field {
  width: 300px;
}

.woocommerce-shipping-fields {
  width: 400px;
}

.woocommerce-billing-fields {
  width: 400px;
  float: inherit;
  margin-right: inherit;
}

.woocommerce-checkout .woocommerce-additional-fields textarea {
  width: 400px;
  padding: 15px;
  font-size: 13px;
  resize: none;
  height: 100px;
}

.woocommerce-checkout .col2-set .form-row-first {
  float: none;
  margin-right: 3.8%;
}

.woocommerce-checkout .col2-set .form-row-last {
  float: none;
  margin-right: 0;
}

.woocommerce-shipping-fields__field-wrapper input, .woocommerce-billing-fields input {
  width: 300px;
  padding: 10px 10px !important;
}

.woocommerce-cart .cross-sells {
  display: none;
}

ul.products li.product img {
  min-width: 170px;
}

/* Top Margin Product Images */
.woocommerce-product-gallery__wrapper {
  margin-right: 30px;
  float: left;
  margin-top: 0;
}

/* Woobox Margin Bottom */
.custom-product-layout {
  margin-bottom: 20px;
}

/* Short Description Styles */
.woocommerce-product-details__short-description {
  margin-bottom: 30px;
}

/* Product Page Style - Big Screen */
@media screen and (min-width: 1100px) {
  .product_title.entry-title {
    margin-bottom: 10px;
    margin-top: 10px;
  }
  /* Breadcrumb Styles */
  .woocommerce-breadcrumb {
    margin-top: 10px;
    font-size: 12px;
    margin-bottom: 20px;
    font-weight: 600;
  }
  /* Woobox Styles - Buying Options */
  .variations {
    font-size: 12px;
    line-height: 16px;
  }
  /* Woo box Description styles */
  #tab-description {
    font-size: 14px;
    margin-top: 5px;
  }
  /* Woo Box Big Product image */
  .single-product .wp-post-image {
    max-width: 500px !important;
    width: 500px !important;
  }
  /* Woo Box Positioning */
  .custom-product-layout {
    width: 28%;
    float: left;
    clear: none;
    margin-right: 10px;
  }
  /* Woo Box Tabs Styles */
  .woocommerce-tabs.wc-tabs-wrapper {
    float: left;
    width: 90%;
    clear: right;
    margin-bottom: 60px;
  }
  .woocommerce-tabs h2 {
    display: none;
  }
  .woocommerce-tabs ul.tabs {
    margin-bottom: 15px;
  }
  #tab-title-additional_information {
    display: none !important;
  }
}

/* Related Products Div Settings */
.related.products {
  clear: both;
}

/* Single Product Page Layout Styles */
.single-product .content-area {
  padding: 0 5%;
  width: 95% !important;
  margin: auto;
  max-width: 1400px;
  padding: 5px 30px;
  border-right: 1px solid #eee;
  border-left: 1px solid #eee;
}

div#show_msg {
  overflow-x: hidden;
}

.single-product .content-area {
  padding: 0 5%;
  width: 75%;
  margin: auto;
  max-width: 1400px;
  padding: 5px 30px;
  border-right: 1px solid #eee;
  border-left: 1px solid #eee;
}

.woocommerce-tabs h2 {
  display: none;
}

.woocommerce-tabs ul.tabs {
  margin-bottom: 15px;
}

#tab-title-additional_information {
  display: none !important;
}

.woocommerce ul.products li.product .button {
  margin-top: auto;
  display: table;
  text-align: center;
  width: 100%;
  background: #0A7AFF;
  color: #fff;
  font-weight: 800;
  padding: 12px;
}

.star-rating {
  margin: auto;
}

/* woocommerce font sizing */
.woocommerce h3 {
  font-size: 22px;
  color: #0A7AFF;
}

/* WOOCOMMERCE CODE and Overrides */
.related.products {
  margin-top: 60px;
  background: #eee;
  padding: 30px;
  text-align: center;
}

.related .products .woocommerce .products ul, .woocommerce ul.products {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin: auto;
}

/* Shop page Hero section positioning */
.shop-page-hero {
  max-width: 1200px;
  margin: 20px auto !important;
}

/* Not sure what this does */
.wp-block-group.\.category-featured p {
  margin: 10px 0;
  font-size: 14px;
  line-height: 1.6em;
}

/* Not sure what this does */
.wp-block-group.\.category-featured h1 {
  font-size: 35px;
}

/* Product card/grid styles */
ul.products li.product .woocommerce-loop-product__title {
  font-size: 12px !important;
  margin-top: 20px !important;
  line-height: 14px;
  text-overflow: ellipsis;
  overflow: normal;
  white-space: normal;
  color: #000 !important;
}

/* Shop page - set max-witdh */
.shop-page-container {
  margin: auto;
  text-align: center;
  max-width: 1000px;
}

/* Product price font style */
.price {
  text-align: center;
  font-weight: 600;
  font-size: 12px;
}

/* Woocommerce pagination */
.woocommerce-pagination li {
  display: inline-block;
  font-weight: 700;
  font-size: 14px;
}

.page-numbers {
  margin-right: 8px;
  background: #eee;
}

/* Woocommerce notice and positioning */
.woocommerce-notices-wrapper, .cart-empty.woocommerce-info {
  margin: 30px 0;
}

/* Return to shop styling */
.button.wc-backward {
  background: #0A7AFF;
  color: #fff !important;
  font-weight: 800;
  padding: 10px;
  text-transform: uppercase;
  font-size: 14px;
}

.woocommerce-additional-fields textarea {
  width: 100%;
  padding: 15px;
  font-size: 13px;
  resize: none;
  height: 100px;
}

@media screen and (max-width: 999px) {
  #customer_details {
    float: none;
    width: 75%;
  }
}

/*Changes for cart and search weird loading*/
.cart-contents {
  display: none !important;
}

.ie-inline {
  display: none !important;
}

/*For shop page fix*/
@media (min-width: 768px) {
  .single-product div.product .woocommerce-product-gallery {
    position: relative;
    width: 40%;
    float: left;
  }
}

ol.flex-control-nav li {
  width: auto !important;
  margin-right: 5px;
}

@media (max-width: 768px) {
  .single-product div.product .woocommerce-product-gallery.images {
    position: relative;
    width: 100% !important;
    float: left;
  }
}

@media (max-width: 1100px) and (min-width: 900px) {
  .summary.entry-summary.custom-product-layout {
    width: 50%;
    float: left;
  }
}

/* WOO - Single Product Image size */
.single-product .wp-post-image {
  max-width: 450px !important;
  width: 450px !important;
}

@media screen and (min-width: 1100px) {
  .single-product .wp-post-image {
    max-width: 400px;
    width: 450px !important;
  }
}

@media screen and (max-width: 500px) {
  .single-product .wp-post-image {
    width: 250px !important;
  }
}

/* WOO - Text Align */
.single-product ul {
  text-align: left;
}

/* WOO - Set Tabs/Description Width */
@media screen and (min-width: 1100px) {
  .woocommerce-tabs.wc-tabs-wrapper {
    width: 50%;
    margin-top: -30px;
    margin-bottom: 180px;
  }
}

/* WOO - font size */
.single-product p {
  font-size: 12px;
  line-height: 20px;
}

ul.tabs.wc-tabs {
  display: none;
}

/* WOO - Related Products */
.related .products {
  margin-top: 60px !important;
}

/* fix for related products */
.related .products {
  width: 80%;
}

@media screen and (min-width: 48em) {
  ul.products li.product {
    width: 200px;
  }
}

/* Woo product title style */
h2.woocommerce-loop-product__title {
  color: #0A7AFF !important;
}

/* Cart Page Quantity Input Size Fix */
.quantity input {
  width: 50px;
}

/* Cart Page Remove Product Icon Style */
table.shop_table_responsive tr td.product-remove a {
  text-align: left;
  font-size: 30px;
  font-weight: 800;
}

/* Woocommerce Single Product Style */
.single-product span.woocommerce-Price-amount.amount {
  font-weight: 700;
  font-size: 18px;
  color: #0A7AFF;
}

@media screen and (min-width: 1100px) {
  .custom-product-layout {
    width: 50% !important;
    float: left;
    clear: none;
    margin-right: 10px;
    text-align: justify;
  }
}

@media screen and (max-width: 800px) {
  .custom-product-layout {
    width: 100% !important;
    float: left;
    clear: none;
    margin-right: 10px;
    text-align: justify;
  }
}

@media screen and (max-width: 900px) {
  .related .products .woocommerce .products ul, .woocommerce ul.products {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

ul.products li.product img {
  min-width: 170px;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}

.woocommerce ul.products li.product .button {
  font-size: 14px;
}

/* End Woocommerce Single Product Style */
/* Style Woo Account */
.woocommerce-edit-account .clear {
  display: none;
}

.woocommerce-edit-account fieldset {
  padding: 0;
}

.woocommerce-account .col-1, .woocommerce-account .col-2 {
  width: 400px !important;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  max-width: inherit;
}

.u-columns.woocommerce-Addresses.col2-set.addresses {
  float: left;
  margin-bottom: 100px;
  margin-top: 20px;
  margin-left: -15px;
}

nav.woocommerce-MyAccount-navigation {
  width: 300px;
  float: left;
  padding: 30px 5px;
  margin-right: 30px;
  font-size: 13px;
  font-weight: 800;
  border-left: 3px solid #0A7AFF;
}

table.woocommerce-orders-table.woocommerce-MyAccount-orders.shop_table.shop_table_responsive.my_account_orders.account-orders-table {
  width: 65%;
  margin-top: 50px;
  float: left;
  font-size: 11px;
  font-weight: 700;
  -webkit-box-shadow: 0 0.125rem 0.25rem 0 black;
          box-shadow: 0 0.125rem 0.25rem 0 black;
}

/* End Style Woo Account */
/* Woo Tabs? */
ul.tabs.wc-tabs {
  margin-top: 0px;
}

/* tax exempt text style */
p.form-row.form-row-wide.create-account.woocommerce-validated {
  width: 400px;
  text-align: justify;
}

/*Changes for shop page product look*/
.woocommerce ul.products {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}

.columns-6 ul.products li.product {
  width: 200px !important;
}

div.shop-product-grid > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container > div {
  max-width: 1400px !important;
}

.shop-product-grid {
  padding: 0px !important;
}

ul.products li.product.last {
  margin-right: 3.8% !important;
}

@media screen and (min-width: 48em) {
  .columns-5 ul.products li.product {
    width: 200px !important;
  }
}

/* fix for related products */
.related .products {
  width: 80%;
}

@media screen and (min-width: 48em) {
  ul.products li.product {
    width: 200px !important;
  }
}

/* Customizer Code Drop - Organize and Move */
/* Final course custom margin */
.sensei-course-custom {
  margin-top: -20px !important;
}

/* Need this margin for some reason */
.entry-content {
  margin-top: 10px !important;
}

/* Header Style for Shop Sub Categories */
.header_shop_sub {
  margin-left: 3%;
  margin-top: 10px;
  letter-spacing: 0px;
  font-weight: 800;
  font-size: 1.9em;
}

.text_shop_sub {
  font-size: 0.7em;
  font-weight: 400;
  margin-left: 3% !important;
  text-align: justify;
  line-height: 1.5em;
}

/* END Header Style for Shop Sub Categories */
/* Custom CSS Accordian */
.accordion {
  margin: 3em auto;
  max-width: 55%;
}

.accordion .toggle {
  display: none;
}

.accordion .option {
  position: relative;
  margin-bottom: 1em;
}

.accordion .title,
.accordian-content {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.accordion .title {
  background: #ddd;
  padding: 1em;
  display: block;
  color: #0A7AFF;
  font-weight: 800;
}

.accordion .title:after, .accordion .title:before {
  content: '';
  position: absolute;
  right: 1.25em;
  top: 1.25em;
  width: 3px;
  height: 0.75em;
  background-color: #0A7AFF;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.accordion .title:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.accordian-content {
  max-height: 0;
  overflow: hidden;
  background-color: #111;
}

.accordian-content p {
  margin: 0;
  padding: 0.5em 1em 1em;
  font-size: 0.9em;
  line-height: 1.5;
  color: #fff;
}

.toggle:checked + .accordion .title, .toggle:checked + .accordion .title + .accordion .content {
  -webkit-box-shadow: 3px 3px 6px #8c7f7f7d, -3px 3px 6px #423939a8;
          box-shadow: 3px 3px 6px #8c7f7f7d, -3px 3px 6px #423939a8;
}

.toggle:checked + .accordion .title,
.toggle:checked + .accordion .title + .accordian-content {
  -webkit-box-shadow: 3px 3px 6px #8c7f7f7d, -3px 3px 6px #423939a8;
          box-shadow: 3px 3px 6px #8c7f7f7d, -3px 3px 6px #423939a8;
}

.toggle:checked + .title + .accordian-content {
  max-height: 500px;
  margin-top: -8px;
}

.toggle:checked + .title:before {
  -webkit-transform: rotate(90deg) !important;
          transform: rotate(90deg) !important;
}

/* End Custom CSS Accordian */
/* Contact Us Page Styles */
.contact-margin-left {
  margin-left: 2%;
}

/* Contact page two-column layout */
.custom_wp_block_ie {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 5%;
  gap: 60px;
}

.custom_wp_block_ie > .wp-block-column:first-child {
  flex: 0 0 38%;
  max-width: 38%;
  padding-top: 10px;
}

.custom_wp_block_ie > .wp-block-column.contact-form {
  flex: 0 0 55%;
  max-width: 55%;
}

/* Contact info left column */
.custom_wp_block_ie .has-medium-font-size {
  font-size: 1.4em !important;
  color: #222;
  margin-bottom: 5px;
}

.custom_wp_block_ie > .wp-block-column:first-child img {
  width: 22px !important;
  vertical-align: middle;
  margin-right: 14px;
  opacity: 0.7;
}

.custom_wp_block_ie > .wp-block-column:first-child p[style*="display: inline-block"] {
  font-size: 1.05em;
  color: #333;
  vertical-align: middle;
  margin: 0;
}

.custom_wp_block_ie .wp-block-separator {
  border: none;
  border-top: 2px solid #e0e0e0;
  margin-top: 30px;
}

/* Contact form card */
.contact-form > div:first-child {
  background: #f8f8f8;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 35px 40px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* Form labels */
.contact-form form label {
  display: block;
  font-family: Montserrat, sans-serif;
  font-size: 0.85em;
  font-weight: 600;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
  margin-top: 18px;
}

.contact-form form label:first-of-type {
  margin-top: 0;
}

/* Form inputs */
.contact-form form input[type="text"],
.contact-form form textarea {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  font-weight: 400 !important;
  color: #333;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
  -webkit-appearance: none;
}

.contact-form form input[type="text"]:focus,
.contact-form form textarea:focus {
  outline: none;
  border-color: #0A7AFF;
  box-shadow: 0 0 0 3px rgba(206, 39, 39, 0.1);
}

.contact-form form textarea {
  min-height: 130px;
  resize: vertical;
}

/* Remove default br spacing in form */
.contact-form form br {
  display: none;
}

/* reCAPTCHA spacing */
.contact-form .g-recaptcha {
  margin-top: 20px;
}

/* Submit button */
.contact-form form input[type="submit"] {
  display: inline-block;
  background: #0A7AFF;
  color: #fff;
  border: none;
  padding: 14px 40px;
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  margin-top: 20px;
}

.contact-form form input[type="submit"]:hover {
  background: #a81f1f;
}

.contact-form form input[type="submit"]:active {
  transform: translateY(1px);
}

/* Global form defaults (non-contact) */
input, select, textarea {
  color: #555;
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  line-height: 1.5em;
}

.margin-up {
  margin-top: -30px;
}

.margin-up-header {
  margin-top: 0;
}

/* ---- Homepage hero banner ---- */
.home .entry-content {
  margin-top: 0 !important;
}

.ie-hero-banner {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  line-height: 0;
}

.ie-hero-banner img {
  display: block;
  width: 100%;
  height: auto;
}

/* Battlefield Effects hero - scale naturally like homepage */

.ie-hero-text {
  padding: 30px 5%;
  text-align: center;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: #f9f9f9;
}

.ie-hero-text h1 {
  color: #222222;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 10px;
}

.ie-hero-text p {
  color: #555555;
  font-size: 15px;
  max-width: 700px;
  margin: 0 auto 20px;
}

.ie-hero-banner__buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

a.ie-hero-btn {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 4px;
  text-decoration: none !important;
  font-size: 14px;
}

a.ie-hero-btn.ie-hero-btn--primary,
a.ie-hero-btn.ie-hero-btn--primary:visited,
a.ie-hero-btn.ie-hero-btn--primary:hover,
a.ie-hero-btn.ie-hero-btn--primary:focus {
  background: #0A7AFF;
  color: #ffffff !important;
}

a.ie-hero-btn.ie-hero-btn--primary:hover {
  background: #0560CC;
}

a.ie-hero-btn.ie-hero-btn--outline,
a.ie-hero-btn.ie-hero-btn--outline:visited,
a.ie-hero-btn.ie-hero-btn--outline:hover,
a.ie-hero-btn.ie-hero-btn--outline:focus {
  border: 2px solid #0A7AFF;
  color: #0A7AFF !important;
  background: transparent;
}

a.ie-hero-btn.ie-hero-btn--outline:hover {
  background: rgba(206,39,39,0.08);
}

/* Secondary hero button - white with dark text */
a.ie-hero-btn.ie-hero-btn--secondary,
a.ie-hero-btn.ie-hero-btn--secondary:visited,
a.ie-hero-btn.ie-hero-btn--secondary:focus {
  background: #ffffff;
  color: #1e1e1e !important;
  border: 2px solid #ffffff;
}

a.ie-hero-btn.ie-hero-btn--secondary:hover {
  background: #f0f0f0;
  border-color: #f0f0f0;
}

/* Hero buttons container - ensure wrapping */
.ie-hero-banner__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

/* Mobile responsive contact form */
@media screen and (max-width: 800px) {
  .custom_wp_block_ie > .wp-block-column:first-child,
  .custom_wp_block_ie > .wp-block-column.contact-form {
    flex: 0 0 100%;
    max-width: 100%;
  }
  
  .custom_wp_block_ie {
    gap: 30px;
    padding: 0 4%;
  }
  
  .contact-form > div:first-child {
    padding: 25px 20px;
  }
}

/* End Contact Us Styles */
/* Custom Class for homepage padding */
.home-feature-margin {
  padding: 0 5%;
  text-align: justify;
}

/* Line down the middle of section */
@media screen and (min-width: 800px) {
  .split-section-line:before {
    content: "";
    position: absolute;
    z-index: -1;
    height: 700px;
    top: 12em;
    left: 50%;
    border-left: 1px solid #ddd;
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
  }
}

/* New Shop Grid and Page Classes */
@media screen and (max-width: 800px) {
  .shop-grid .wp-block-columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0em;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.shop-grid-margin {
  margin-bottom: 30px;
}

.shop-max-width {
  max-width: 1300px;
  margin: 0 auto;
}

.shop-bg-black figure {
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  -webkit-transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.shop-bg-black figure:hover {
  -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
          box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
  background: #fff;
}

.shop-bg-black figure {
  background: NONE;
  padding: 8px;
}

/* Temporary Fix for Button Radius Styles */
.shop-buttons .wp-block-button__link {
  border-radius: 0px !important;
  color: #ffffff !important;
  background-color: rgba(0, 0, 0, 0.7) !important;
}

.shop-buttons .wp-block-button__link:hover {
  color: #0A7AFF !important;
  background-color: black !important;
  text-decoration: none !important;
}

.shop-buttons-holder {
  margin-top: -100px;
}

#place_order {
  margin: 30px;
}

/* EOD Kits Homepage Angled Sections */
.angle-section {
  -webkit-clip-path: none;
  clip-path: none;
  padding: 0px;
}

@media screen and (min-width: 910px) {
  .home-margin-up {
    margin-top: -70px;
  }
  .wp-block-column.is-vertically-aligned-center.angle-section-z-fix {
    z-index: 100;
  }
  .angle-section-z-fix {
    z-index: 9;
  }
  .image-overlap-effect {
    margin-top: -130px;
  }
}

.home-margin-right {
  margin-right: 5%;
  margin-left: 5%;
}

.header-padding-left {
  padding-left: 3%;
}

.wide-margin-left {
  margin-left: 5% !important;
  margin-right: 5%;
}

.heading_shiftup {
  margin-top: -1px;
}

.online_learning_margin {
  margin-left: 25px;
}

.angle-section {
  position: relative;
  overflow: visible;
  z-index: 100;
}

.angle-section:before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  background: inherit;
  z-index: -1;
  top: 0;
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: skewY(-3deg);
          transform: skewY(-3deg);
  overflow: visible;
}

.angle-section:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  background: inherit;
  z-index: -1;
  top: 0;
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: skewY(3deg);
          transform: skewY(3deg);
}

/* End Homepage Angled Sections */

/* ================================================================
   IM THEME — Custom Properties + Typography
   ================================================================ */
:root {
  --color-primary: #0A7AFF;
  --color-primary-dark: #0560CC;
  --color-accent: #00C9A7;
  --color-charcoal: #1a1a2e;
  --color-charcoal-light: #2a2a3e;
  --color-gray-900: #111;
  --color-gray-700: #333;
  --color-gray-500: #666;
  --color-gray-300: #ccc;
  --color-gray-100: #f5f7fa;
  --color-white: #fff;
  /* Legacy aliases for compatibility */
  --color-red: #0A7AFF;
  --color-red-dark: #0560CC;
  --font-display: 'Barlow Condensed', 'Montserrat', sans-serif;
  --font-body: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 9999px;
  --shadow-card: 0 2px 8px rgba(0,0,0,.08), 0 4px 20px rgba(0,0,0,.06);
  --shadow-card-hover: 0 8px 24px rgba(0,0,0,.12), 0 12px 40px rgba(0,0,0,.08);
  --max-width: 1400px;
  --transition: .25s ease;
}

body {
  font-family: var(--font-body) !important;
  color: var(--color-gray-700);
  line-height: 1.7;
}

h1, h2, h3, h4 {
  font-family: var(--font-display) !important;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: var(--color-charcoal);
  text-transform: uppercase;
}

h1 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  margin-bottom: .6em;
}

h2 {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  margin-bottom: .5em;
}

h3 {
  font-size: clamp(1.2rem, 2.2vw, 1.6rem);
  margin-bottom: .4em;
}

h4 {
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  margin-bottom: .4em;
}

p {
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 1.2em;
}

/* ================================================================
   TACTICAL REDESIGN — Phase 2: Button Overhaul
   ================================================================ */
.btn,
button:not(.show-password-input):not(.ie-mobile-toggle):not(.ie-mobile-menu-close),
input[type="button"]:not(.show-password-input),
input[type="submit"],
.button:not(.show-password-input),
a.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button:not(.show-password-input),
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.checkout-button,
.wc-proceed-to-checkout a.checkout-button {
  display: inline-block;
  font-family: var(--font-display) !important;
  font-weight: 600;
  font-size: .95rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: var(--radius-pill) !important;
  padding: 12px 32px !important;
  border: 2px solid var(--color-red) !important;
  background: var(--color-red) !important;
  color: var(--color-white) !important;
  cursor: pointer;
  transition: all var(--transition);
  text-decoration: none !important;
  line-height: 1.4;
  text-align: center;
}

.btn:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.button:hover,
a.button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.checkout-button:hover,
.wc-proceed-to-checkout a.checkout-button:hover {
  background: transparent !important;
  color: var(--color-red) !important;
  border-color: var(--color-red) !important;
}

/* Outline variant */
.btn-outline,
.woocommerce a.button.btn-outline {
  background: transparent !important;
  color: var(--color-red) !important;
  border-color: var(--color-red) !important;
}

.btn-outline:hover,
.woocommerce a.button.btn-outline:hover {
  background: var(--color-red) !important;
  color: var(--color-white) !important;
}

/* Dark variant */
.btn-dark {
  background: var(--color-charcoal) !important;
  border-color: var(--color-charcoal) !important;
  color: var(--color-white) !important;
}

.btn-dark:hover {
  background: transparent !important;
  color: var(--color-charcoal) !important;
}

/* White variant (for dark backgrounds) */
.btn-white {
  background: var(--color-white) !important;
  border-color: var(--color-white) !important;
  color: var(--color-charcoal) !important;
}

.btn-white:hover {
  background: transparent !important;
  color: var(--color-white) !important;
}

/* Disable old button styles leaking through */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  box-shadow: none !important;
}

/* ================================================================
   TACTICAL REDESIGN — Phase 3: Navigation
   ================================================================ */

/* --- Utility bar --- */
.ie-utility-bar {
  background: var(--color-charcoal);
  color: var(--color-gray-300);
  font-size: .78rem;
  letter-spacing: .04em;
  padding: 6px 0;
}

.ie-utility-bar .ie-utility-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ie-utility-bar a {
  color: var(--color-gray-300);
  text-decoration: none;
  transition: color var(--transition);
}

.ie-utility-bar a:hover {
  color: var(--color-white);
}

.ie-utility-links {
  display: flex;
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ie-utility-links li {
  display: inline;
}

/* --- Main header --- */
.site-header {
  background: var(--color-white) !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.08);
  position: sticky;
  top: 0;
  z-index: 9999;
}

.ie-header-main {
  max-width: none;
  margin: 0;
  padding: 12px 24px 12px 24px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 32px;
  min-height: 80px;
}

.ie-header-actions {
  margin-left: auto;
}

/* Hide Ajax Search for WooCommerce in header - use native search overlay instead */
.site-header .dgwt-wcas-search-wrapp,
.ie-header-main .dgwt-wcas-search-wrapp,
.ie-utility-bar .dgwt-wcas-search-wrapp,
#masthead .dgwt-wcas-search-wrapp {
  display: none !important;
}

/* Logo - positioned in top left corner */
.ie-header-main .site-branding {
  flex-shrink: 0;
  border: none !important;
  padding: 0 !important;
}

.ie-header-main .site-branding a {
  border: none !important;
}

.ie-header-main .custom-logo {
  max-height: none;
  width: auto;
}

/* Primary nav */
.ie-header-nav {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ie-header-nav .main-navigation,
.ie-header-nav #site-navigation {
  position: static !important;
  float: none !important;
  width: auto !important;
  background: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: 0 !important;
}

.ie-header-nav .main-navigation ul {
  display: flex !important;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ie-header-nav .main-navigation ul li a {
  font-family: var(--font-display) !important;
  font-weight: 600;
  font-size: .85rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-charcoal) !important;
  padding: 8px 10px;
  text-decoration: none;
  transition: color var(--transition);
  position: relative;
  white-space: nowrap;
}

.ie-header-nav .main-navigation ul li a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 10px;
  right: 10px;
  height: 2px;
  background: var(--color-red);
  transform: scaleX(0);
  transition: transform var(--transition);
}

.ie-header-nav .main-navigation ul li a:hover,
.ie-header-nav .main-navigation ul li.current-menu-item > a {
  color: var(--color-red) !important;
}

.ie-header-nav .main-navigation ul li a:hover::after,
.ie-header-nav .main-navigation ul li.current-menu-item > a::after {
  transform: scaleX(1);
}

/* Dropdown submenus - with hover bridge */
.ie-header-nav .main-navigation ul li ul.sub-menu {
  display: flex !important;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card-hover);
  min-width: 220px;
  padding: 12px 0;
  flex-direction: column;
  z-index: 10000;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: none !important;
}

/* Invisible bridge above submenu to prevent gap */
.ie-header-nav .main-navigation ul li ul.sub-menu::before {
  content: '';
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
  height: 15px;
}

.ie-header-nav .main-navigation ul li:hover > ul.sub-menu,
.ie-header-nav .main-navigation ul li.focus > ul.sub-menu {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: none !important;
}

.ie-header-nav .main-navigation ul li ul.sub-menu li {
  width: 100%;
}

.ie-header-nav .main-navigation ul li ul.sub-menu li a {
  padding: 10px 20px;
  font-size: .85rem;
  letter-spacing: .06em;
  display: block;
}

.ie-header-nav .main-navigation ul li ul.sub-menu li a::after {
  display: none;
}

.ie-header-nav .main-navigation ul li ul.sub-menu li a:hover {
  background: var(--color-gray-100);
}

/* Header actions (mobile toggle) */
.ie-header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Search icon in nav menu */
.ie-header-nav .main-navigation ul li a.fa-search {
  font-size: 0;
  padding: 8px 10px;
}

.ie-header-nav .main-navigation ul li a.fa-search::before {
  font-size: 1rem;
}

.ie-header-nav .main-navigation ul li a.fa-search::after {
  display: none;
}

/* Cart link in nav menu */
.ie-header-nav .main-navigation ul li a.cart-contents {
  color: var(--color-charcoal) !important;
  font-size: .82rem;
  padding: 8px 10px;
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.ie-header-nav .main-navigation ul li a.cart-contents::after {
  display: none;
}

.ie-header-nav .main-navigation ul li a.cart-contents:hover {
  color: var(--color-red) !important;
}

.ie-header-nav .main-navigation ul li a.cart-contents img {
  height: 18px;
  width: auto;
}

/* Mobile menu toggle */
.ie-mobile-toggle {
  display: none;
  background: none;
  border: none !important;
  padding: 8px !important;
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
}

.ie-mobile-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--color-charcoal);
  transition: all var(--transition);
  border-radius: 2px;
}

/* Hide old navigation elements */
.navigation-wrap > .top-navigation-wrap,
.navigation-wrap > .site-branding,
.navigation-wrap > #site-navigation,
.navigation-wrap > .fa-search,
.navigation-wrap > .firstsearch {
  display: none !important;
}

/* --- Mobile menu: hidden on desktop by default --- */
.ie-mobile-menu {
  display: none;
}

.ie-mobile-overlay {
  display: none;
}

/* --- Fix logo in new header (override old float/border rules) --- */
.ie-header-main .site-branding {
  float: none !important;
  border-right: none !important;
  width: auto !important;
  display: flex !important;
  align-items: center;
  margin-right: 24px !important;
  margin-left: 0 !important;
}

.ie-header-main .site-branding a.custom-logo-link {
  display: inline-block !important;
  width: auto !important;
}

.ie-header-main .site-branding img.custom-logo {
  height: 100px !important;
  width: auto !important;
  max-width: 350px !important;
  display: block !important;
}

/* Search overlay (keep functional but restyle) */
.firstsearch {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,.85);
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
}

.firstsearch.active {
  display: flex !important;
}

.firstsearch .searchform {
  width: 90%;
  max-width: 600px;
}

.firstsearch .searchfield {
  width: 100%;
  padding: 16px 24px;
  font-size: 1.2rem;
  border: 2px solid var(--color-white);
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--color-white);
  outline: none;
}

.firstsearch .special {
  position: absolute;
  top: 24px;
  right: 24px;
  color: var(--color-white);
  font-size: 1.5rem;
  cursor: pointer;
}

/* ================================================================
   TACTICAL REDESIGN — Phase 4: Footer
   ================================================================ */

/* Newsletter signup band */
.ie-footer-newsletter {
  background: var(--color-red);
  color: var(--color-white);
  padding: 32px 0;
}

.ie-footer-newsletter .ie-footer-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.ie-footer-newsletter h3 {
  color: var(--color-white);
  margin: 0;
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.ie-footer-newsletter p {
  color: rgba(255,255,255,.85);
  margin: 4px 0 0;
  font-size: .9rem;
}

.ie-footer-newsletter form {
  display: flex;
  gap: 0;
}

.ie-footer-newsletter input[type="email"] {
  padding: 12px 20px;
  border: 2px solid rgba(255,255,255,.4);
  border-right: none;
  border-radius: var(--radius-pill) 0 0 var(--radius-pill);
  background: rgba(255,255,255,.15);
  color: var(--color-white);
  font-size: .9rem;
  min-width: 260px;
  outline: none;
}

.ie-footer-newsletter input[type="email"]::placeholder {
  color: rgba(255,255,255,.6);
}

.ie-footer-newsletter input[type="submit"],
.ie-footer-newsletter button {
  border-radius: 0 var(--radius-pill) var(--radius-pill) 0 !important;
  border: 2px solid var(--color-white) !important;
  background: var(--color-white) !important;
  color: var(--color-red) !important;
  font-weight: 700;
  padding: 12px 24px !important;
}

.ie-footer-newsletter input[type="submit"]:hover,
.ie-footer-newsletter button:hover {
  background: transparent !important;
  color: var(--color-white) !important;
}

/* Main footer */
.ie-footer-main {
  background: var(--color-charcoal);
  color: var(--color-gray-300);
  padding: 64px 0 48px;
}

.ie-footer-main .ie-footer-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
}

.ie-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 48px;
}

.ie-footer-col h4 {
  color: var(--color-white);
  font-size: 1rem;
  letter-spacing: .1em;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.ie-footer-col p {
  color: var(--color-gray-300);
  font-size: .88rem;
  line-height: 1.7;
}

.ie-footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ie-footer-col ul li {
  margin-bottom: 10px;
}

.ie-footer-col ul li a {
  color: var(--color-gray-300);
  text-decoration: none;
  font-size: .88rem;
  transition: color var(--transition);
}

.ie-footer-col ul li a:hover {
  color: var(--color-white);
}

/* Footer social icons */
.ie-footer-social {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}

.ie-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  color: var(--color-gray-300);
  text-decoration: none;
  transition: all var(--transition);
  font-size: .9rem;
}

.ie-footer-social a:hover {
  background: var(--color-red);
  color: var(--color-white);
}

/* Footer bottom bar */
.ie-footer-bottom {
  background: var(--color-gray-900);
  padding: 18px 0;
}

.ie-footer-bottom .ie-footer-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ie-footer-bottom p {
  margin: 0;
  font-size: .8rem;
  color: var(--color-gray-500);
}

.ie-footer-bottom-links {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ie-footer-bottom-links a {
  color: var(--color-gray-500);
  text-decoration: none;
  font-size: .8rem;
  transition: color var(--transition);
}

.ie-footer-bottom-links a:hover {
  color: var(--color-gray-300);
}

/* Hide old footer content */
.site-footer > .widget_text,
.site-footer > .textwidget,
.site-footer > section {
  display: none !important;
}

/* ================================================================
   TACTICAL REDESIGN — Phase 5: Section Styling + Separators
   ================================================================ */
.section-dark {
  background: var(--color-charcoal);
  color: var(--color-gray-300);
  padding: 80px 0;
}

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4 {
  color: var(--color-white);
}

.section-light {
  background: var(--color-gray-100);
  padding: 80px 0;
}

.section-white {
  background: var(--color-white);
  padding: 80px 0;
}

/* Wedge separators */
.section-wedge-top {
  position: relative;
}

.section-wedge-top::before {
  content: '';
  position: absolute;
  top: -40px;
  left: 0;
  right: 0;
  height: 40px;
  background: inherit;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
  z-index: 1;
}

.section-wedge-bottom {
  position: relative;
}

.section-wedge-bottom::after {
  content: '';
  position: absolute;
  bottom: -40px;
  left: 0;
  right: 0;
  height: 40px;
  background: inherit;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: 1;
}

/* Corner accent decorative */
.corner-accent {
  position: relative;
}

.corner-accent::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  border-top: 3px solid var(--color-red);
  border-left: 3px solid var(--color-red);
}

/* ================================================================
   TACTICAL REDESIGN — Phase 6: Product Grid + Cards
   ================================================================ */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  padding: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.woocommerce ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  transition: transform var(--transition), box-shadow var(--transition);
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-card-hover);
}

.woocommerce ul.products li.product a img {
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  margin: 0 !important;
  width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--font-display) !important;
  font-size: 1rem !important;
  padding: 14px 16px 4px !important;
  text-align: left;
  color: var(--color-charcoal);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.woocommerce ul.products li.product .price {
  padding: 0 16px 12px !important;
  text-align: left;
  color: var(--color-red);
  font-weight: 700;
  font-size: .95rem;
}

.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
  margin: 0 16px 16px !important;
  width: calc(100% - 32px) !important;
  display: block !important;
  text-align: center;
  padding: 10px 16px !important;
  font-size: .82rem;
}

/* ================================================================
   TACTICAL REDESIGN — Phase 7: Spacing + Whitespace Polish
   ================================================================ */
.site-content {
  max-width: var(--max-width);
  margin: 0 auto !important;
  margin-top: 0 !important;
  padding: 40px 24px;
}

/* Remove excessive whitespace above hero on homepage */
.home .site-content,
.page-template-default .site-content,
body:not(.single):not(.archive) .site-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Fullwidth pages: full viewport width, no padding constraints */
.home .site-content,
.page-template-custom-fullwidth .site-content,
.page-template-custom-live .site-content {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* When body has admin-bar, offset sticky header */
.admin-bar .site-header {
  top: 32px;
}

/* Wider content area for WooCommerce pages */
.woocommerce .site-main,
.woocommerce-page .site-main {
  max-width: 100%;
}

/* WooCommerce shop page: remove horizontal padding so product grid uses full width */
.woocommerce .site-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* WooCommerce shop page description breakout (hero, bands, CTA inside .page-description) */
.woocommerce-products-header .page-description > div {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  width: 100vw !important;
  box-sizing: border-box !important;
}

/* WooCommerce product grid needs its own padding since container padding is removed */
.woocommerce .site-main > .woocommerce-notices-wrapper,
.woocommerce .site-main > ul.products,
.woocommerce .site-main > .woocommerce-result-count,
.woocommerce .site-main > .woocommerce-ordering,
.woocommerce .site-main > nav.woocommerce-pagination {
  max-width: var(--max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* Section spacing -- skip fullwidth breakout divs which have their own section margins */
.entry-content > *,
.page-content > * {
  margin-bottom: 2rem;
}

.content-area-fullwidth .entry-content > div {
  margin-bottom: 0;
}

.entry-content h1,
.entry-content h2,
.page-content h1,
.page-content h2 {
  margin-top: 2.5rem;
}

/* WooCommerce product page spacing */
.woocommerce div.product {
  padding-top: 20px;
}

.woocommerce div.product div.summary {
  margin-top: 0;
}

/* ================================================================
   TACTICAL REDESIGN — Phase 8: Mobile Responsiveness
   ================================================================ */
@media (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .ie-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}

@media (max-width: 768px) {
  /* Hide utility bar on mobile */
  .ie-utility-bar {
    display: none;
  }

  /* Compact header */
  .ie-header-main {
    min-height: 56px;
    padding: 8px 16px 8px 4px;
  }

  .ie-header-main .site-branding img.custom-logo {
    height: 60px !important;
  }

  /* Show mobile toggle */
  .ie-mobile-toggle {
    display: flex !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
  }

  .ie-mobile-toggle:hover {
    background: none !important;
  }

  /* Hide desktop nav */
  .ie-header-nav .main-navigation {
    display: none !important;
  }

  /* On mobile, hide search icon in nav (it's in the mobile menu) */
  .ie-header-nav .main-navigation ul li a.fa-search {
    display: none !important;
  }

  /* Mobile slide-in menu */
  .ie-mobile-menu {
    display: block;
    position: fixed;
    top: 0;
    right: -100%;
    width: 85%;
    max-width: 360px;
    height: 100vh;
    background: var(--color-white);
    z-index: 100001;
    transition: right .35s cubic-bezier(.4,0,.2,1);
    box-shadow: -4px 0 20px rgba(0,0,0,.15);
    overflow-y: auto;
    padding: 24px;
  }

  .ie-mobile-menu.open {
    right: 0;
  }

  .ie-mobile-menu-close {
    background: none !important;
    border: none !important;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 8px !important;
    display: block;
    margin-left: auto;
    margin-bottom: 16px;
    color: var(--color-charcoal);
  }

  .ie-mobile-menu-close:hover {
    background: none !important;
    color: var(--color-red) !important;
  }

  .ie-mobile-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .ie-mobile-menu ul li {
    border-bottom: 1px solid var(--color-gray-100);
  }

  .ie-mobile-menu ul li a {
    display: block;
    padding: 14px 0;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--color-charcoal);
    text-decoration: none;
  }

  .ie-mobile-menu ul li a:hover {
    color: var(--color-red);
  }

  .ie-mobile-menu ul li ul.sub-menu {
    padding-left: 16px;
  }

  .ie-mobile-menu ul li ul.sub-menu li a {
    font-size: .9rem;
    font-weight: 500;
    padding: 10px 0;
  }

  /* Mobile overlay */
  .ie-mobile-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,.5);
    z-index: 100000;
    opacity: 0;
    visibility: hidden;
    transition: all .35s ease;
  }

  .ie-mobile-overlay.open {
    opacity: 1;
    visibility: visible;
  }

  /* Product grid 2 columns on mobile */
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  /* Footer stack */
  .ie-footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ie-footer-newsletter .ie-footer-inner {
    flex-direction: column;
    text-align: center;
  }

  .ie-footer-newsletter input[type="email"] {
    min-width: 180px;
  }

  .ie-footer-bottom .ie-footer-inner {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }

  /* Scale typography */
  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.4rem; }
  h3 { font-size: 1.15rem; }

  .site-content {
    padding: 24px 16px;
  }
}

@media (max-width: 480px) {
  /* PHASE 1: Keep 2-column grid on mobile - DO NOT change to 1fr */
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }

  /* Compact product cards for small screens */
  .woocommerce ul.products li.product {
    padding: 8px !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2 {
    font-size: .75rem !important;
    margin-bottom: 4px !important;
    line-height: 1.25 !important;
  }

  .woocommerce ul.products li.product .price {
    font-size: .85rem !important;
    margin-bottom: 8px !important;
  }

  .woocommerce ul.products li.product a.button,
  .woocommerce ul.products li.product .add_to_cart_button {
    font-size: .65rem !important;
    padding: 8px 12px !important;
    letter-spacing: .04em;
  }

  /* Product image container */
  .woocommerce ul.products li.product a img {
    margin-bottom: 8px !important;
  }

  .ie-mobile-menu {
    width: 100%;
    max-width: 100%;
  }

  /* Reduce section padding on mobile */
  .site-content {
    padding: 16px 12px !important;
  }
}

/* ================================================================
   PHASE 2: HEADER FIXES - Cart visibility, logo spacing, dropdowns
   ================================================================ */

/* Override hidden cart icon - CRITICAL FIX for line 7167 */
.ie-header-nav .cart-contents,
.ie-header-actions .cart-contents,
header .cart-contents,
.site-header .cart-contents,
a.cart-contents {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center;
  gap: 6px;
  color: var(--color-charcoal);
  text-decoration: none;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: .85rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 8px 12px;
  transition: color var(--transition);
}

.ie-header-nav .cart-contents:hover,
a.cart-contents:hover {
  color: var(--color-red);
}

/* Cart icon styling with count badge */
.ie-header-nav .cart-contents::before,
a.cart-contents .fa-shopping-cart {
  font-family: 'Font Awesome 5 Free', 'FontAwesome', sans-serif;
  font-weight: 900;
  content: '\f07a';
  font-size: 1rem;
}

.cart-contents .cart-count,
.cart-contents-count {
  background: var(--color-red);
  color: var(--color-white);
  font-size: .7rem;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 4px;
}

/* Desktop cart link specific styling */
.ie-desktop-cart {
  margin-right: 16px;
}

.ie-desktop-cart i {
  font-size: 1.1rem;
}

/* Hide desktop cart on mobile, show mobile toggle */
@media (max-width: 768px) {
  .ie-desktop-cart {
    display: none !important;
  }
}

/* Fix logo spacing - increase margin to prevent nav overlap */
.site-branding {
  margin-right: 40px !important;
  flex-shrink: 0;
}

/* Dropdown menu polish - instant close, no transitions */
.ie-header-nav .main-navigation ul ul,
.ie-header-nav .sub-menu,
#primary-menu ul {
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: 0 8px 30px rgba(0,0,0,.15);
  border-top: 3px solid var(--color-red);
  padding: 8px 0;
  min-width: 200px;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(0);
  transition: none !important;
  pointer-events: none !important;
}

/* Parent menu items need padding for easier hover */
.ie-header-nav .main-navigation > ul > li,
#primary-menu > li {
  padding-bottom: 20px;
  margin-bottom: -20px;
}

.ie-header-nav .main-navigation li:hover > ul,
.ie-header-nav .main-navigation li.focus > ul,
#primary-menu li:hover > ul {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0);
  transition: none !important;
  pointer-events: auto !important;
}

.ie-header-nav .main-navigation ul ul li a,
.ie-header-nav .sub-menu li a {
  padding: 10px 20px;
  color: var(--color-charcoal);
  font-size: .85rem;
  letter-spacing: .04em;
  display: block;
  transition: all var(--transition);
}

.ie-header-nav .main-navigation ul ul li a:hover,
.ie-header-nav .sub-menu li a:hover {
  background: var(--color-gray-100);
  color: var(--color-red);
  padding-left: 24px;
}

/* Sticky header scroll shadow */
.site-header.scrolled {
  box-shadow: 0 2px 20px rgba(0,0,0,.1);
}

/* ================================================================
   PHASE 3: PRODUCT CARD ENHANCEMENT
   ================================================================ */

/* Enhanced hover effect - more visible lift */
.woocommerce ul.products li.product {
  transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s ease;
  background: var(--color-white);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--shadow-card-hover) !important;
}

/* Image zoom on hover */
.woocommerce ul.products li.product a img {
  transition: transform .4s cubic-bezier(.4,0,.2,1);
  aspect-ratio: 1/1;
  object-fit: cover;
  width: 100%;
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.05);
}

/* Product image wrapper for overflow control */
.woocommerce ul.products li.product > a:first-child {
  display: block;
  overflow: hidden;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}

/* Prominent pricing */
.woocommerce ul.products li.product .price {
  font-family: var(--font-display) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--color-red) !important;
  margin-bottom: 12px;
}

.woocommerce ul.products li.product .price del {
  color: var(--color-gray-500);
  font-size: .9rem;
  margin-right: 8px;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  color: var(--color-red);
  background: none;
  padding: 0;
  font-size: inherit;
}

/* Sale badge styling */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  background: var(--color-red) !important;
  color: var(--color-white) !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: .75rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  top: 12px;
  right: 12px;
  left: auto;
  min-width: auto;
  min-height: auto;
  line-height: 1;
}

/* ================================================================
   PHASE 4: SECTION STYLING
   ================================================================ */

/* Wedge separator - use on sections */
.ie-section-wedge {
  position: relative;
}

.ie-section-wedge::after {
  content: '';
  position: absolute;
  bottom: -40px;
  left: 0;
  right: 0;
  height: 80px;
  background: inherit;
  clip-path: polygon(0 0, 100% 0, 100% 20%, 0 100%);
  z-index: 1;
}

/* Section accent line */
.ie-section-accent {
  position: relative;
  padding-top: 48px;
}

.ie-section-accent::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 4px;
  background: var(--color-red);
  border-radius: 2px;
}

/* Section title with underline */
.section-title,
.woocommerce .woocommerce-products-header__title,
.widget-title {
  position: relative;
  display: inline-block;
  padding-bottom: 16px;
  margin-bottom: 32px !important;
}

.section-title::after,
.woocommerce .woocommerce-products-header__title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 3px;
  background: var(--color-red);
  border-radius: 2px;
}

/* Hero CTA button with arrow animation */
.hero-cta,
.btn-arrow {
  position: relative;
  padding-right: 48px !important;
}

.hero-cta::after,
.btn-arrow::after {
  content: '→';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .25s ease;
}

.hero-cta:hover::after,
.btn-arrow:hover::after {
  transform: translateY(-50%) translateX(4px);
}

/* Alternating section backgrounds */
.ie-section-light {
  background: var(--color-white);
}

.ie-section-gray {
  background: var(--color-gray-100);
}

.ie-section-dark {
  background: var(--color-charcoal);
  color: var(--color-white);
}

.ie-section-dark h1,
.ie-section-dark h2,
.ie-section-dark h3,
.ie-section-dark h4 {
  color: var(--color-white);
}

/* ================================================================
   PHASE 5: MOBILE OPTIMIZATION
   ================================================================ */

/* Minimum 44px touch targets */
@media (max-width: 768px) {
  .ie-mobile-menu ul li a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 14px 0 !important;
  }

  .woocommerce a.button,
  .woocommerce button.button,
  .btn,
  button,
  input[type="submit"] {
    min-height: 44px;
    padding: 12px 24px !important;
  }

  /* Reduce section padding */
  .site-content,
  .woocommerce .content-area {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  section,
  .wp-block-group,
  .elementor-section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  /* Stack newsletter form */
  .ie-footer-newsletter form {
    flex-direction: column;
    gap: 12px;
  }

  .ie-footer-newsletter input[type="email"] {
    width: 100%;
    min-width: auto;
  }

  .ie-footer-newsletter button,
  .ie-footer-newsletter input[type="submit"] {
    width: 100%;
  }
}

/* Mobile cart link styling */
.ie-mobile-cart-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-red);
  text-decoration: none;
  min-height: 44px;
  border-top: 1px solid var(--color-gray-100);
}

.ie-mobile-cart-link:hover {
  color: var(--color-red-dark);
}

.ie-mobile-cart-link i {
  font-size: 1.1rem;
}

/* ================================================================
   PHASE 6: FOOTER & CTA POLISH
   ================================================================ */

/* Newsletter input focus/hover states */
.ie-footer-newsletter input[type="email"],
input[type="email"],
.wpcf7 input[type="email"],
.mc4wp-form input[type="email"] {
  border: 2px solid var(--color-gray-300);
  border-radius: var(--radius-pill);
  padding: 12px 20px;
  font-size: .95rem;
  transition: all var(--transition);
  background: var(--color-white);
}

.ie-footer-newsletter input[type="email"]:hover,
input[type="email"]:hover {
  border-color: var(--color-gray-500);
}

.ie-footer-newsletter input[type="email"]:focus,
input[type="email"]:focus {
  outline: none;
  border-color: var(--color-red);
  box-shadow: 0 0 0 3px rgba(200, 16, 46, .15);
}

/* Floating contact button */
.ie-floating-contact,
.floating-contact-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  background: var(--color-red);
  color: var(--color-white);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  box-shadow: 0 4px 20px rgba(200, 16, 46, .4);
  transition: all var(--transition);
  text-decoration: none;
  border: none;
  cursor: pointer;
}

.ie-floating-contact:hover,
.floating-contact-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 28px rgba(200, 16, 46, .5);
  background: var(--color-red-dark);
  color: var(--color-white);
}

/* Consistent form button styling */
.wpcf7 input[type="submit"],
.mc4wp-form input[type="submit"],
form.woocommerce-form input[type="submit"],
.comment-form input[type="submit"] {
  font-family: var(--font-display) !important;
  font-weight: 600;
  font-size: .95rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: var(--radius-pill) !important;
  padding: 14px 36px !important;
  border: 2px solid var(--color-red) !important;
  background: var(--color-red) !important;
  color: var(--color-white) !important;
  cursor: pointer;
  transition: all var(--transition);
  min-height: 44px;
}

.wpcf7 input[type="submit"]:hover,
.mc4wp-form input[type="submit"]:hover,
form.woocommerce-form input[type="submit"]:hover,
.comment-form input[type="submit"]:hover {
  background: transparent !important;
  color: var(--color-red) !important;
}

/* Footer link hover states */
.ie-footer-main a {
  transition: color var(--transition);
}

.ie-footer-main a:hover {
  color: var(--color-red) !important;
}

/* ================================================================
   LOGIN PAGE STYLING - Match eodmaker.com/login/
   ================================================================ */

/* Hide page title and reduce spacing on login page */
.um-page-login .entry-header,
.page-id-45 .entry-header {
  display: none !important;
}

.um-page-login .site-content,
.page-id-45 .site-content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

.um-page-login .entry-content,
.page-id-45 .entry-content {
  margin: 0 !important;
  padding: 0 !important;
}

/* Full-bleed background cover */
.um-page-login .wp-block-cover,
.page-id-45 .wp-block-cover {
  min-height: 100vh !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
}

.um-page-login .wp-block-cover__inner-container,
.page-id-45 .wp-block-cover__inner-container {
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
}

/* Hide empty paragraphs */
.um-page-login .wp-block-cover p:empty,
.page-id-45 .wp-block-cover p:empty {
  display: none;
}

/* Login card styling */
.um-page-login .um.um-login,
.page-id-45 .um.um-login {
  background: var(--color-white) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.15) !important;
  padding: 40px !important;
  border-top: 4px solid var(--color-red) !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Form container */
.um-page-login .um-form,
.page-id-45 .um-form {
  background: transparent !important;
}

/* Labels - red color */
.um-page-login .um-field-label label,
.page-id-45 .um-field-label label {
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
  font-size: .85rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--color-red) !important;
  margin-bottom: 8px !important;
}

/* Input fields */
.um-page-login .um-form-field,
.page-id-45 .um-form-field,
.um-page-login input[type="text"],
.um-page-login input[type="password"],
.page-id-45 input[type="text"],
.page-id-45 input[type="password"] {
  width: 100% !important;
  padding: 14px 16px !important;
  font-size: 1rem !important;
  border: 1px solid var(--color-gray-300) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--color-white) !important;
  transition: border-color var(--transition), box-shadow var(--transition) !important;
  font-family: var(--font-body) !important;
}

.um-page-login .um-form-field:focus,
.page-id-45 .um-form-field:focus,
.um-page-login input[type="text"]:focus,
.um-page-login input[type="password"]:focus {
  outline: none !important;
  border-color: var(--color-red) !important;
  box-shadow: 0 0 0 3px rgba(200, 16, 46, .1) !important;
}

/* Show password link */
.um-page-login #um-field-show-passwords-login,
.page-id-45 #um-field-show-passwords-login {
  margin-top: 8px !important;
}

.um-page-login #um-field-show-passwords-login a,
.page-id-45 #um-field-show-passwords-login a {
  color: var(--color-red) !important;
  font-size: .85rem !important;
  text-decoration: none !important;
}

.um-page-login #um-field-show-passwords-login a:hover {
  text-decoration: underline !important;
}

/* Checkbox styling */
.um-page-login .um-field-checkbox .um-field-label label,
.page-id-45 .um-field-checkbox .um-field-label label {
  font-size: .9rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: var(--color-gray-700) !important;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
}

.um-page-login .um-field-checkbox input[type="checkbox"],
.page-id-45 .um-field-checkbox input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--color-red);
  flex-shrink: 0;
  margin-top: 2px;
}

/* Links within checkbox labels */
.um-page-login .um-field-checkbox a,
.page-id-45 .um-field-checkbox a {
  color: var(--color-red) !important;
  text-decoration: underline;
}

/* Button row */
.um-page-login .um-col-alt,
.page-id-45 .um-col-alt {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 24px !important;
}

/* Login button (primary) */
.um-page-login .um-button,
.um-page-login input[type="submit"].um-button,
.page-id-45 .um-button {
  flex: 1;
  min-width: 120px;
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
  font-size: .9rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  border-radius: var(--radius-pill) !important;
  background: var(--color-red) !important;
  color: var(--color-white) !important;
  border: 2px solid var(--color-red) !important;
  cursor: pointer;
  transition: all var(--transition) !important;
  text-align: center;
}

.um-page-login .um-button:hover,
.page-id-45 .um-button:hover {
  background: var(--color-red-dark) !important;
  border-color: var(--color-red-dark) !important;
}

/* Register button (secondary/outline) */
.um-page-login .um-col-alt a.um-button,
.um-page-login a.um-register-btn,
.page-id-45 .um-col-alt a.um-button {
  flex: 1;
  min-width: 120px;
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
  font-size: .9rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  border-radius: var(--radius-pill) !important;
  background: transparent !important;
  color: var(--color-gray-700) !important;
  border: 2px solid var(--color-gray-300) !important;
  cursor: pointer;
  transition: all var(--transition) !important;
  text-align: center;
  text-decoration: none !important;
}

.um-page-login .um-col-alt a.um-button:hover,
.um-page-login a.um-register-btn:hover {
  border-color: var(--color-gray-500) !important;
  color: var(--color-charcoal) !important;
}

/* Forgot password link */
.um-page-login .um-col-alt-b,
.page-id-45 .um-col-alt-b {
  width: 100%;
  text-align: center;
  margin-top: 16px !important;
}

.um-page-login .um-col-alt-b a,
.page-id-45 .um-col-alt-b a {
  color: var(--color-gray-500) !important;
  font-size: .9rem !important;
  text-decoration: none !important;
}

.um-page-login .um-col-alt-b a:hover {
  color: var(--color-red) !important;
  text-decoration: underline !important;
}

/* Hide spam trap field */
.um-page-login .um_request_name,
.page-id-45 .um_request_name {
  display: none !important;
}

/* Row spacing */
.um-page-login .um-row,
.page-id-45 .um-row {
  margin-bottom: 20px !important;
}

/* Hide newsletter on login page for cleaner look */
.um-page-login .ie-footer-newsletter,
.page-id-45 .ie-footer-newsletter {
  display: none !important;
}

/* Simplify footer on login page */
.um-page-login .ie-footer-main,
.page-id-45 .ie-footer-main {
  background: var(--color-white) !important;
  padding: 20px 0 !important;
}

.um-page-login .ie-footer-grid,
.page-id-45 .ie-footer-grid {
  display: none !important;
}

.um-page-login .ie-footer-bottom,
.page-id-45 .ie-footer-bottom {
  border-top: none !important;
}

/* Mobile adjustments */
@media (max-width: 480px) {
  .um-page-login .um.um-login,
  .page-id-45 .um.um-login {
    padding: 24px !important;
  }

  .um-page-login .um-col-alt,
  .page-id-45 .um-col-alt {
    flex-direction: column;
  }

  .um-page-login .um-button,
  .um-page-login .um-col-alt a.um-button {
    width: 100% !important;
  }
}

/* ================================================================
   IED TRAINING COURSES PAGE - Reorder shop box above SEO text
   Page ID: 12026
   Order: Banner → Shop Box → SEO Text → Rest
   ================================================================ */
.page-id-12026 .entry-content {
  display: flex !important;
  flex-direction: column !important;
}

/* All items default to order 10 */
.page-id-12026 .entry-content > * {
  order: 10;
}

/* 1. Banner (wp-block-cover) stays first */
.page-id-12026 .entry-content > .wp-block-cover {
  order: 1 !important;
}

/* 2. Shop/Featured courses boxes (class contains literal ".category-shop") come second */
.page-id-12026 .entry-content > .wp-block-group.\\.category-shop,
.page-id-12026 .entry-content > [class*="category-shop"] {
  order: 2 !important;
}

/* 3. SEO text section (max-width with white bg, NOT category-shop) comes third */
.page-id-12026 .entry-content > .wp-block-group.max-width.has-white-background-color:not([class*="category-shop"]) {
  order: 3 !important;
}

/* Scripts at the end */
.page-id-12026 .entry-content > script {
  order: 99 !important;
}

/* ========================================
   WooCommerce My Account - Tactical Redesign
   ======================================== */

/* Account page wrapper - scoped to content area only */
.woocommerce-account #content .woocommerce,
.woocommerce-account .site-main .woocommerce,
.woocommerce-account .entry-content .woocommerce {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 40px 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

/* My Account Navigation sidebar */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 250px !important;
  float: none !important;
  flex-shrink: 0;
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 0 !important;
  margin: 0 !important;
  border-left: none !important;
  overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0;
  border-bottom: 1px solid var(--color-gray-100);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 14px 20px;
  color: var(--color-charcoal);
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  transition: all var(--transition);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--color-gray-100);
  color: var(--color-red);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:visited,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:focus {
  background: var(--color-red) !important;
  color: #ffffff !important;
  font-weight: 600;
}

/* My Account Content area */
.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1;
  min-width: 0;
}

/* Edit Account Form styling */
.woocommerce-EditAccountForm,
.woocommerce-edit-account form {
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 32px;
}

.woocommerce-EditAccountForm fieldset,
.woocommerce-edit-account fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
}

.woocommerce-EditAccountForm legend,
.woocommerce-edit-account legend {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-charcoal);
  padding-bottom: 16px;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--color-gray-100);
  width: 100%;
}

/* Form row layout */
.woocommerce-EditAccountForm .form-row,
.woocommerce-edit-account .form-row {
  margin-bottom: 20px;
}

.woocommerce-EditAccountForm .form-row-first,
.woocommerce-EditAccountForm .form-row-last,
.woocommerce-edit-account .form-row-first,
.woocommerce-edit-account .form-row-last {
  width: 48% !important;
  display: inline-block;
  vertical-align: top;
}

.woocommerce-EditAccountForm .form-row-first,
.woocommerce-edit-account .form-row-first {
  margin-right: 2%;
}

.woocommerce-EditAccountForm .form-row-wide,
.woocommerce-edit-account .form-row-wide {
  width: 100% !important;
}

/* Labels */
.woocommerce-EditAccountForm label,
.woocommerce-edit-account label {
  display: block;
  font-family: var(--font-body);
  font-size: .85rem;
  font-weight: 600;
  color: var(--color-charcoal);
  margin-bottom: 8px;
  letter-spacing: .02em;
}

.woocommerce-EditAccountForm label .required,
.woocommerce-edit-account label .required {
  color: var(--color-red);
}

/* Inputs */
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"],
.woocommerce-edit-account input[type="text"],
.woocommerce-edit-account input[type="email"],
.woocommerce-edit-account input[type="password"] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #ddd;
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--color-charcoal);
  background: var(--color-white);
  transition: border-color var(--transition), box-shadow var(--transition);
}

.woocommerce-EditAccountForm input[type="text"]:focus,
.woocommerce-EditAccountForm input[type="email"]:focus,
.woocommerce-EditAccountForm input[type="password"]:focus,
.woocommerce-edit-account input[type="text"]:focus,
.woocommerce-edit-account input[type="email"]:focus,
.woocommerce-edit-account input[type="password"]:focus {
  outline: none;
  border-color: var(--color-red);
  box-shadow: 0 0 0 3px rgba(200, 16, 46, 0.1);
}

/* Password section */
.woocommerce-EditAccountForm fieldset + fieldset,
.woocommerce-edit-account fieldset + fieldset {
  margin-top: 32px !important;
  padding-top: 32px !important;
  border-top: 1px solid var(--color-gray-100) !important;
}

/* Password hints */
.woocommerce-EditAccountForm .woocommerce-password-strength,
.woocommerce-edit-account .woocommerce-password-strength {
  font-size: .8rem;
  padding: 8px 12px;
  margin-top: 8px;
  border-radius: var(--radius-sm);
}

.woocommerce-EditAccountForm .woocommerce-password-strength.strong,
.woocommerce-edit-account .woocommerce-password-strength.strong {
  background: #d4edda;
  color: #155724;
}

.woocommerce-EditAccountForm .woocommerce-password-strength.short,
.woocommerce-edit-account .woocommerce-password-strength.short {
  background: #f8d7da;
  color: #721c24;
}

/* Password input wrapper - WooCommerce structure */
.woocommerce-EditAccountForm .password-input,
.woocommerce-edit-account .password-input,
.woocommerce-account .password-input {
  position: relative !important;
  display: block !important;
}

/* Password show/hide toggle buttons */
.woocommerce-EditAccountForm .show-password-input,
.woocommerce-edit-account .show-password-input,
.woocommerce-account .show-password-input,
.password-input .show-password-input {
  background: transparent !important;
  border: none !important;
  padding: 0 12px !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  transform: none !important;
  color: #666 !important;
  cursor: pointer !important;
  font-size: 0 !important;
  width: 44px !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Eye icon for password toggle */
.woocommerce-EditAccountForm .show-password-input::after,
.woocommerce-edit-account .show-password-input::after,
.woocommerce-account .show-password-input::after,
.password-input .show-password-input::after {
  content: '\f070';
  font-family: 'Font Awesome 5 Free', FontAwesome, sans-serif;
  font-weight: 900;
  font-size: 14px !important;
  color: #888;
}

.password-input .show-password-input.display-password::after {
  content: '\f06e';
}

.woocommerce-EditAccountForm .show-password-input:hover,
.woocommerce-edit-account .show-password-input:hover,
.woocommerce-account .show-password-input:hover,
.password-input .show-password-input:hover {
  color: var(--color-charcoal) !important;
  background: rgba(0,0,0,0.05) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Ensure password input has room for toggle button */
.woocommerce-EditAccountForm .password-input input,
.woocommerce-edit-account .password-input input,
.woocommerce-account .password-input input {
  padding-right: 50px !important;
}

/* Password field wrapper needs relative positioning */
.woocommerce-EditAccountForm .woocommerce-form-row,
.woocommerce-edit-account .woocommerce-form-row {
  position: relative;
}

/* Submit button */
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-edit-account button[type="submit"],
.woocommerce-EditAccountForm .woocommerce-Button,
.woocommerce-edit-account .woocommerce-Button {
  background: var(--color-red) !important;
  color: var(--color-white) !important;
  border: none !important;
  padding: 14px 32px !important;
  font-family: var(--font-display) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  border-radius: var(--radius-pill) !important;
  cursor: pointer;
  transition: all var(--transition) !important;
  margin-top: 16px;
  width: auto !important;
  display: inline-block !important;
}

.woocommerce-EditAccountForm button[type="submit"]:hover,
.woocommerce-edit-account button[type="submit"]:hover,
.woocommerce-EditAccountForm .woocommerce-Button:hover,
.woocommerce-edit-account .woocommerce-Button:hover {
  background: var(--color-charcoal) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Clear float override */
.woocommerce-EditAccountForm .clear,
.woocommerce-edit-account .clear {
  display: none !important;
}

/* Messages/notices */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info {
  border-radius: var(--radius-sm);
  padding: 16px 20px;
  margin-bottom: 24px;
  font-size: .9rem;
}

.woocommerce-account .woocommerce-message {
  background: #d4edda;
  border-left: 4px solid #28a745;
  color: #155724;
}

.woocommerce-account .woocommerce-error {
  background: #f8d7da;
  border-left: 4px solid #dc3545;
  color: #721c24;
}

.woocommerce-account .woocommerce-info {
  background: #e7f3ff;
  border-left: 4px solid #0d6efd;
  color: #084298;
}

/* Address page styling */
.woocommerce-account .u-columns.woocommerce-Addresses {
  display: flex !important;
  flex-wrap: wrap;
  gap: 24px;
  float: none !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2 {
  flex: 1;
  min-width: 280px;
  width: auto !important;
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 24px;
}

.woocommerce-account .woocommerce-Addresses h2,
.woocommerce-account .woocommerce-Addresses h3 {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-charcoal);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--color-gray-100);
}

.woocommerce-account .woocommerce-Addresses address {
  font-style: normal;
  line-height: 1.7;
  color: #555;
  font-size: .9rem;
}

.woocommerce-account .woocommerce-Addresses .edit {
  display: inline-block;
  margin-top: 16px;
  color: var(--color-red);
  font-weight: 600;
  font-size: .85rem;
  text-decoration: none;
}

.woocommerce-account .woocommerce-Addresses .edit:hover {
  text-decoration: underline;
}

/* Orders table */
.woocommerce-account .woocommerce-orders-table {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  font-size: .9rem !important;
}

.woocommerce-account .woocommerce-orders-table th {
  background: var(--color-gray-100);
  font-weight: 600;
  text-transform: uppercase;
  font-size: .75rem;
  letter-spacing: .05em;
  padding: 14px 16px;
}

.woocommerce-account .woocommerce-orders-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--color-gray-100);
}

.woocommerce-account .woocommerce-orders-table .button {
  background: var(--color-red) !important;
  color: var(--color-white) !important;
  padding: 8px 16px !important;
  font-size: .75rem !important;
  border-radius: var(--radius-pill) !important;
  text-decoration: none;
}

.woocommerce-account .woocommerce-orders-table .button:hover {
  background: var(--color-charcoal) !important;
}

/* Hide Ajax Search for WooCommerce on account pages */
.woocommerce-account .dgwt-wcas-search-wrapp,
.woocommerce-account .woocommerce-MyAccount-content .dgwt-wcas-search-wrapp,
.woocommerce-account .entry-content .dgwt-wcas-search-wrapp:not(.site-header .dgwt-wcas-search-wrapp) {
  display: none !important;
}

/* Keep search visible in header only */
.site-header .dgwt-wcas-search-wrapp {
  display: block !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .woocommerce-account #content .woocommerce,
  .woocommerce-account .site-main .woocommerce,
  .woocommerce-account .entry-content .woocommerce {
    flex-direction: column;
    padding: 20px 16px;
    gap: 24px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    flex: 1 1 auto;
    border-bottom: none;
    border-right: 1px solid var(--color-gray-100);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-right: none;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    padding: 12px 16px;
    font-size: .8rem;
    text-align: center;
  }

  .woocommerce-EditAccountForm,
  .woocommerce-edit-account form {
    padding: 20px;
  }

  .woocommerce-EditAccountForm .form-row-first,
  .woocommerce-EditAccountForm .form-row-last,
  .woocommerce-edit-account .form-row-first,
  .woocommerce-edit-account .form-row-last {
    width: 100% !important;
    display: block;
    margin-right: 0;
  }

  .woocommerce-account .u-columns.woocommerce-Addresses {
    flex-direction: column;
  }

  .woocommerce-account .woocommerce-Addresses .col-1,
  .woocommerce-account .woocommerce-Addresses .col-2 {
    min-width: 100%;
  }
}

/* Blast Simulator Guide - Comparison Table */
.blast-comparison {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-size: 0.95rem;
}

.blast-comparison th,
.blast-comparison td {
  padding: 12px 15px;
  text-align: left;
  border-bottom: 1px solid #ddd;
}

.blast-comparison th {
  background-color: #1a1a1a;
  color: #fff;
  font-weight: 600;
}

.blast-comparison tr:hover {
  background-color: #f5f5f5;
}

.blast-comparison a {
  color: #c9a227;
  font-weight: 500;
}

@media (max-width: 768px) {
  .blast-comparison {
    font-size: 0.85rem;
  }
  .blast-comparison th,
  .blast-comparison td {
    padding: 8px 10px;
  }
}

/* Fix Gutenberg text alignment in columns - ensures WordPress alignment classes work */
.wp-block-column .has-text-align-center,
.wp-block-column.has-text-align-center,
.wp-block-columns .has-text-align-center {
  text-align: center !important;
}

/* Featured products on community page */
.page-id-10657 .woocommerce ul.products {
  margin-bottom: 0;
}
.page-id-10657 .woocommerce ul.products li.product {
  margin-bottom: 10px;
}

/* ================================================================
   IM HOMEPAGE — Hero Section
   ================================================================ */
.im-hero {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(26,26,46,.92) 0%, rgba(42,42,62,.85) 50%, rgba(10,122,255,.6) 100%),
    url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
  padding: 80px 24px;
}

.im-hero::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(to top, var(--color-white) 0%, transparent 100%);
  z-index: 1;
}

.im-hero__content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  text-align: center;
  margin: 0 auto;
}

.im-hero__title {
  font-family: var(--font-display) !important;
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  font-weight: 700;
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 1.1;
  margin-bottom: .5em;
  text-shadow: 0 2px 20px rgba(0,0,0,.3);
}

.im-hero__subtitle {
  font-family: var(--font-body);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  color: rgba(255,255,255,.8);
  line-height: 1.7;
  margin-bottom: 2em;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.im-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: center;
}

.im-hero__actions .btn,
.im-hero__actions a {
  min-width: 180px;
}

/* ================================================================
   IM HOMEPAGE — Section Layout
   ================================================================ */
.im-section-inner {
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-section-header {
  text-align: center;
  margin-bottom: 48px;
}

.im-section-header h2 {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 700;
  color: var(--color-charcoal);
  margin-bottom: 12px;
}

.im-section-header p {
  font-family: var(--font-body);
  font-size: 1.1rem;
  color: #666;
  max-width: 700px;
  margin: 0 auto;
}

.im-section-header--light h2 {
  color: var(--color-white);
}

.im-section-header--light p {
  color: rgba(255,255,255,.7);
}

.im-section-inner > h2 {
  text-align: center;
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 700;
  margin-bottom: 12px;
}

.im-section-inner > p {
  text-align: center;
}

.im-final-cta {
  text-align: center;
  padding: 80px 24px;
}

.im-final-cta h2 {
  color: var(--color-white);
}

.im-final-cta p {
  color: rgba(255,255,255,.8);
  max-width: 700px;
  margin: 0 auto 24px;
}

/* ================================================================
   IM HOMEPAGE — Service Pillars Grid
   ================================================================ */
.im-pillars {
  width: 100%;
  padding: 80px 24px;
  background: var(--color-white);
}

.im-pillars__inner {
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-pillars__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.im-pillar-card {
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 40px 30px;
  text-align: center;
  transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s ease;
  position: relative;
  overflow: hidden;
}

.im-pillar-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}

.im-pillar-card:hover::before {
  transform: scaleX(1);
}

.im-pillar-card:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-4px);
}

.im-pillar-card__icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.im-pillar-card__icon img {
  max-height: 80px;
  max-width: 80px;
  width: auto;
  height: auto;
}

.im-pillar-card__title {
  font-family: var(--font-display) !important;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--color-charcoal);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 12px;
}

.im-pillar-card__text {
  color: var(--color-gray-500);
  font-size: .95rem;
  line-height: 1.7;
  margin-bottom: 0;
}

/* ================================================================
   IM HOMEPAGE — How It Works (Numbered Steps)
   ================================================================ */
.im-process {
  background: var(--color-gray-100);
  padding: 80px 24px;
  width: 100%;
}

.im-process__inner {
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-process__title {
  text-align: center;
  margin-bottom: 60px;
}

.im-process__steps {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0;
  max-width: 900px;
  margin: 0 auto;
  position: relative;
}

.im-process__step {
  flex: 1;
  text-align: center;
  padding: 0 24px;
  position: relative;
}

.im-process__step-number {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--color-accent);
  color: var(--color-white);
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  position: relative;
  z-index: 2;
  box-shadow: 0 4px 16px rgba(0,201,167,.3);
}

.im-process__step-title {
  font-family: var(--font-display) !important;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-charcoal);
  text-transform: uppercase;
  margin-bottom: 10px;
}

.im-process__step-text {
  color: var(--color-gray-500);
  font-size: .9rem;
  line-height: 1.6;
}

/* Connecting line between steps */
.im-process__step::after {
  content: '';
  position: absolute;
  top: 30px;
  right: -10%;
  width: 50%;
  height: 2px;
  background: linear-gradient(90deg, var(--color-accent), var(--color-gray-300));
  z-index: 1;
}

.im-process__step:last-child::after {
  display: none;
}

/* ================================================================
   IM HOMEPAGE — Live Demo CTA Band
   ================================================================ */
.im-cta-band {
  position: relative;
  width: 100%;
  padding: 80px 24px;
  background:
    linear-gradient(135deg, var(--color-charcoal) 0%, var(--color-charcoal-light) 100%),
    url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.04' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
  overflow: hidden;
}

.im-cta-band::before {
  content: '';
  position: absolute;
  top: -2px;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent), var(--color-primary));
}

.im-cta-band__content {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.im-cta-band__title {
  font-family: var(--font-display) !important;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 700;
  color: var(--color-white);
  text-transform: uppercase;
  margin-bottom: .5em;
}

.im-cta-band__text {
  color: rgba(255,255,255,.7);
  font-size: 1.05rem;
  line-height: 1.7;
  margin-bottom: 2em;
}

.im-cta-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

/* ================================================================
   IM HOMEPAGE — Service Tiers / Pricing
   ================================================================ */
.im-pricing {
  width: 100%;
  padding: 80px 24px;
  background: var(--color-white);
}

.im-pricing__inner {
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-pricing__title {
  text-align: center;
  margin-bottom: 60px;
}

.im-pricing__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  align-items: stretch;
}

.im-pricing-card {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .3s ease, box-shadow .3s ease;
}

.im-pricing-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.im-pricing-card--featured {
  border-top: 4px solid var(--color-accent);
  transform: scale(1.04);
  box-shadow: var(--shadow-card-hover);
  z-index: 1;
}

.im-pricing-card--featured:hover {
  transform: scale(1.04) translateY(-4px);
}

.im-pricing-card__header {
  background: linear-gradient(135deg, var(--color-charcoal), var(--color-charcoal-light));
  color: var(--color-white);
  padding: 32px 24px;
  text-align: center;
}

.im-pricing-card--featured .im-pricing-card__header {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
}

.im-pricing-card__tier {
  font-family: var(--font-display) !important;
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 12px;
  opacity: .9;
}

.im-pricing-card__price {
  font-family: var(--font-display) !important;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
}

.im-pricing-card__period {
  font-size: .9rem;
  opacity: .7;
  margin-top: 6px;
}

.im-pricing-card__features {
  list-style: none;
  margin: 0;
  padding: 32px 28px;
  flex: 1;
}

.im-pricing-card__features li {
  position: relative;
  padding: 10px 0 10px 30px;
  font-size: .93rem;
  color: var(--color-gray-700);
  border-bottom: 1px solid var(--color-gray-100);
  line-height: 1.5;
}

.im-pricing-card__features li:last-child {
  border-bottom: none;
}

.im-pricing-card__features li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  top: 10px;
  color: var(--color-accent);
  font-weight: 700;
  font-size: 1rem;
}

.im-pricing-card__cta {
  padding: 0 28px 28px;
  text-align: center;
}

.im-pricing-card__cta .btn {
  width: 100%;
  display: block;
}

/* ================================================================
   IM HOMEPAGE — Testimonials
   ================================================================ */
.im-testimonials {
  width: 100%;
  padding: 80px 24px;
  background: var(--color-charcoal);
  overflow: hidden;
}

.im-testimonials__inner {
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-testimonials__title {
  text-align: center;
  color: var(--color-white);
  margin-bottom: 50px;
}

.im-testimonials__slider {
  display: flex;
  gap: 30px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 10px;
}

.im-testimonials__slider::-webkit-scrollbar {
  display: none;
}

.im-testimonial {
  flex: 0 0 350px;
  scroll-snap-align: start;
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-lg);
  padding: 32px;
  transition: transform .3s ease, background .3s ease;
}

.im-testimonial:hover {
  background: rgba(255,255,255,.1);
  transform: translateY(-3px);
}

.im-testimonial__quote {
  font-style: italic;
  color: rgba(255,255,255,.75);
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 24px;
  position: relative;
  padding-top: 20px;
}

.im-testimonial__quote::before {
  content: '\201C';
  position: absolute;
  top: -10px;
  left: 0;
  font-size: 3rem;
  color: var(--color-accent);
  font-family: Georgia, serif;
  line-height: 1;
  opacity: .5;
}

.im-testimonial__author {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--color-white);
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.im-testimonial__role {
  color: rgba(255,255,255,.5);
  font-size: .85rem;
  margin-top: 4px;
}

/* ================================================================
   IM HOMEPAGE — Stats Counter
   ================================================================ */
.im-stats {
  width: 100%;
  padding: 60px 24px;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  position: relative;
  overflow: hidden;
}

.im-stats::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='3' cy='3' r='1'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}

.im-stats__inner {
  max-width: var(--max-width);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.im-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.im-stat {
  text-align: center;
  color: var(--color-white);
}

.im-stat__number {
  font-family: var(--font-display) !important;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 8px;
}

.im-stat__label {
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.7);
}

/* ================================================================
   IM — Portfolio Grid
   ================================================================ */
.im-portfolio {
  width: 100%;
  padding: 80px 24px;
  background: var(--color-white);
}

.im-portfolio__inner {
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-portfolio__title {
  text-align: center;
  margin-bottom: 50px;
}

.im-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.im-portfolio-item {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  aspect-ratio: 16 / 9;
  cursor: pointer;
}

.im-portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.4,0,.2,1);
}

.im-portfolio-item:hover img {
  transform: scale(1.08);
}

.im-portfolio-item__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to top, rgba(26,26,46,.9) 0%, rgba(26,26,46,.3) 50%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  opacity: 0;
  transition: opacity .35s ease;
}

.im-portfolio-item:hover .im-portfolio-item__overlay {
  opacity: 1;
}

.im-portfolio-item__overlay-title {
  font-family: var(--font-display) !important;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--color-white);
  text-transform: uppercase;
  margin-bottom: 6px;
}

.im-portfolio-item__overlay-text {
  color: rgba(255,255,255,.7);
  font-size: .85rem;
  margin: 0;
}

/* ================================================================
   IM — Page Headers (Inner Pages)
   ================================================================ */
.im-page-header {
  width: 100%;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 24px;
  background:
    linear-gradient(135deg, rgba(26,26,46,.94) 0%, rgba(42,42,62,.88) 100%),
    url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  position: relative;
}

.im-page-header::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to top, var(--color-white) 0%, transparent 100%);
}

.im-page-header__title {
  font-family: var(--font-display) !important;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  font-weight: 700;
  color: var(--color-white);
  text-transform: uppercase;
  margin-bottom: .3em;
  position: relative;
  z-index: 1;
}

.im-page-header__breadcrumb {
  font-size: .85rem;
  color: rgba(255,255,255,.55);
  position: relative;
  z-index: 1;
}

.im-page-header__breadcrumb a {
  color: rgba(255,255,255,.7);
  text-decoration: none;
  transition: color var(--transition);
}

.im-page-header__breadcrumb a:hover {
  color: var(--color-white);
}

.im-page-header__breadcrumb span.separator {
  margin: 0 8px;
  opacity: .5;
}

/* ================================================================
   IM — About Page
   ================================================================ */
.im-about-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 80px 24px;
}

.im-about-intro__text h2 {
  margin-bottom: .5em;
}

.im-about-intro__text p {
  color: var(--color-gray-500);
  line-height: 1.8;
}

.im-about-intro__image {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-card-hover);
}

.im-about-intro__image img {
  width: 100%;
  height: auto;
  display: block;
}

.im-about-values {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px 80px;
}

.im-about-values__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.im-about-value-card {
  background: var(--color-gray-100);
  border-radius: var(--radius-md);
  padding: 32px;
  text-align: center;
  transition: transform .3s ease, box-shadow .3s ease;
}

.im-about-value-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card);
  background: var(--color-white);
}

.im-about-value-card__icon {
  font-size: 2rem;
  margin-bottom: 16px;
  color: var(--color-primary);
}

.im-about-value-card__title {
  font-family: var(--font-display) !important;
  font-weight: 700;
  color: var(--color-charcoal);
  margin-bottom: 10px;
  text-transform: uppercase;
}

.im-about-value-card__text {
  color: var(--color-gray-500);
  font-size: .9rem;
  line-height: 1.6;
  margin: 0;
}

/* ================================================================
   IM — Contact Page
   ================================================================ */
.im-contact-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 60px 24px 80px;
  align-items: start;
}

.im-contact-form {
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 40px;
}

.im-contact-form label {
  display: block;
  font-family: var(--font-body);
  font-size: .85rem;
  font-weight: 600;
  color: var(--color-charcoal);
  margin-bottom: 6px;
  letter-spacing: .02em;
}

.im-contact-form input[type="text"],
.im-contact-form input[type="email"],
.im-contact-form input[type="tel"],
.im-contact-form textarea,
.im-contact-form select {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--color-charcoal);
  transition: border-color var(--transition), box-shadow var(--transition);
  margin-bottom: 20px;
  background: var(--color-white);
}

.im-contact-form input:focus,
.im-contact-form textarea:focus,
.im-contact-form select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(10,122,255,.12);
}

.im-contact-form textarea {
  resize: vertical;
  min-height: 140px;
}

.im-contact-info {
  background: var(--color-charcoal);
  border-radius: var(--radius-md);
  padding: 40px;
  color: var(--color-gray-300);
}

.im-contact-info h3 {
  color: var(--color-white);
  margin-bottom: 24px;
}

.im-contact-info__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}

.im-contact-info__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-accent);
  font-size: 1rem;
}

.im-contact-info__detail h4 {
  color: var(--color-white);
  font-size: .95rem;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.im-contact-info__detail p {
  color: var(--color-gray-300);
  font-size: .9rem;
  line-height: 1.6;
  margin: 0;
}

.im-contact-info__detail a {
  color: var(--color-accent);
  text-decoration: none;
  transition: color var(--transition);
}

.im-contact-info__detail a:hover {
  color: var(--color-white);
}

/* ================================================================
   IM — WooCommerce Product Cards Enhancement
   ================================================================ */
.woocommerce ul.products li.product {
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-white);
  box-shadow: var(--shadow-card);
  transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s ease;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-card-hover);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display) !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.woocommerce ul.products li.product .price {
  color: var(--color-primary) !important;
  font-weight: 700;
  font-family: var(--font-display) !important;
}

.woocommerce ul.products li.product > a:first-child {
  display: block;
  overflow: hidden;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.woocommerce ul.products li.product a img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .45s cubic-bezier(.4,0,.2,1);
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.06);
}

/* ================================================================
   IM — Responsive Overrides
   ================================================================ */

/* Large screens */
@media (min-width: 1401px) {
  .im-pillars__inner,
  .im-process__inner,
  .im-pricing__inner,
  .im-testimonials__inner,
  .im-stats__inner,
  .im-portfolio__inner {
    max-width: var(--max-width);
  }
}

/* Tablet breakpoint */
@media (max-width: 1024px) {
  .im-pillars__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .im-pricing__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .im-pricing-card--featured {
    transform: scale(1);
  }

  .im-pricing-card--featured:hover {
    transform: translateY(-4px);
  }

  .im-portfolio-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .im-stats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .im-about-intro {
    gap: 40px;
  }

  .im-about-values__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .im-contact-grid {
    grid-template-columns: 1fr;
  }

  .im-process__steps {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  .im-process__step::after {
    top: auto;
    bottom: -24px;
    left: 50%;
    right: auto;
    width: 2px;
    height: 24px;
    transform: translateX(-50%);
    background: linear-gradient(180deg, var(--color-accent), var(--color-gray-300));
  }

  .im-process__step:last-child::after {
    display: none;
  }
}

/* Mobile breakpoint */
@media (max-width: 768px) {
  .im-hero {
    min-height: 70vh;
    padding: 60px 20px;
  }

  .im-hero__title {
    font-size: clamp(1.8rem, 6vw, 2.6rem);
  }

  .im-hero__subtitle {
    font-size: 1rem;
  }

  .im-hero__actions {
    flex-direction: column;
    gap: 12px;
  }

  .im-hero__actions .btn,
  .im-hero__actions a {
    width: 100%;
    text-align: center;
  }

  .im-pillars,
  .im-process,
  .im-pricing,
  .im-testimonials,
  .im-stats,
  .im-portfolio {
    padding: 60px 16px;
  }

  .im-pillars__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .im-pillar-card {
    padding: 30px 24px;
  }

  .im-pricing__grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }

  .im-stats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .im-portfolio-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .im-testimonial {
    flex: 0 0 85vw;
  }

  .im-about-intro {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 60px 16px;
  }

  .im-about-values__grid {
    grid-template-columns: 1fr;
  }

  .im-contact-grid {
    gap: 24px;
    padding: 40px 16px 60px;
  }

  .im-contact-form {
    padding: 24px;
  }

  .im-contact-info {
    padding: 28px;
  }

  .im-page-header {
    min-height: 220px;
    padding: 60px 16px;
  }

  .im-page-header__title {
    font-size: clamp(1.6rem, 5vw, 2.2rem);
  }

  .im-cta-band {
    padding: 60px 16px;
  }

  .im-cta-band__actions {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .im-stats__grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .im-stat__number {
    font-size: 1.8rem;
  }

  .im-stat__label {
    font-size: .75rem;
  }

  .im-pillar-card__icon {
    width: 60px;
    height: 60px;
  }

  .im-pillar-card__icon img {
    max-height: 60px;
    max-width: 60px;
  }
}

/* ================================================================
   IM — Animations (CSS-only, triggered by .is-visible)
   ================================================================ */
.im-fade-in {
  opacity: 0;
  transition: opacity .7s ease;
}

.im-fade-in.is-visible {
  opacity: 1;
}

.im-slide-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .6s ease, transform .6s cubic-bezier(.4,0,.2,1);
}

.im-slide-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children for grid animations */
.im-stagger > .is-visible:nth-child(1) { transition-delay: 0s; }
.im-stagger > .is-visible:nth-child(2) { transition-delay: .1s; }
.im-stagger > .is-visible:nth-child(3) { transition-delay: .2s; }
.im-stagger > .is-visible:nth-child(4) { transition-delay: .3s; }
.im-stagger > .is-visible:nth-child(5) { transition-delay: .4s; }
.im-stagger > .is-visible:nth-child(6) { transition-delay: .5s; }

/* ================================================================
   IM — Gutenberg Block Fallback Styles
   Re-enable critical block CSS if wp-block-library is dequeued
   ================================================================ */

/* Cover block */
.wp-block-cover {
  position: relative;
  background-size: cover;
  background-position: center;
  min-height: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em;
  overflow: hidden;
}

.wp-block-cover.has-background-dim::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: inherit;
  opacity: .5;
}

.wp-block-cover.has-background-dim-80::before { opacity: .8; }
.wp-block-cover.has-background-dim-60::before { opacity: .6; }
.wp-block-cover.has-background-dim-40::before { opacity: .4; }
.wp-block-cover.has-background-dim-20::before { opacity: .2; }

.wp-block-cover__inner-container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--max-width);
  color: var(--color-white);
}

.wp-block-cover img.wp-block-cover__image-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Columns block */
.wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
}

.wp-block-column {
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}

@media (max-width: 768px) {
  .wp-block-columns {
    flex-direction: column;
  }

  .wp-block-column {
    flex-basis: 100% !important;
  }
}

/* Buttons block */
.wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .5em;
}

.wp-block-buttons.is-content-justification-center {
  justify-content: center;
}

.wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}

.wp-block-button__link {
  display: inline-block;
  padding: 12px 32px;
  border-radius: var(--radius-pill);
  font-family: var(--font-display) !important;
  font-weight: 600;
  font-size: .95rem;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .06em;
  transition: all var(--transition);
  cursor: pointer;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 2px solid currentColor;
}

/* Separator block */
.wp-block-separator {
  border: none;
  border-top: 2px solid var(--color-gray-100);
  margin: 2em auto;
  width: 100%;
  max-width: 100px;
}

.wp-block-separator.is-style-wide {
  max-width: 100%;
}

.wp-block-separator.is-style-dots {
  border: none;
  text-align: center;
  max-width: 100%;
}

.wp-block-separator.is-style-dots::before {
  content: '\00B7 \00B7 \00B7';
  font-size: 1.5rem;
  letter-spacing: 1em;
  color: var(--color-gray-300);
}

/* Group block */
.wp-block-group {
  box-sizing: border-box;
}

.wp-block-group.has-background {
  padding: 2em;
}

.wp-block-group.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
}

.wp-block-group.alignwide {
  max-width: var(--max-width);
  margin-left: auto;
  margin-right: auto;
}

/* Image block */
.wp-block-image {
  margin-bottom: 1.5em;
}

.wp-block-image img {
  max-width: 100%;
  height: auto;
}

.wp-block-image.aligncenter {
  text-align: center;
}

.wp-block-image.alignfull img {
  width: 100vw;
  max-width: 100vw;
}

/* Spacer block */
.wp-block-spacer {
  clear: both;
}

/* List block styling */
.wp-block-list {
  padding-left: 1.5em;
}

/* Quote block */
.wp-block-quote {
  border-left: 4px solid var(--color-primary);
  padding: 1em 1.5em;
  margin: 1.5em 0;
  font-style: italic;
  color: var(--color-gray-700);
}

.wp-block-quote cite {
  display: block;
  font-style: normal;
  font-size: .85rem;
  margin-top: .5em;
  color: var(--color-gray-500);
}

/* ================================================================
   IM COMMUNITY PAGE
   ================================================================ */

/* --- Community Hero --- */
.im-community-hero {
  position: relative;
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--color-charcoal) 0%, #0a3366 50%, var(--color-primary) 100%);
  overflow: hidden;
  text-align: center;
  padding: 80px 24px;
}

.im-community-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='15' cy='15' r='1.5' fill='%2300C9A7' opacity='.12'/%3E%3Ccircle cx='45' cy='45' r='1.5' fill='%230A7AFF' opacity='.12'/%3E%3Ccircle cx='45' cy='15' r='1' fill='%23fff' opacity='.06'/%3E%3Ccircle cx='15' cy='45' r='1' fill='%23fff' opacity='.06'/%3E%3C/svg%3E") repeat;
}

.im-community-hero__overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 0%, rgba(26,26,46,.4) 100%);
}

.im-community-hero__content {
  position: relative;
  z-index: 2;
  max-width: 700px;
}

.im-community-hero__content h1 {
  color: #fff;
  font-family: var(--font-display) !important;
  font-size: clamp(2rem, 4vw, 3rem);
  text-transform: uppercase;
  letter-spacing: .02em;
  margin-bottom: 16px;
  text-shadow: 0 2px 20px rgba(0,0,0,.3);
}

.im-community-hero__content p {
  color: rgba(255,255,255,.85);
  font-size: 1.15rem;
  line-height: 1.7;
  margin-bottom: 30px;
}

/* --- Community Stats Bar --- */
.im-community-stats {
  background: var(--color-white);
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding: 0;
}

.im-community-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-community-stat {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 28px 24px;
  border-right: 1px solid rgba(0,0,0,.06);
}

.im-community-stat:last-child {
  border-right: none;
}

.im-community-stat__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.im-community-stat__icon i {
  color: #fff;
  font-size: 1.2rem;
}

.im-community-stat__info {
  display: flex;
  flex-direction: column;
}

.im-community-stat__number {
  font-family: var(--font-display) !important;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--color-charcoal);
  line-height: 1.1;
}

.im-community-stat__label {
  font-size: .8rem;
  color: var(--color-gray-500);
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* --- Quick Nav Cards --- */
.im-community-nav {
  padding: 60px 0;
  background: var(--color-gray-100);
}

.im-community-nav__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
}

.im-community-nav__card {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  padding: 36px 28px;
  text-decoration: none;
  color: inherit;
  box-shadow: var(--shadow-card);
  transition: all var(--transition);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.im-community-nav__card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition);
}

.im-community-nav__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.im-community-nav__card:hover::before {
  transform: scaleX(1);
}

.im-community-nav__card--cta {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  color: #fff;
}

.im-community-nav__card--cta::before {
  background: var(--color-accent);
}

.im-community-nav__card--cta h3,
.im-community-nav__card--cta p {
  color: #fff;
}

.im-community-nav__card--cta p {
  opacity: .85;
}

.im-community-nav__card--cta .im-community-nav__link {
  color: var(--color-accent);
}

.im-community-nav__icon {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, rgba(10,122,255,.1), rgba(0,201,167,.1));
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.im-community-nav__card--cta .im-community-nav__icon {
  background: rgba(255,255,255,.15);
}

.im-community-nav__icon i {
  font-size: 1.4rem;
  color: var(--color-primary);
}

.im-community-nav__card--cta .im-community-nav__icon i {
  color: #fff;
}

.im-community-nav__card h3 {
  font-family: var(--font-display) !important;
  font-size: 1.15rem;
  color: var(--color-charcoal);
  margin-bottom: 8px;
  text-transform: uppercase;
}

.im-community-nav__card p {
  font-size: .9rem;
  color: var(--color-gray-500);
  line-height: 1.6;
  flex-grow: 1;
  margin-bottom: 16px;
}

.im-community-nav__link {
  font-family: var(--font-display) !important;
  font-size: .85rem;
  font-weight: 600;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.im-community-nav__link i {
  margin-left: 6px;
  transition: transform var(--transition);
}

.im-community-nav__card:hover .im-community-nav__link i {
  transform: translateX(4px);
}

/* --- Group Cards --- */
.im-community-groups {
  padding: 80px 0;
  background: var(--color-white);
}

.im-community-groups__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.im-community-group-card {
  background: var(--color-white);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: var(--radius-lg);
  padding: 32px 24px;
  transition: all var(--transition);
  display: flex;
  flex-direction: column;
}

.im-community-group-card:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-card);
  transform: translateY(-2px);
}

.im-community-group-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.im-community-group-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
  display: flex;
  align-items: center;
  justify-content: center;
}

.im-community-group-card__icon i {
  color: #fff;
  font-size: 1.1rem;
}

.im-community-group-card__badge {
  font-size: .7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  background: rgba(0,201,167,.1);
  color: #00a084;
}

.im-community-group-card__name {
  font-family: var(--font-display) !important;
  font-size: 1.1rem;
  color: var(--color-charcoal);
  margin-bottom: 8px;
  text-transform: uppercase;
}

.im-community-group-card__desc {
  font-size: .88rem;
  color: var(--color-gray-500);
  line-height: 1.6;
  flex-grow: 1;
  margin-bottom: 16px;
}

.im-community-group-card__meta {
  font-size: .8rem;
  color: var(--color-gray-500);
  margin-bottom: 16px;
}

.im-community-group-card__meta i {
  color: var(--color-primary);
  margin-right: 6px;
}

.im-community-group-card__btn {
  width: 100%;
  text-align: center;
}

/* --- Activity Feed --- */
.im-community-activity {
  padding: 80px 0;
  background: var(--color-gray-100);
}

.im-community-activity__feed {
  max-width: 720px;
  margin: 0 auto;
}

.im-community-activity__item {
  display: flex;
  gap: 16px;
  padding: 24px;
  background: var(--color-white);
  border-radius: var(--radius-md);
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
  transition: box-shadow var(--transition);
}

.im-community-activity__item:hover {
  box-shadow: var(--shadow-card);
}

.im-community-activity__avatar {
  flex-shrink: 0;
}

.im-community-activity__avatar img,
.im-community-activity__avatar-img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  object-fit: cover;
}

.im-community-activity__body {
  flex-grow: 1;
  min-width: 0;
}

.im-community-activity__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.im-community-activity__name {
  font-family: var(--font-display) !important;
  font-weight: 600;
  font-size: .95rem;
  color: var(--color-charcoal);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.im-community-activity__name:hover {
  color: var(--color-primary);
}

.im-community-activity__time {
  font-size: .78rem;
  color: var(--color-gray-300);
  white-space: nowrap;
}

.im-community-activity__content {
  font-size: .92rem;
  color: var(--color-gray-700);
  line-height: 1.65;
}

.im-community-activity__content p {
  margin: 0;
}

/* --- Member Cards --- */
.im-community-members {
  padding: 80px 0;
  background: var(--color-white);
}

.im-community-members__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
}

.im-community-member-card {
  text-align: center;
  text-decoration: none;
  color: inherit;
  padding: 28px 16px;
  border-radius: var(--radius-lg);
  transition: all var(--transition);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.im-community-member-card:hover {
  background: var(--color-gray-100);
  transform: translateY(-2px);
}

.im-community-member-card__avatar {
  margin-bottom: 12px;
}

.im-community-member-card__avatar img,
.im-community-member__avatar-img {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  object-fit: cover;
  border: 3px solid var(--color-gray-100);
  transition: border-color var(--transition);
}

.im-community-member-card:hover .im-community-member-card__avatar img,
.im-community-member-card:hover .im-community-member__avatar-img {
  border-color: var(--color-primary);
}

.im-community-member-card__name {
  font-family: var(--font-display) !important;
  font-size: .95rem;
  color: var(--color-charcoal);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.im-community-member-card__joined {
  font-size: .75rem;
  color: var(--color-gray-500);
  margin-bottom: 8px;
}

.im-community-member-card__link {
  font-family: var(--font-display) !important;
  font-size: .78rem;
  font-weight: 600;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: 0;
  transition: opacity var(--transition);
}

.im-community-member-card:hover .im-community-member-card__link {
  opacity: 1;
}

/* --- Community CTA / Guidelines --- */
.im-community-cta {
  padding: 80px 0;
  background: var(--color-gray-100);
}

.im-community-cta__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 1000px;
  margin: 0 auto;
}

.im-community-cta__guidelines {
  padding: 40px;
  background: var(--color-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}

.im-community-cta__guidelines h2 {
  font-size: 1.4rem;
  margin-bottom: 24px;
}

.im-community-cta__guidelines ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.im-community-cta__guidelines li {
  padding: 10px 0;
  font-size: .92rem;
  line-height: 1.6;
  color: var(--color-gray-700);
  border-bottom: 1px solid rgba(0,0,0,.04);
}

.im-community-cta__guidelines li:last-child {
  border-bottom: none;
}

.im-community-cta__guidelines li i {
  color: var(--color-accent);
  margin-right: 10px;
}

.im-community-cta__join {
  padding: 50px 40px;
  background: linear-gradient(135deg, var(--color-charcoal), var(--color-charcoal-light));
  border-radius: var(--radius-lg);
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.im-community-cta__join h2 {
  color: #fff;
  font-size: 1.6rem;
  margin-bottom: 16px;
}

.im-community-cta__join p {
  color: rgba(255,255,255,.75);
  font-size: 1rem;
  margin-bottom: 24px;
}

.im-community-cta__features {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}

.im-community-cta__features span {
  font-size: .8rem;
  color: rgba(255,255,255,.6);
}

.im-community-cta__features i {
  color: var(--color-accent);
  margin-right: 4px;
}

/* --- Community Page Responsive --- */
@media (max-width: 1024px) {
  .im-community-stats__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .im-community-nav__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .im-community-groups__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .im-community-members__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .im-community-hero {
    min-height: 40vh;
    padding: 60px 20px;
  }
  .im-community-hero__content h1 {
    font-size: 1.8rem;
  }
  .im-community-stats__grid {
    grid-template-columns: 1fr 1fr;
  }
  .im-community-stat {
    border-right: none;
    border-bottom: 1px solid rgba(0,0,0,.06);
    padding: 20px;
  }
  .im-community-nav__grid {
    grid-template-columns: 1fr;
  }
  .im-community-groups__grid {
    grid-template-columns: 1fr;
  }
  .im-community-members__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .im-community-cta__grid {
    grid-template-columns: 1fr;
  }
  .im-community-activity,
  .im-community-groups,
  .im-community-members,
  .im-community-cta {
    padding: 50px 0;
  }
}

@media (max-width: 480px) {
  .im-community-stats__grid {
    grid-template-columns: 1fr;
  }
  .im-community-members__grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .im-community-cta__guidelines,
  .im-community-cta__join {
    padding: 28px 20px;
  }
  .im-community-cta__features {
    flex-direction: column;
    gap: 8px;
  }
}

/* ================================================================
   CAPABILITY PAGES — Hero, Overview, Features, Demo CTA, Markets
   ================================================================ */

/* --- Capability Hero --- */
.im-cap-hero {
  position: relative;
  background: linear-gradient(135deg, var(--color-charcoal) 0%, #0a3366 50%, var(--color-primary) 100%);
  padding: 120px 20px 80px;
  text-align: center;
  overflow: hidden;
}

.im-cap-hero__overlay {
  position: absolute;
  inset: 0;
  background: url('') center/cover no-repeat;
  opacity: .08;
}

.im-cap-hero__content {
  position: relative;
  z-index: 1;
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-cap-hero__icon {
  margin-bottom: 24px;
}

.im-cap-hero__icon img {
  filter: brightness(0) invert(1);
  opacity: .9;
}

.im-cap-hero h1 {
  color: var(--color-white);
  margin-bottom: 16px;
}

.im-cap-hero__subtitle {
  color: rgba(255,255,255,.85);
  font-size: 1.15rem;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.7;
}

/* --- Capability Overview --- */
.im-cap-overview {
  padding: 80px 20px;
  background: var(--color-white);
}

.im-cap-overview__grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 60px;
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-cap-overview__text h2 {
  margin-bottom: 20px;
}

.im-cap-overview__text p {
  color: var(--color-gray-500);
  line-height: 1.8;
}

.im-cap-overview__sidebar {
  background: var(--color-gray-100);
  border-radius: var(--radius-md);
  padding: 30px;
  align-self: start;
}

.im-cap-overview__sidebar h3 {
  font-size: 1.1rem;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.im-cap-related {
  list-style: none;
  padding: 0;
  margin: 0;
}

.im-cap-related li {
  margin-bottom: 10px;
}

.im-cap-related li a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 500;
  font-size: .95rem;
  transition: color var(--transition);
}

.im-cap-related li a:hover {
  color: var(--color-primary-dark);
}

.im-cap-related li a::before {
  content: '\f054';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: .7rem;
  margin-right: 8px;
  color: var(--color-accent);
}

/* --- Capability Features --- */
.im-cap-features {
  padding: 80px 20px;
  background: var(--color-gray-100);
}

.im-cap-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-cap-feature-card {
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: 36px 28px;
  box-shadow: var(--shadow-card);
  transition: all var(--transition);
}

.im-cap-feature-card:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-4px);
}

.im-cap-feature-card__icon {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.im-cap-feature-card__icon i {
  font-size: 1.4rem;
  color: var(--color-white);
}

.im-cap-feature-card h3 {
  font-size: 1.15rem;
  margin-bottom: 10px;
}

.im-cap-feature-card p {
  color: var(--color-gray-500);
  font-size: .93rem;
  line-height: 1.65;
  margin-bottom: 0;
}

/* --- Capability Demo CTA --- */
.im-cap-demo {
  padding: 60px 20px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
}

.im-cap-demo__content {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.im-cap-demo__content h2 {
  color: var(--color-white);
  margin-bottom: 12px;
}

.im-cap-demo__content p {
  color: rgba(255,255,255,.9);
  font-size: 1.05rem;
  margin-bottom: 24px;
}

.im-cap-demo__content .btn {
  background: var(--color-white) !important;
  color: var(--color-primary) !important;
  border-color: var(--color-white) !important;
}

.im-cap-demo__content .btn:hover {
  background: transparent !important;
  color: var(--color-white) !important;
}

/* --- Capability Markets --- */
.im-cap-markets {
  padding: 60px 20px;
  background: var(--color-white);
}

.im-cap-markets__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-cap-market-tag {
  display: inline-block;
  background: var(--color-gray-100);
  color: var(--color-charcoal);
  padding: 10px 24px;
  border-radius: var(--radius-pill);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: .9rem;
  letter-spacing: .03em;
  text-transform: uppercase;
  border: 2px solid var(--color-gray-300);
  transition: all var(--transition);
}

.im-cap-market-tag:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

/* --- Capability CTA --- */
.im-cap-cta {
  padding: 80px 20px;
  background: var(--color-charcoal);
  text-align: center;
}

.im-cap-cta h2 {
  color: var(--color-white);
  margin-bottom: 12px;
}

.im-cap-cta p {
  color: rgba(255,255,255,.8);
  max-width: 600px;
  margin: 0 auto 28px;
}

/* ================================================================
   SERVICES OVERVIEW PAGE — Grid
   ================================================================ */
.im-services {
  padding: 80px 20px;
  background: var(--color-gray-100);
}

.im-services__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-service-card {
  display: flex;
  flex-direction: column;
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: 36px 28px;
  box-shadow: var(--shadow-card);
  transition: all var(--transition);
  text-decoration: none;
  color: inherit;
}

.im-service-card:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-4px);
  text-decoration: none;
  color: inherit;
}

.im-service-card__icon {
  margin-bottom: 18px;
}

.im-service-card__title {
  font-size: 1.15rem;
  margin-bottom: 10px;
  color: var(--color-charcoal);
}

.im-service-card__text {
  color: var(--color-gray-500);
  font-size: .93rem;
  line-height: 1.65;
  flex: 1;
  margin-bottom: 16px;
}

.im-service-card__link {
  color: var(--color-primary);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: .88rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.im-service-card:hover .im-service-card__link {
  color: var(--color-accent);
}

.im-service-card__link i {
  margin-left: 6px;
  transition: transform var(--transition);
}

.im-service-card:hover .im-service-card__link i {
  transform: translateX(4px);
}

/* ================================================================
   ABOUT PAGE — Story, Different, Markets
   ================================================================ */
.im-about-story {
  padding: 80px 20px;
  background: var(--color-white);
}

.im-about-story__grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 60px;
  max-width: var(--max-width);
  margin: 0 auto;
  align-items: start;
}

.im-about-story__text h2 {
  margin-bottom: 20px;
}

.im-about-story__text p {
  color: var(--color-gray-500);
  line-height: 1.8;
}

.im-about-story__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.im-about-stat {
  background: var(--color-gray-100);
  border-radius: var(--radius-md);
  padding: 24px 16px;
  text-align: center;
}

.im-about-stat__number {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 6px;
}

.im-about-stat__label {
  font-size: .82rem;
  color: var(--color-gray-500);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* How We're Different */
.im-about-different {
  padding: 80px 20px;
  background: var(--color-gray-100);
}

.im-about-different__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-about-diff-card {
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: 36px 28px;
  box-shadow: var(--shadow-card);
}

.im-about-diff-card__icon {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.im-about-diff-card__icon i {
  font-size: 1.4rem;
  color: var(--color-white);
}

.im-about-diff-card h3 {
  font-size: 1.1rem;
  margin-bottom: 10px;
}

.im-about-diff-card p {
  color: var(--color-gray-500);
  font-size: .93rem;
  line-height: 1.65;
  margin-bottom: 0;
}

/* Markets We Serve */
.im-about-markets {
  padding: 80px 20px;
  background: var(--color-white);
}

.im-about-markets__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  max-width: var(--max-width);
  margin: 0 auto;
}

.im-about-market-card {
  text-align: center;
  padding: 36px 20px;
}

.im-about-market-card__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--color-gray-100);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
}

.im-about-market-card__icon i {
  font-size: 1.5rem;
  color: var(--color-primary);
}

.im-about-market-card h3 {
  font-size: 1.05rem;
  margin-bottom: 10px;
}

.im-about-market-card p {
  color: var(--color-gray-500);
  font-size: .9rem;
  line-height: 1.65;
  margin-bottom: 0;
}

/* ================================================================
   CAPABILITY + SERVICES + ABOUT — Responsive
   ================================================================ */
@media (max-width: 1024px) {
  .im-cap-features__grid,
  .im-services__grid,
  .im-about-different__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .im-about-markets__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .im-cap-hero {
    padding: 90px 20px 60px;
  }
  .im-cap-overview__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .im-cap-features__grid,
  .im-services__grid,
  .im-about-different__grid {
    grid-template-columns: 1fr;
  }
  .im-about-story__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .im-about-markets__grid {
    grid-template-columns: 1fr;
  }
  .im-cap-overview,
  .im-cap-features,
  .im-cap-markets,
  .im-cap-cta,
  .im-services,
  .im-about-story,
  .im-about-different,
  .im-about-markets {
    padding: 50px 20px;
  }
}

@media (max-width: 480px) {
  .im-about-story__stats {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .im-cap-markets__tags {
    gap: 8px;
  }
  .im-cap-market-tag {
    font-size: .8rem;
    padding: 8px 16px;
  }
}

/* ================================================================
   COURSES OVERVIEW PAGE  (page-id-120897)
   ================================================================ */

/* --- Sensei archive-controls is the outer wrapper containing
       the sort form, filter pills, AND the archive-header.
       We make it full-width and use flex ordering to put the
       h1 banner at the top, controls row below. --- */
.page-id-120897 .sensei-archive-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  /* Break out of content container to go full-width for header bg */
  margin: 0 calc(-50vw + 50%) 0;
  padding: 0 calc(50vw - 50%);
}

/* --- Hero header (inside archive-controls) --- */
.page-id-120897 .archive-header {
  flex-basis: 100%;
  order: -1;
  text-align: center;
  padding: 64px 24px 48px;
  background: linear-gradient(135deg, var(--color-charcoal) 0%, var(--color-charcoal-light) 100%);
  /* Full bleed within the already-broken-out parent */
  margin: 0 calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}

.page-id-120897 .archive-header h1 {
  font-family: var(--font-display) !important;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 700;
  color: var(--color-white);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* --- Sort + filter row (below hero, constrained width) --- */
.page-id-120897 .sensei-ordering {
  order: 1;
}

/* Controls row bottom padding */
.page-id-120897 .sensei-archive-controls::after {
  content: '';
  flex-basis: 100%;
  order: 3;
  height: 0;
  /* Creates the visual gap between controls and grid */
  margin-bottom: 8px;
}

.page-id-120897 .sensei-ordering select.orderby {
  font-family: var(--font-body);
  padding: 10px 18px;
  border: 2px solid var(--color-gray-300);
  border-radius: var(--radius-sm);
  font-size: .9rem;
  background: var(--color-white);
  color: var(--color-gray-700);
  cursor: pointer;
  transition: border-color var(--transition);
  appearance: auto;
}

.page-id-120897 .sensei-ordering select.orderby:focus {
  border-color: var(--color-primary);
  outline: none;
}

.page-id-120897 .sensei-course-filters {
  list-style: none;
  margin: 0 0 0 auto;
  padding: 0;
  display: flex;
  gap: 10px;
  order: 2;
}

.page-id-120897 .sensei-course-filters li a {
  display: inline-block;
  padding: 8px 22px;
  border-radius: var(--radius-pill);
  font-family: var(--font-body);
  font-size: .85rem;
  font-weight: 600;
  color: var(--color-gray-500);
  background: var(--color-gray-100);
  text-decoration: none;
  transition: all var(--transition);
  border: 2px solid transparent;
}

.page-id-120897 .sensei-course-filters li a:hover {
  background: var(--color-gray-100);
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.page-id-120897 .sensei-course-filters li a.active {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

/* --- Course grid (targets div.regular which wraps the li.course items) --- */
.page-id-120897 .regular {
  list-style: none;
  margin: 0 auto;
  padding: 0 20px 60px;
  max-width: var(--max-width);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 28px;
}

/* --- Course cards --- */
.page-id-120897 .regular > li.course {
  list-style: none;
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: 0;
  box-shadow: var(--shadow-card);
  transition: all var(--transition);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: none;
}

.page-id-120897 .regular > li.course:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-4px);
}

/* Card top accent bar */
.page-id-120897 .regular > li.course::before {
  content: '';
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-accent) 100%);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}

/* Course content wrapper */
.page-id-120897 .course-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 28px 28px 24px;
}

.page-id-120897 .course-content .entry {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* --- Course title --- */
.page-id-120897 h3.course-title {
  font-family: var(--font-display) !important;
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: .01em;
}

.page-id-120897 h3.course-title a {
  color: var(--color-charcoal);
  text-decoration: none;
  transition: color var(--transition);
}

.page-id-120897 h3.course-title a:hover {
  color: var(--color-primary);
}

/* --- Lesson count badge --- */
.page-id-120897 .sensei-course-meta {
  margin-bottom: 14px;
}

.page-id-120897 .course-lesson-count {
  display: inline-block;
  background: rgba(10, 122, 255, .08);
  color: var(--color-primary);
  font-family: var(--font-body);
  font-size: .75rem;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: var(--radius-pill);
  text-transform: uppercase;
  letter-spacing: .6px;
}

/* --- Course excerpt (override global display:none) --- */
.page-id-120897 p.course-excerpt {
  display: block !important;
  font-family: var(--font-body);
  font-size: .93rem;
  color: var(--color-gray-500);
  line-height: 1.65;
  flex: 1;
  margin-bottom: 20px;
}

/* --- "View Course" link generated via CSS --- */
.page-id-120897 .course-content .entry::after {
  content: 'View Course \2192';
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: .88rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--color-gray-100);
  transition: color var(--transition);
}

.page-id-120897 .regular > li.course:hover .entry::after {
  color: var(--color-accent);
}

/* --- "Start Course" / action buttons (if rendered) --- */
.page-id-120897 .course-content .entry a.button,
.page-id-120897 .course-content .entry input.button {
  display: inline-block;
  background: var(--color-primary);
  color: var(--color-white);
  font-family: var(--font-body);
  font-weight: 600;
  padding: 10px 24px;
  border-radius: var(--radius-sm);
  border: none;
  text-decoration: none;
  font-size: .9rem;
  cursor: pointer;
  transition: background var(--transition);
  margin-top: 16px;
}

.page-id-120897 .course-content .entry a.button:hover,
.page-id-120897 .course-content .entry input.button:hover {
  background: var(--color-primary-dark);
}

/* --- Pagination --- */
.page-id-120897 nav.pagination {
  text-align: center;
  padding: 40px 0;
  max-width: var(--max-width);
  margin: 0 auto;
}

/* --- Hide page entry-header (empty on this template) --- */
.page-id-120897 .entry-header {
  display: none;
}

/* --- Remove content-area side padding so full-bleed hero works --- */
.page-id-120897 .content-area {
  padding: 0;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .page-id-120897 .regular {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 0 16px 40px;
  }

  .page-id-120897 .sensei-archive-controls {
    gap: 12px;
  }

  .page-id-120897 .sensei-course-filters {
    margin-left: 0;
  }

  .page-id-120897 .archive-header {
    padding: 48px 16px 36px;
  }

  .page-id-120897 .course-content {
    padding: 22px 20px 20px;
  }

  .page-id-120897 .sensei-course-filters li a {
    padding: 6px 16px;
    font-size: .8rem;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .page-id-120897 .regular {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* ================================================================
   BUDDYPRESS GROUPS DIRECTORY — /groups/
   ================================================================ */

/* --- Groups Hero Banner --- */
.directory.groups #buddypress {
  max-width: var(--max-width, 1400px);
  margin: 0 auto;
  padding: 0;
}

.directory.groups .entry-header,
.directory.groups #buddypress > h2:first-of-type {
  display: none;
}

.directory.groups #content {
  padding-top: 0;
}

.directory.groups .content-area {
  padding: 0;
}

/* Hero Banner */
.directory.groups #buddypress::before {
  content: 'Groups';
  display: block;
  background: linear-gradient(135deg, var(--color-charcoal, #1a1a2e) 0%, #0a3366 50%, var(--color-primary, #0A7AFF) 100%);
  color: #fff;
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 0.02em;
  padding: 100px 20px 60px;
  margin-bottom: 40px;
}

/* --- Search / Filter Bar --- */
.directory.groups #buddypress .dir-search,
.directory.groups #buddypress #groups-dir-search {
  max-width: 600px;
  margin: 0 auto 32px;
  display: flex;
  gap: 8px;
}

.directory.groups #buddypress .dir-search input[type="search"],
.directory.groups #buddypress .dir-search input[type="text"] {
  flex: 1;
  padding: 12px 20px;
  border: 2px solid var(--color-gray-300, #ccc);
  border-radius: var(--radius-pill, 9999px);
  font-family: var(--font-body, 'Montserrat', sans-serif);
  font-size: 0.95rem;
  transition: border-color var(--transition, .25s ease);
  outline: none;
}

.directory.groups #buddypress .dir-search input[type="search"]:focus,
.directory.groups #buddypress .dir-search input[type="text"]:focus {
  border-color: var(--color-primary, #0A7AFF);
}

.directory.groups #buddypress .dir-search input[type="submit"] {
  background: var(--color-primary, #0A7AFF);
  color: #fff;
  border: none;
  padding: 12px 28px;
  border-radius: var(--radius-pill, 9999px);
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background var(--transition, .25s ease);
}

.directory.groups #buddypress .dir-search input[type="submit"]:hover {
  background: var(--color-primary-dark, #0560CC);
}

/* --- Navigation Tabs --- */
.directory.groups #buddypress .item-list-tabs ul {
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
  border: none;
}

.directory.groups #buddypress .item-list-tabs ul li {
  margin: 0;
}

.directory.groups #buddypress .item-list-tabs ul li a,
.directory.groups #buddypress .item-list-tabs ul li span {
  display: inline-block;
  padding: 10px 24px;
  border-radius: var(--radius-pill, 9999px);
  font-family: var(--font-body, 'Montserrat', sans-serif);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-gray-700, #333);
  background: var(--color-gray-100, #f5f7fa);
  text-decoration: none;
  transition: all var(--transition, .25s ease);
}

.directory.groups #buddypress .item-list-tabs ul li.selected a,
.directory.groups #buddypress .item-list-tabs ul li.current a,
.directory.groups #buddypress .item-list-tabs ul li a:hover {
  background: var(--color-charcoal, #1a1a2e);
  color: #fff;
}

/* --- Group Cards Grid --- */
.directory.groups #buddypress #groups-list,
.directory.groups #buddypress ul.item-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  list-style: none;
  padding: 0 20px 60px;
  margin: 0 auto;
  max-width: var(--max-width, 1400px);
}

.directory.groups #buddypress #groups-list > li,
.directory.groups #buddypress ul.item-list > li {
  background: #fff;
  border-radius: var(--radius-lg, 16px);
  box-shadow: var(--shadow-card, 0 2px 8px rgba(0,0,0,.08));
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: box-shadow var(--transition, .25s ease), transform var(--transition, .25s ease);
  border: 1px solid rgba(0,0,0,.04);
}

.directory.groups #buddypress #groups-list > li:hover,
.directory.groups #buddypress ul.item-list > li:hover {
  box-shadow: var(--shadow-card-hover, 0 8px 24px rgba(0,0,0,.12));
  transform: translateY(-4px);
}

/* Group Avatar */
.directory.groups #buddypress #groups-list .item-avatar,
.directory.groups #buddypress ul.item-list .item-avatar {
  margin-bottom: 20px;
}

.directory.groups #buddypress #groups-list .item-avatar img,
.directory.groups #buddypress ul.item-list .item-avatar img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--color-gray-100, #f5f7fa);
}

/* Group Name */
.directory.groups #buddypress #groups-list .item-title a,
.directory.groups #buddypress ul.item-list .item-title a {
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--color-charcoal, #1a1a2e);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  transition: color var(--transition, .25s ease);
}

.directory.groups #buddypress #groups-list .item-title a:hover,
.directory.groups #buddypress ul.item-list .item-title a:hover {
  color: var(--color-primary, #0A7AFF);
}

/* Group Meta (member count, etc.) */
.directory.groups #buddypress #groups-list .item-meta,
.directory.groups #buddypress ul.item-list .item-meta {
  font-size: 0.8rem;
  color: var(--color-gray-500, #666);
  margin: 6px 0 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Group Description */
.directory.groups #buddypress #groups-list .item-desc,
.directory.groups #buddypress ul.item-list .item-desc {
  font-size: 0.9rem;
  color: var(--color-gray-700, #333);
  line-height: 1.6;
  margin-bottom: 20px;
  flex: 1;
}

/* Group Action Buttons */
.directory.groups #buddypress #groups-list .action,
.directory.groups #buddypress ul.item-list .action {
  position: static;
  width: 100%;
  margin-top: auto;
  text-align: center;
}

.directory.groups #buddypress #groups-list .action a,
.directory.groups #buddypress ul.item-list .action a {
  display: inline-block;
  padding: 10px 28px;
  background: var(--color-charcoal, #1a1a2e);
  color: #fff;
  border-radius: var(--radius-pill, 9999px);
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: all var(--transition, .25s ease);
}

.directory.groups #buddypress #groups-list .action a:hover,
.directory.groups #buddypress ul.item-list .action a:hover {
  background: var(--color-primary, #0A7AFF);
}

/* --- Pagination --- */
.directory.groups #buddypress .pagination,
.directory.groups #buddypress .bp-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 20px 0 60px;
}

.directory.groups #buddypress .pagination .page-numbers,
.directory.groups #buddypress .bp-pagination a,
.directory.groups #buddypress .bp-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all var(--transition, .25s ease);
  color: var(--color-gray-700, #333);
  background: var(--color-gray-100, #f5f7fa);
}

.directory.groups #buddypress .pagination .page-numbers.current,
.directory.groups #buddypress .bp-pagination .current {
  background: var(--color-charcoal, #1a1a2e);
  color: #fff;
}

/* --- Empty State --- */
.directory.groups #buddypress #message {
  text-align: center;
  padding: 80px 20px;
}

.directory.groups #buddypress #message p {
  font-size: 1.1rem;
  color: var(--color-gray-500, #666);
}

/* --- Groups Responsive --- */
@media (max-width: 1024px) {
  .directory.groups #buddypress #groups-list,
  .directory.groups #buddypress ul.item-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .directory.groups #buddypress::before {
    padding: 70px 16px 40px;
  }

  .directory.groups #buddypress #groups-list,
  .directory.groups #buddypress ul.item-list {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 0 16px 40px;
  }

  .directory.groups #buddypress .item-list-tabs ul {
    flex-wrap: wrap;
    gap: 6px;
  }

  .directory.groups #buddypress .item-list-tabs ul li a {
    padding: 8px 16px;
    font-size: 0.78rem;
  }
}


/* ================================================================
   LIVE STREAM PAGE — /live/
   ================================================================ */

.im-live-stream {
  background: var(--color-charcoal, #1a1a2e);
  color: #fff;
  min-height: 100vh;
}

.im-live-container {
  max-width: var(--max-width, 1400px);
  margin: 0 auto;
  padding: 0 20px;
}

/* --- Header --- */
.im-live-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 100px 0 24px;
}

.im-live-header h1 {
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #fff;
  margin: 0;
}

.im-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  border-radius: var(--radius-pill, 9999px);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.im-live-badge::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.im-live-badge.im-live-offline {
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.6);
}

.im-live-badge.im-live-offline::before {
  background: rgba(255,255,255,.3);
}

.im-live-badge.im-live-online {
  background: rgba(0,201,167,.15);
  color: var(--color-accent, #00C9A7);
  animation: im-live-pulse 2s infinite;
}

.im-live-badge.im-live-online::before {
  background: var(--color-accent, #00C9A7);
}

@keyframes im-live-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .7; }
}

/* --- Content Grid: Video + Chat --- */
.im-live-content {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
  padding-bottom: 60px;
}

/* --- Video Area --- */
.im-live-video {
  width: 100%;
}

.im-live-video-inner {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  background: #0d0d1a;
  border-radius: var(--radius-lg, 16px);
  overflow: hidden;
}

.im-live-video-inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.im-live-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.4);
  text-align: center;
  padding: 20px;
}

.im-live-placeholder-icon {
  margin-bottom: 20px;
  opacity: .3;
}

.im-live-placeholder h2 {
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: rgba(255,255,255,.5);
  text-transform: uppercase;
  margin-bottom: 8px;
}

.im-live-placeholder p {
  font-size: 0.95rem;
  color: rgba(255,255,255,.35);
  max-width: 400px;
}

.im-live-placeholder a {
  color: var(--color-primary, #0A7AFF);
  text-decoration: none;
}

.im-live-placeholder a:hover {
  text-decoration: underline;
}

/* --- Chat Sidebar --- */
.im-live-chat {
  background: rgba(255,255,255,.05);
  border-radius: var(--radius-lg, 16px);
  display: flex;
  flex-direction: column;
  max-height: calc(56.25vw * 0.72); /* roughly match video height */
  min-height: 400px;
  overflow: hidden;
}

.im-live-chat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.im-live-chat-header h3 {
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #fff;
  margin: 0;
}

.im-chat-count {
  font-size: 0.75rem;
  color: rgba(255,255,255,.4);
  font-weight: 500;
}

.im-live-chat-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}

/* Override chat plugin colors for dark theme */
.im-live-chat-body .message_box {
  background: transparent !important;
}

.im-live-chat-body .message_box .message {
  color: rgba(255,255,255,.85) !important;
}

.im-live-chat-body input[type="text"],
.im-live-chat-body textarea {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: #fff !important;
  border-radius: var(--radius-sm, 6px) !important;
}

.im-live-chat-body input[type="submit"],
.im-live-chat-body button {
  background: var(--color-primary, #0A7AFF) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-pill, 9999px) !important;
  padding: 10px 24px !important;
  font-weight: 600 !important;
}

/* --- Schedule Section --- */
.im-live-schedule-section {
  background: var(--color-charcoal-light, #2a2a3e);
  padding: 80px 0;
}

.im-live-schedule-section h2 {
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  margin-bottom: 40px;
}

.im-live-schedule {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.im-schedule-card {
  display: flex;
  gap: 20px;
  background: rgba(255,255,255,.04);
  border-radius: var(--radius-md, 10px);
  padding: 28px 24px;
  border: 1px solid rgba(255,255,255,.06);
  transition: border-color var(--transition, .25s ease);
}

.im-schedule-card:hover {
  border-color: rgba(10,122,255,.3);
}

.im-schedule-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  padding: 12px;
  background: rgba(10,122,255,.12);
  border-radius: var(--radius-sm, 6px);
}

.im-schedule-month {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary, #0A7AFF);
}

.im-schedule-day {
  font-size: 1.6rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}

.im-schedule-info h4 {
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  margin: 0 0 8px;
}

.im-schedule-info p {
  font-size: 0.88rem;
  color: rgba(255,255,255,.6);
  line-height: 1.5;
  margin: 0 0 10px;
}

.im-schedule-time {
  font-size: 0.78rem;
  color: var(--color-primary, #0A7AFF);
  font-weight: 600;
}

/* --- Live Stream Responsive --- */
@media (max-width: 1024px) {
  .im-live-content {
    grid-template-columns: 1fr;
  }

  .im-live-chat {
    max-height: 400px;
  }

  .im-live-schedule {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .im-live-header {
    padding-top: 70px;
  }

  .im-live-schedule {
    grid-template-columns: 1fr;
  }

  .im-schedule-card {
    padding: 20px 16px;
  }
}

/* --- Shop Page Centering Fix --- */
.woocommerce .site-main {
  max-width: var(--max-width, 1400px);
  margin: 0 auto;
  padding: 40px 24px;
}

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  justify-content: center;
  max-width: var(--max-width, 1400px);
  margin: 0 auto;
}

@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* --- Hide Ultimate Member Profile Completion Widget --- */
.um-profile-completeness,
.um-profile-completion,
.um-col-alt .um-left,
.um-profile-completeness-widget,
div[class*="um-profile-completeness"],
.um .um-profile-completeness {
  display: none !important;
}

/*# sourceMappingURL=style.css.map */
