/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Color Palette
 *
 * Extracted from PSD design
 * Update these variables as design tokens are finalized
 *
 * @package avidcyclist
 */
/**
 * Typography System
 *
 * Font families, sizes, weights, and line heights
 * Extracted from PSD design
 *
 * @package avidcyclist
 */
/**
 * Spacing System
 *
 * Consistent spacing scale for margins, padding, and gaps
 * Based on 4px baseline grid
 *
 * @package avidcyclist
 */
/**
 * Responsive Breakpoints
 *
 * Mobile-first approach
 * Breakpoints aligned with Tailwind CSS standards
 *
 * @package avidcyclist
 */
/**
 * SCSS Functions
 *
 * Reusable functions for calculations and conversions
 *
 * @package avidcyclist
 */
/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * SCSS Mixins & Utility Functions
 *
 * Reusable patterns for common styling needs
 *
 * @package avidcyclist
 */
/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Reset & Normalization
 *
 * Minimal CSS reset, building on browser defaults
 *
 * @package avidcyclist
 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
*::before, *::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #111827;
  background-color: #ffffff;
  transition: background-color 0.3s ease;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 1rem;
}

p {
  margin-bottom: 1rem;
}

a {
  color: #E41D27;
  text-decoration: none;
  transition: color 0.3s ease;
}
a:hover {
  color: #9a151b;
}

ul, ol {
  margin-bottom: 1rem;
  margin-left: 1.5rem;
}

li {
  margin-bottom: 0.5rem;
}

code, pre {
  font-family: "Courier New", "Courier", monospace;
  background-color: #f3f4f6;
  border-radius: 0.5rem;
  overflow-x: auto;
}

code {
  padding: 0.2em 0.4em;
  font-size: 0.9em;
}

pre {
  padding: 1rem;
  margin-bottom: 1rem;
}
pre code {
  background-color: transparent;
  padding: 0;
  font-size: inherit;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
}

th {
  text-align: left;
  font-weight: 500;
  border-bottom: 2px solid #e5e7eb;
  padding: 0.75rem;
}

td {
  border-bottom: 1px solid #e5e7eb;
  padding: 0.75rem;
}

button, input, textarea, select {
  font-family: inherit;
  font-size: inherit;
}

.wp-block-group,
.wp-container {
  margin-left: 0;
  margin-right: 0;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Typography Styles
 *
 * Heading styles, text utilities, and typography-specific rules
 *
 * @package avidcyclist
 */
body {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

h1 {
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.2;
}

h2 {
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.2;
}

h3 {
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.2;
}

h4 {
  font-size: 1.5rem;
  font-weight: 500;
}

h5 {
  font-size: 1.25rem;
  font-weight: 500;
}

h6 {
  font-size: 1.125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

h1 b, h1 strong, h2 b, h2 strong, h3 b, h3 strong, h4 b, h4 strong, h5 b, h5 strong, h6 b, h6 strong {
  font-weight: 500 !important;
}

body.archive h1,
body.blog h1,
.type-page .entry-header h1.entry-title {
  font-family: "Roboto Serif", "Georgia", "Times New Roman", serif;
  font-weight: 500;
  font-size: 2.25rem;
  margin-bottom: 3rem;
  text-transform: capitalize;
  color: #000000;
}

.blog h2.gb-text,
.blog h3.gb-text,
.blog h4.gb-text,
.blog h5.gb-text,
.type-page h2.gb-text,
.type-page h3.gb-text,
.type-page h4.gb-text,
.type-page h5.gb-text {
  font-family: "Roboto Serif", "Georgia", "Times New Roman", serif;
  font-weight: 400;
  color: #000000;
}
.blog h2,
.type-page h2 {
  font-size: 1.5rem;
}
.blog h2.wp-block-heading,
.blog h3.wp-block-heading,
.blog h4.wp-block-heading,
.blog h5.wp-block-heading,
.type-page h2.wp-block-heading,
.type-page h3.wp-block-heading,
.type-page h4.wp-block-heading,
.type-page h5.wp-block-heading {
  font-family: "Roboto Serif", "Georgia", "Times New Roman", serif;
}

.tribe-events-calendar-list__event-details .tribe-events-calendar-list__event-title,
h1.tribe-events-single-event-title {
  font-family: "Roboto Serif", "Georgia", "Times New Roman", serif !important;
}

h2.listing-title {
  font-family: "Roboto Serif", "Georgia", "Times New Roman", serif !important;
}

.wpbdp_listing h1.entry-title {
  font-family: "Roboto Serif", "Georgia", "Times New Roman", serif !important;
}

.type-post .gb-text,
.type-post .dynamic-entry-content,
.type-post .dynamic-entry-content p {
  font-family: "Roboto Serif", "Georgia", "Times New Roman", serif;
  font-size: 1rem;
  line-height: 1.5;
}
.type-post .gb-text b, .type-post .gb-text strong,
.type-post .dynamic-entry-content b,
.type-post .dynamic-entry-content strong,
.type-post .dynamic-entry-content p b,
.type-post .dynamic-entry-content p strong {
  font-weight: 600;
}
.type-post h1, .type-post h2, .type-post h3, .type-post h4, .type-post h5 {
  font-family: "Roboto Serif", "Georgia", "Times New Roman", serif;
  letter-spacing: -0.02em;
  line-height: 1.2;
  font-weight: 500;
}

article.type-post h1.entry-title,
article.type-post h2.entry-title {
  font-size: 2.813rem;
}
article.type-post h1.entry-title A,
article.type-post h2.entry-title A {
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

p {
  font-size: 1rem;
  line-height: 1.5;
}

small {
  font-size: 0.875rem;
}

strong {
  font-weight: 600;
}

em {
  font-style: italic;
}

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

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.text-justify {
  text-align: justify;
}

.font-bold {
  font-weight: 600;
}

.font-semibold {
  font-weight: 500;
}

.font-normal {
  font-weight: 300;
}

.font-light {
  font-weight: 200;
}

.uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Form Elements
 *
 * Styles for inputs, textareas, selects, and form containers
 *
 * @package avidcyclist
 */
form {
  width: 100%;
}

input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=date],
input[type=time],
input[type=search],
input[type=url],
textarea,
select {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #111827;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  transition: border-color, background-color, box-shadow 0.3s ease;
  outline: 2px solid transparent;
  outline-offset: 2px;
}
input[type=text]:focus-visible,
input[type=email]:focus-visible,
input[type=password]:focus-visible,
input[type=number]:focus-visible,
input[type=date]:focus-visible,
input[type=time]:focus-visible,
input[type=search]:focus-visible,
input[type=url]:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline-color: #E41D27;
}
input[type=text]:hover,
input[type=email]:hover,
input[type=password]:hover,
input[type=number]:hover,
input[type=date]:hover,
input[type=time]:hover,
input[type=search]:hover,
input[type=url]:hover,
textarea:hover,
select:hover {
  border-color: #d1d5db;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=number]:focus,
input[type=date]:focus,
input[type=time]:focus,
input[type=search]:focus,
input[type=url]:focus,
textarea:focus,
select:focus {
  border-color: #E41D27;
  background-color: #f9fafb;
  box-shadow: 0 0 0 3px rgba(228, 29, 39, 0.1);
}
input[type=text]:disabled,
input[type=email]:disabled,
input[type=password]:disabled,
input[type=number]:disabled,
input[type=date]:disabled,
input[type=time]:disabled,
input[type=search]:disabled,
input[type=url]:disabled,
textarea:disabled,
select:disabled {
  background-color: #f3f4f6;
  color: #6b7280;
  cursor: not-allowed;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=date]::-moz-placeholder, input[type=time]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=url]::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  color: #9ca3af;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=password]::placeholder,
input[type=number]::placeholder,
input[type=date]::placeholder,
input[type=time]::placeholder,
input[type=search]::placeholder,
input[type=url]::placeholder,
textarea::placeholder,
select::placeholder {
  color: #9ca3af;
}

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

input[type=checkbox],
input[type=radio] {
  width: auto;
  margin-right: 0.5rem;
  margin-bottom: 0;
  cursor: pointer;
}

.form-group {
  margin-bottom: 1.5rem;
}
.form-group label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: #111827;
}

.form-row {
  display: flex;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .form-row {
    gap: 2rem;
  }
}
.form-row.form-row-2 > .form-group {
  flex: 1;
}

.form-help {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #6b7280;
}

.form-error .form-help {
  color: #ef4444;
}
.form-error input,
.form-error textarea,
.form-error select {
  border-color: #ef4444;
}
.form-error input:focus,
.form-error textarea:focus,
.form-error select:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.form-success .form-help {
  color: #10b981;
}
.form-success input,
.form-success textarea,
.form-success select {
  border-color: #10b981;
}
.form-success input:focus,
.form-success textarea:focus,
.form-success select:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Button Styles
 *
 * Default and variant button styles
 *
 * @package avidcyclist
 */
button,
.button,
a.button,
.wpforms-submit,
input[type=button],
input[type=submit],
input[type=reset],
.wpforms-container .wpforms-submit-container button[type=submit] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  background-color: #ffffff;
  color: #000000;
  border: solid #ccc 1px;
  border-radius: 0;
  cursor: pointer;
  transition: background-color, border-color, color, box-shadow 0.3s ease;
  outline: 2px solid transparent;
  outline-offset: 2px;
}
button:focus-visible,
.button:focus-visible,
a.button:focus-visible,
.wpforms-submit:focus-visible,
input[type=button]:focus-visible,
input[type=submit]:focus-visible,
input[type=reset]:focus-visible,
.wpforms-container .wpforms-submit-container button[type=submit]:focus-visible {
  outline-color: #E41D27;
}
button:disabled,
.button:disabled,
a.button:disabled,
.wpforms-submit:disabled,
input[type=button]:disabled,
input[type=submit]:disabled,
input[type=reset]:disabled,
.wpforms-container .wpforms-submit-container button[type=submit]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
button:hover,
.button:hover,
a.button:hover,
.wpforms-submit:hover,
input[type=button]:hover,
input[type=submit]:hover,
input[type=reset]:hover,
.wpforms-container .wpforms-submit-container button[type=submit]:hover {
  background-color: #000000;
  text-decoration: none;
}

.wpforms-container .wpforms-submit-container button[type=submit]:not(:hover):not(:active) {
  background-color: #000000;
  border: none;
}
.wpforms-container .wpforms-submit-container button[type=submit]:not(:hover):not(:active):hover {
  background-color: #E41D27;
}

.button-primary,
button:not([class]) {
  background-color: #E41D27;
  color: #ffffff;
}
.button-primary:hover,
button:not([class]):hover {
  background-color: #9a151b;
}
.button-primary:active,
button:not([class]):active {
  background-color: rgb(182.4, 23.2, 31.2);
}

.button-secondary {
  background-color: #e5e7eb;
  color: #111827;
}
.button-secondary:hover {
  background-color: #d1d5db;
}
.button-secondary:active {
  background-color: #9ca3af;
}

.button-outline {
  background-color: transparent;
  color: #E41D27;
  border: 2px solid #E41D27;
}
.button-outline:hover {
  background-color: rgb(252.3, 232.4, 233.4);
}
.button-outline:active {
  background-color: rgb(249.6, 209.8, 211.8);
}

.button-ghost {
  background-color: transparent;
  color: #111827;
}
.button-ghost:hover {
  background-color: #f3f4f6;
}
.button-ghost:active {
  background-color: #e5e7eb;
}

.button-danger {
  background-color: #ef4444;
  color: #ffffff;
}
.button-danger:hover {
  background-color: rgb(215.1, 61.2, 61.2);
}
.button-danger:active {
  background-color: rgb(191.2, 54.4, 54.4);
}

.button-sm {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}

.button-md {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
}

.button-lg {
  padding: 1rem 2rem;
  font-size: 1.125rem;
}

.button-xl {
  padding: 1.25rem 2.5rem;
  font-size: 1.25rem;
}

.button-block {
  width: 100%;
}

.button-rounded {
  border-radius: 1rem;
}

.button-pill {
  border-radius: 9999px;
}

.woocommerce .product A.add_to_cart_button {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.woocommerce .product:hover .woocommerce-loop-product__title {
  text-decoration: underline;
}
.woocommerce .product:hover A.add_to_cart_button {
  background-color: #E41D27;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Link Styles
 *
 * Default and variant link styles
 *
 * @package avidcyclist
 */
a {
  color: #E41D27;
  text-decoration: none;
  transition: color, -webkit-text-decoration-color 0.3s ease;
  transition: color, text-decoration-color 0.3s ease;
  transition: color, text-decoration-color 0.3s ease, -webkit-text-decoration-color 0.3s ease;
}
a:hover {
  color: #9a151b;
  text-decoration: underline;
}
a:focus-visible {
  outline: 2px solid #E41D27;
  outline-offset: 2px;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: #000;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
  color: #000;
  text-decoration-thickness: 2px;
}

.link-primary {
  color: #E41D27;
}
.link-primary:hover {
  color: #9a151b;
}

.link-secondary {
  color: #5D595B;
}
.link-secondary:hover {
  color: #464344;
}

.link-success {
  color: #10b981;
}
.link-success:hover {
  color: shade(#10b981, 20%);
}

.link-danger {
  color: #ef4444;
}
.link-danger:hover {
  color: shade(#ef4444, 20%);
}

.link-muted {
  color: #6b7280;
}
.link-muted:hover {
  color: #374151;
}

.link-underline {
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.link-no-underline {
  text-decoration: none;
}
.link-no-underline:hover {
  text-decoration: none;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
#chromeperfectpixel-overlay-container {
  pointer-events: none !important;
}

#site-header .inside-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding: 2.2rem 30px !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 768px) {
  #site-header .inside-header {
    max-width: calc(100% - 2rem);
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (min-width: 1024px) {
  #site-header .inside-header {
    max-width: 1200px;
  }
}
@media (min-width: 1280px) {
  #site-header .inside-header {
    max-width: 1200px;
  }
}
#site-header .inside-header .site-branding IMG {
  width: 300px;
  max-width: 300px;
  padding-bottom: 0.8rem;
}
#site-header .inside-header .site-description,
#site-header .inside-header .site-description P {
  text-transform: uppercase;
  color: #5D595B;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-top: 10px;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Hero Section Component
 *
 * @package avidcyclist
 */
.hero {
  position: relative;
  padding: 2rem;
  background-color: #5D595B;
  color: #ffffff;
  text-align: center;
  overflow: hidden;
}
@media (min-width: 768px) {
  .hero {
    padding: 3rem 2rem;
  }
}
@media (min-width: 1024px) {
  .hero {
    padding: 3rem 4rem;
  }
}
.hero__background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  opacity: 0.8;
}
.hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  max-width: 800px;
  margin: 0 auto;
}
.hero__title {
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 0.75rem;
}
@media (min-width: 768px) {
  .hero__title {
    font-size: 2.25rem;
  }
}
@media (min-width: 1024px) {
  .hero__title {
    font-size: 2.813rem;
  }
}
.hero__subtitle {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  opacity: 0.95;
}
@media (min-width: 768px) {
  .hero__subtitle {
    font-size: 1.125rem;
  }
}
.hero__cta {
  transition: transform, background-color 0.3s ease;
}
.hero__cta:hover {
  transform: translateY(-2px);
}

.hero-banner {
  background-color: #5D595B;
  padding: 1.5rem;
  text-align: center;
  color: #ffffff;
}
@media (min-width: 768px) {
  .hero-banner {
    padding: 2rem;
  }
}
.hero-banner h2 {
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
}
.hero-banner p {
  margin-bottom: 1rem;
  font-size: 1rem;
}

.hero-featured {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
  padding: 2rem 0;
}
@media (min-width: 768px) {
  .hero-featured {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    padding: 3rem 0;
  }
}
.hero-featured__image img {
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  display: block;
}
.hero-featured__content h2 {
  font-size: 1.875rem;
  margin-bottom: 1rem;
  color: #111827;
}
.hero-featured__content p {
  font-size: 1rem;
  line-height: 1.75;
  color: #4b5563;
  margin-bottom: 1rem;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Card Component
 *
 * Flexible card component for various content types
 *
 * @package avidcyclist
 */
.card {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: box-shadow, transform 0.3s ease;
}
.card:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.card__header {
  padding: 1.5rem;
  background-color: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
}
.card__image {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.card__content {
  padding: 1.5rem;
}
.card__title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  line-height: 1.5;
}
.card__text {
  font-size: 0.875rem;
  line-height: 1.5;
  color: #4b5563;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card__footer {
  padding: 1.5rem;
  background-color: #f9fafb;
  border-top: 1px solid #e5e7eb;
}
.card__action {
  display: inline-block;
  color: #E41D27;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.3s ease;
}
.card__action:hover {
  color: #9a151b;
}
.card__meta {
  font-size: 0.75rem;
  color: #6b7280;
  margin-top: 0.75rem;
}

.card-featured {
  border-color: #E41D27;
  border-width: 2px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.card-minimal {
  border: none;
  background-color: transparent;
}
.card-minimal:hover {
  box-shadow: none;
}
.card-minimal__content {
  padding: 0;
}

.card-article {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .card-article {
    flex-direction: row;
  }
}
.card-article__image {
  width: 100%;
  height: 180px;
}
@media (min-width: 768px) {
  .card-article__image {
    width: 200px;
    height: 150px;
    flex-shrink: 0;
  }
}
.card-article__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
}

.card-rounded {
  border-radius: 1.5rem;
}

.featured-articles .card {
  margin-bottom: 1.5rem;
}
.featured-articles .card:last-child {
  margin-bottom: 0;
}
.featured-articles .card__image {
  height: 120px;
}
.featured-articles .card__title {
  font-size: 1rem;
}
.featured-articles .card__text {
  font-size: 0.75rem;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Navigation Component
 *
 * Main navigation, breadcrumbs, and nav utilities
 *
 * @package avidcyclist
 */
nav {
  background-color: #ffffff;
  position: relative;
  z-index: 100;
}

.nav__primary {
  border-top: solid #D4D4D4 1px;
  border-bottom: solid #D4D4D4 1px;
}
.nav__primary UL.gb-menu--base {
  justify-content: center;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.nav__primary UL.gb-menu--base LI {
  text-transform: uppercase;
  font-size: 14px;
}
.nav__primary UL.gb-menu--base LI A.gb-menu-link {
  -moz-column-gap: 0px;
       column-gap: 0px;
}
.nav__primary UL.gb-menu--base > LI::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 5px;
  background-color: #E41D27;
  transition: width 0.3s ease;
}
.nav__primary UL.gb-menu--base > LI:hover::before {
  width: 100%;
}
.nav__primary UL.gb-menu--base > LI > A {
  padding: 0.7rem 0;
}
.nav__primary UL.gb-menu--base > LI:hover > A {
  text-decoration: none;
  color: #E41D27;
}
.nav__primary UL.gb-menu--base > LI.current-menu-item::before, .nav__primary UL.gb-menu--base > LI.current-menu-ancestor::before {
  background-color: #000;
  width: 100%;
}
.nav__primary UL.gb-menu--base > LI.current-menu-item:hover::before, .nav__primary UL.gb-menu--base > LI.current-menu-ancestor:hover::before {
  background-color: #E41D27;
}
.nav__primary UL.gb-menu--base > LI.current-menu-item.current-menu-item > A, .nav__primary UL.gb-menu--base > LI.current-menu-ancestor.current-menu-item > A {
  font-weight: 600;
}
.nav__primary UL.gb-sub-menu {
  left: 0px;
}
.nav__primary UL.gb-sub-menu LI {
  background-color: #000000;
  color: #ffffff;
}
.nav__primary UL.gb-sub-menu LI A {
  padding: 0.5rem 0.7rem;
  color: #ffffff;
}
.nav__primary UL.gb-sub-menu LI A:hover {
  color: #ffffff;
  text-decoration: none;
  background-color: #9a151b;
}

.nav__brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.nav__brand img {
  height: 40px;
  width: auto;
}
@media (min-width: 768px) {
  .nav__brand img {
    height: 50px;
  }
}
.nav__brand a {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.nav__utilities UL {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 0;
  margin: 0;
}
.nav__utilities LI {
  list-style-type: none;
}
.nav__utilities LI.menu-item {
  color: black;
  border: solid #ccc 1px;
  border-right: none;
  font-size: 12px;
  text-transform: uppercase;
}
.nav__utilities LI.menu-item:last-child {
  border-right: solid #ccc 1px;
}
.nav__utilities LI.menu-item A {
  padding: 0.3rem 0.6rem;
  color: black;
}
.nav__utilities LI.menu-item A:hover {
  text-decoration: none;
  background-color: #000000;
  color: #ffffff;
}
.nav__utilities LI.menu-item .cart-link i {
  margin-right: 0.25rem;
}
.nav__utilities LI.menu-item .cart-link .cart-count {
  font-weight: 600;
}
.nav__utilities LI.astm-search-menu {
  border: 0;
  padding-top: 0.6rem;
  padding-right: 1rem;
}
.nav__utilities LI.astm-search-menu .search-icon {
  width: 28px;
  height: 28px;
}
.nav__utilities LI.dark, .nav__utilities LI.bp-menu {
  background-color: black;
  border: solid #000 1px;
}
.nav__utilities LI.dark A, .nav__utilities LI.bp-menu A {
  color: #fff;
}

.nav__search {
  display: none;
}
@media (min-width: 768px) {
  .nav__search {
    display: flex;
  }
}
.nav__search input {
  padding: 0.5rem 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  width: 200px;
}
.nav__search input:focus {
  outline: none;
  border-color: #E41D27;
}
.nav__search button {
  background-color: #E41D27;
  color: #ffffff;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  font-weight: 500;
  transition: background-color 0.3s ease;
}
.nav__search button:hover {
  background-color: #9a151b;
}

.nav__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .nav__list {
    gap: 2rem;
  }
}

.nav__item {
  margin: 0;
}

.nav__link {
  display: inline-block;
  padding: 0.5rem 1rem;
  color: #111827;
  font-weight: 400;
  transition: color 0.3s ease;
}
.nav__link:hover {
  color: #E41D27;
  text-decoration: none;
}
.nav__link.active {
  color: #E41D27;
  border-bottom: 2px solid #E41D27;
}

.nav-mobile {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ffffff;
  z-index: 1050;
  overflow-y: auto;
}
.nav-mobile.is-open {
  display: flex;
  flex-direction: column;
}

.nav-toggle {
  display: none;
  background-color: transparent;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .nav-toggle {
    display: block;
  }
}

.breadcrumb {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.breadcrumb__item {
  margin: 0;
}

.breadcrumb__link {
  color: #E41D27;
}
.breadcrumb__link:hover {
  text-decoration: underline;
}

.breadcrumb__separator {
  color: #9ca3af;
  margin: 0 0.5rem;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Footer Component
 *
 * Site footer and footer-related components
 *
 * @package avidcyclist
 */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

#page {
  display: flex;
  flex-direction: column;
  flex: 1;
}

#content {
  flex: 1;
}

div#content {
  padding-bottom: 8rem;
}

.site-footer {
  background-color: #333333;
  color: #ffffff;
  padding: 3rem 1.5rem;
}
@media (min-width: 768px) {
  .site-footer {
    padding: 4rem 2rem;
  }
}
@media (min-width: 1024px) {
  .site-footer {
    padding: 8rem 4rem;
  }
}

.inside-footer {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 768px) {
  .inside-footer {
    max-width: calc(100% - 2rem);
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (min-width: 1024px) {
  .inside-footer {
    max-width: 1200px;
  }
}
@media (min-width: 1280px) {
  .inside-footer {
    max-width: 1200px;
  }
}
@media (min-width: 768px) {
  .inside-footer {
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
  }
}
@media (min-width: 1024px) {
  .inside-footer {
    grid-template-columns: repeat(3, 1fr);
  }
}

.footer__logo IMG {
  width: 167px;
  max-width: 167px;
  padding-bottom: 3rem;
}

.nav__social,
.nav__footer {
  margin: 0;
  padding: 0;
  background-color: transparent;
}
.nav__social UL.menu,
.nav__footer UL.menu {
  margin: 0;
  padding: 0;
  background-color: transparent;
}
.nav__social UL.menu LI,
.nav__footer UL.menu LI {
  list-style-type: none;
}

.nav__social UL {
  display: flex;
  flex-direction: row;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.nav__social UL LI A {
  display: block;
  width: 38px;
  height: 38px;
  border: solid #9A9593 1px;
  border-radius: 38px;
  padding: 10px;
  font-size: 0;
  text-indent: -9999px;
  filter: invert(60%) brightness(110%);
}
.nav__social UL LI A:hover {
  border: solid #000 1px;
  filter: invert(100%) brightness(100%);
}
.nav__social UL LI.facebook A {
  background: url("assets/images/facebook.svg") no-repeat center center;
}
.nav__social UL LI.instagram A {
  background: url("assets/images/instagram.svg") no-repeat center center;
}
.nav__social UL LI.linkedin A {
  background: url("assets/images/linkedin.svg") no-repeat center center;
}
.nav__social UL LI.youtube A {
  background: url("assets/images/youtube.svg") no-repeat center center;
}

.nav__footer UL LI {
  text-transform: uppercase;
  font-size: 14px;
  color: #9A9593;
}
.nav__footer UL LI A {
  color: #9A9593;
}
.nav__footer UL LI A:hover {
  color: #ffffff;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Forms Component
 *
 * Klaviyo newsletter signup and general form styles
 *
 * @package avidcyclist
 */
.klaviyo-form-wrapper {
  width: 100%;
  background-color: #464344;
}

.klaviyo-form-inner {
  max-width: 792px;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem;
  padding-left: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 768px) {
  .klaviyo-form-inner {
    padding: 2rem;
    padding-left: 0;
    grid-template-columns: 1fr 1.3fr;
    margin-left: calc((100vw - 1200px) / 2 + 2rem);
    margin-right: auto;
  }
}
@media (min-width: 1024px) {
  .klaviyo-form-inner {
    margin-left: calc((100vw - 1200px) / 2 + 2rem);
  }
}

.klaviyo-form-intro h3 {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #ffffff;
  margin: 0 0 0.25rem;
}
.klaviyo-form-intro p {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #ffffff;
  margin: 0;
}

.klaviyo-form {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.klaviyo-form .form-row {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
@media (min-width: 768px) {
  .klaviyo-form .form-row {
    flex-direction: row;
    align-items: flex-start;
    gap: 1px;
  }
}
.klaviyo-form .form-field {
  flex: 1;
}
.klaviyo-form .form-field input {
  width: 100%;
  height: 48px;
  padding: 0.75rem 1rem;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  color: #ffffff;
  background-color: #5D595B;
  border: 1px solid #5D595B;
  border-radius: 0;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.klaviyo-form .form-field input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.klaviyo-form .form-field input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.klaviyo-form .form-field input:focus {
  outline: none;
  border-color: #E41D27;
  box-shadow: 0 0 0 3px rgba(228, 29, 39, 0.1);
}
.klaviyo-form .form-field input:hover:not(:focus) {
  border-color: #d1d5db;
}
.klaviyo-form .form-field input[aria-invalid=true] {
  border-color: #ef4444;
}
.klaviyo-form button[type=submit] {
  height: 48px;
  padding: 0 2rem;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #ffffff;
  background-color: #E41D27;
  border: none;
  border-radius: 0;
  cursor: pointer;
  text-transform: uppercase;
  transition: background-color 0.2s ease, transform 0.1s ease;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .klaviyo-form button[type=submit] {
    min-width: 150px;
  }
}
.klaviyo-form button[type=submit]:hover {
  background-color: #9a151b;
}
.klaviyo-form button[type=submit]:active {
  transform: translateY(1px);
}
.klaviyo-form button[type=submit]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(228, 29, 39, 0.3);
}
.klaviyo-form button[type=submit]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Business Directory Component
 *
 * Styles for Business Directory Plugin integration
 *
 * @package avidcyclist
 */
.directory-listing {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: box-shadow, transform 0.3s ease;
}
.directory-listing:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

.listing-image {
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.listing-content {
  padding: 1.5rem;
}

.listing-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.listing-title a {
  color: #111827;
}
.listing-title a:hover {
  color: #E41D27;
}

.listing-category {
  display: inline-block;
  font-size: 0.875rem;
  color: #ffffff;
  background-color: #E41D27;
  padding: 0.25rem 0.75rem;
  border-radius: 0.5rem;
  margin-bottom: 0.75rem;
  text-decoration: none;
}

.listing-address {
  font-size: 0.875rem;
  color: #4b5563;
  margin-bottom: 0.5rem;
}

.listing-phone {
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}
.listing-phone a {
  color: #E41D27;
}

.listing-excerpt {
  font-size: 1rem;
  line-height: 1.5;
  color: #4b5563;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.listings-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .listings-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
}
@media (min-width: 1024px) {
  .listings-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.listings-map {
  width: 100%;
  height: 500px;
  border-radius: 0.75rem;
  overflow: hidden;
  margin-bottom: 2rem;
}
.listings-map iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.directory-filters {
  background-color: #f9fafb;
  padding: 1.5rem;
  border-radius: 0.75rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .directory-filters {
    padding: 2rem;
  }
}

.filter-group {
  margin-bottom: 1.5rem;
}
.filter-group:last-child {
  margin-bottom: 0;
}

.filter-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: #111827;
}

.filter-select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  font-size: 1rem;
}

.avidcycads-homepage-above-content {
  margin: 0 auto 2rem auto;
  text-align: center;
}

.avidcycads-homepage-below-content {
  margin: 2rem auto;
  text-align: center;
}

.avidcycads-homepage-above-footer {
  margin: 2rem auto 4rem auto;
  text-align: center;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Gutenberg Block Styles
 *
 * Styling for core and custom Gutenberg blocks
 *
 * @package avidcyclist
 */
.wp-block-paragraph {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}

.wp-block-heading {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 1rem;
}

.wp-block-columns {
  margin-bottom: 1.5rem;
}

.wp-block-column {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .wp-block-column {
    margin-bottom: 0;
  }
}

.wp-block-gallery {
  margin-bottom: 1.5rem;
}
.wp-block-gallery figure {
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .wp-block-gallery figure {
    margin-bottom: 0;
  }
}
.wp-block-gallery img {
  border-radius: 0.5rem;
}

.wp-block-button {
  margin-bottom: 1rem;
}
.wp-block-quote {
  border-left: 4px solid #E41D27;
  padding-left: 1.5rem;
  margin-left: 0;
  margin-bottom: 1.5rem;
  font-style: italic;
  color: #4b5563;
}
.wp-block-quote footer {
  font-style: normal;
  font-size: 0.875rem;
  color: #4b5563;
  margin-top: 0.5rem;
}

.wp-block-image {
  margin-bottom: 1.5rem;
}
.wp-block-image img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}
.wp-block-image.alignleft {
  float: left;
  margin-right: 1.5rem;
  margin-bottom: 1.5rem;
}
.wp-block-image.alignright {
  float: right;
  margin-left: 1.5rem;
  margin-bottom: 1.5rem;
}

.wp-block-table {
  margin-bottom: 1.5rem;
}
.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}
.wp-block-table table th,
.wp-block-table table td {
  border: 1px solid #e5e7eb;
  padding: 0.75rem;
  text-align: left;
}
.wp-block-table table th {
  background-color: #f3f4f6;
  font-weight: 600;
}

.wp-block-separator {
  border: none;
  border-top: 1px solid #e5e7eb;
  margin: 2rem 0;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Archive Page Layouts
 *
 * Styles for archive pages, post listings, and pagination
 *
 * @package avidcyclist
 */
BODY.archive .page-header {
  margin-bottom: 3rem;
}
BODY.archive .page-header .page-title {
  font-family: "Roboto Serif", "Georgia", "Times New Roman", serif;
  font-size: 2.813rem;
  margin-bottom: 1rem;
  text-transform: capitalize;
  font-weight: 600;
}
BODY.archive .page-header .archive-description {
  font-size: 1.125rem;
  color: #4b5563;
  line-height: 1.75;
}

.posts-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .posts-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
}
@media (min-width: 1024px) {
  .posts-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.post-item {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: box-shadow, transform 0.3s ease;
  display: flex;
  flex-direction: column;
}
.post-item:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.post-item .post-thumbnail {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.post-item .post-content {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.post-item .post-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.post-item .post-title a {
  color: #111827;
}
.post-item .post-title a:hover {
  color: #E41D27;
}
.post-item .post-meta {
  font-size: 0.875rem;
  color: #4b5563;
  margin-bottom: 0.75rem;
}
.post-item .post-excerpt {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.5;
  margin-bottom: 1rem;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-item .post-link {
  display: inline-block;
  color: #E41D27;
  font-weight: 500;
}

.archive-with-sidebar {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .archive-with-sidebar {
    grid-template-columns: 1fr 300px;
    gap: 3rem;
  }
}
@media (min-width: 1024px) {
  .archive-with-sidebar {
    grid-template-columns: 1fr 350px;
    gap: 4rem;
  }
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 3rem;
  justify-content: center;
  flex-wrap: wrap;
}

.page-numbers {
  display: inline-block;
  padding: 0.5rem 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  color: #111827;
  text-decoration: none;
  transition: background-color, border-color 0.3s ease;
}
.page-numbers:hover:not(.page-numbers.dots) {
  background-color: #E41D27;
  border-color: #E41D27;
  color: #ffffff;
}
.page-numbers.current {
  background-color: #E41D27;
  border-color: #E41D27;
  color: #ffffff;
}
.page-numbers.dots {
  border: none;
  padding: 0.5rem;
  cursor: default;
}

.prev,
.next {
  display: inline-block;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Business Directory Page Layouts
 *
 * Specific styles for Business Directory Plugin pages
 *
 * @package avidcyclist
 */
.wpbdp-page,
.wpbdp-page input,
.wpbdp_listing .entry-content,
.directory-breadcrumb a {
  font-family: "Roboto", Helvetica, Arial, sans-serif !important;
}

.wpbdp-button {
  border-radius: 0;
  padding: 8px;
  font-size: 12px !important;
  text-transform: uppercase;
}

.wpbdp-categories-wrapper {
  padding-right: 40px;
}

.wpbdp-sidebar-filters {
  border: none !important;
}

.wpbdp-sidebar-title {
  display: none;
  background-color: #fff !important;
  border: none !important;
  font-weight: 800;
  font-size: 16px !important;
}

ul.wpbdp-categories .cat-item a {
  color: #000 !important;
  font-size: 14px !important;
}
ul.wpbdp-categories .cat-item span.item-count {
  color: #000;
  background-color: #eee;
}
ul.wpbdp-categories .cat-item:hover span.item-count {
  background-color: #ddd;
}

.wpbdp-map {
  margin-bottom: 2rem !important;
}

.wpbdp-listing-excerpt {
  border: none !important;
  border-bottom: 1px solid #d5d8dc !important;
  padding-bottom: 2rem !important;
}
.wpbdp-listing-excerpt .listing-thumbnail img {
  border: none !important;
}
.wpbdp-listing-excerpt .listing-title,
.wpbdp-listing-excerpt .listing-title A {
  color: #000 !important;
  font-weight: 600;
}
.wpbdp-listing-excerpt .listing-details-body {
  padding-right: 20px !important;
}
.wpbdp-listing-excerpt .listing-details-contact {
  border-left: 2px dotted #d5d8dc !important;
  padding-left: 20px !important;
}

.wpbdp-search-page-header {
  border: none !important;
  margin-bottom: 0 !important;
}

.wpbdp-search-page-header-body {
  padding: 0 !important;
}

.wpbdp-search-page-header-footer {
  border: none !important;
  background-color: transparent !important;
  padding-left: 0 !important;
}

#listing-other .claim-form-wrapper {
  border: 0;
}
#listing-other .wpbdp-claim-listings.open {
  border: 1px solid red;
  padding: 20px;
  border-radius: 5px;
  margin: 2rem 0;
  font-weight: 800;
  font-size: 0.7rem;
}
#listing-other .wpbdp-claim-listings.open P {
  margin-bottom: 0;
}
#listing-other .wpbdp-claim-listings.open A {
  color: red;
  font-weight: bold;
}

/* Business Directory Styling */
/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Events Page Layouts
 *
 * Specific styles for Events Plugin pages
 *
 * @package avidcyclist
 */
.tribe-common h1, .tribe-common h2, .tribe-common h3, .tribe-common h4, .tribe-common h5, .tribe-common h6, .tribe-common p,
.tribe-common .tribe-common-h1, .tribe-common .tribe-common-h2, .tribe-common .tribe-common-h3,
.tribe-common .tribe-common-h4, .tribe-common .tribe-common-h5, .tribe-common .tribe-common-h6,
.tribe-common .tribe-common-b1 {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}

.tribe-events-single-event-title,
.tribe-events-content {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}

.tribe-events-content p, .tribe-events-content ol, .tribe-events-content ul {
  font-size: 1rem;
}

.one-container.single-tribe_events .site-content {
  padding-top: 2rem;
}

#tribe-events-pg-template,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}

.tribe-events-event-image img.size-full {
  width: 100%;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * Homepage Layout
 *
 * Specific styles for the Avid Cyclist homepage
 *
 * @package avidcyclist
 */
body.home-page .site-content {
  padding: 30px 30px 0px 30px !important;
}

#page {
  width: 100%;
}

.news-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-flow: row;
  gap: 1rem;
}
@media (min-width: 768px) {
  .news-row {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .news-row {
    grid-template-columns: repeat(3, 1fr);
  }
}
.news-row .post-term {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.5rem;
  margin-bottom: 0;
  margin-top: 0.25rem;
}
.news-row h3.gb-headline {
  margin-top: 0px;
}

h2.more-news-header {
  border-top: solid #d1d5db 1px;
  padding-top: 1rem;
  font-family: "Roboto", Helvetica, Arial, sans-serif !important;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600 !important;
  color: #E41D27 !important;
}

.featured-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 3rem;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .featured-section {
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
  }
}
@media (min-width: 1024px) {
  .featured-section {
    grid-template-columns: 1.5fr 1fr;
    gap: 4rem;
  }
}

.featured-main img {
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  display: block;
  margin-bottom: 1.5rem;
}
.featured-main h2 {
  font-size: 1.875rem;
  margin-bottom: 1rem;
  color: #111827;
}
.featured-main p {
  font-size: 1rem;
  line-height: 1.75;
  color: #4b5563;
  margin-bottom: 1rem;
}
.featured-main .more-link {
  color: #E41D27;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.3s ease;
}
.featured-main .more-link:hover {
  color: #9a151b;
}

.featured-sidebar h3 {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  color: #E41D27;
  border-bottom: 2px solid #E41D27;
  padding-bottom: 1rem;
}
@media (min-width: 768px) {
  .featured-sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: 2rem;
  }
}

.articles-section {
  margin-bottom: 3rem;
}
.articles-section h2 {
  font-size: 1.875rem;
  margin-bottom: 2rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #E41D27;
}

.articles-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .articles-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
}
@media (min-width: 1024px) {
  .articles-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.find-section {
  margin-bottom: 3rem;
}
.find-section h2 {
  font-size: 1.875rem;
  margin-bottom: 2rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #E41D27;
}

.find-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .find-content {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
}
@media (min-width: 1024px) {
  .find-content {
    grid-template-columns: repeat(3, 1fr);
  }
}
.find-content .find-item {
  position: relative;
  border-radius: 0.75rem;
  overflow: hidden;
  min-height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.find-content .find-item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
.find-content .find-item .find-item__content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #ffffff;
}
.find-content .find-item .find-item__content h3 {
  font-size: 1.5rem;
  font-weight: 600;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.find-content .find-item .find-item__content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: -1;
}

.sponsors-section {
  margin-bottom: 3rem;
}
.sponsors-section h2 {
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 2rem;
  color: #374151;
}

.sponsors-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .sponsors-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}
@media (min-width: 1024px) {
  .sponsors-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem;
  }
}
.sponsors-grid .sponsor-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  min-height: 100px;
  transition: box-shadow 0.3s ease;
}
.sponsors-grid .sponsor-item img {
  max-width: 100%;
  max-height: 80px;
  width: auto;
  height: auto;
}
.sponsors-grid .sponsor-item:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.mixed-content-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .mixed-content-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
}
@media (min-width: 1024px) {
  .mixed-content-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.mixed-content-grid .content-item {
  position: relative;
  border-radius: 0.75rem;
  overflow: hidden;
  min-height: 200px;
  display: flex;
  align-items: flex-end;
  background-color: #e5e7eb;
}
.mixed-content-grid .content-item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
.mixed-content-grid .content-item .content-item__info {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
  width: 100%;
  padding: 1.5rem;
  color: #ffffff;
}
.mixed-content-grid .content-item .content-item__info h3 {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0;
}
.mixed-content-grid .content-item .content-item__info p {
  font-size: 0.875rem;
  margin: 0;
}

.testimonials-section {
  margin-bottom: 3rem;
  background-color: #f9fafb;
  padding: 2rem;
  border-radius: 0.75rem;
}
@media (min-width: 768px) {
  .testimonials-section {
    padding: 3rem;
  }
}
.testimonials-section h2 {
  font-size: 1.5rem;
  margin-bottom: 2rem;
  text-align: center;
}
.testimonials-section .testimonial {
  background-color: #ffffff;
  padding: 1.5rem;
  border-left: 4px solid #E41D27;
  margin-bottom: 1.5rem;
  font-style: italic;
}
.testimonials-section .testimonial p {
  margin-bottom: 0.5rem;
  color: #4b5563;
}
.testimonials-section .testimonial .author {
  font-style: normal;
  font-weight: 500;
  color: #111827;
  font-size: 0.875rem;
}

.is-popup-search-form form.is-form-style.is-form-style-3 input.is-search-input {
  height: 4rem;
  padding: 0 1.5rem;
  font-size: 1.8rem !important;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}
.is-popup-search-form form.is-form-style.is-form-style-3 .is-search-icon {
  height: 4rem;
  display: inline-block;
  width: 4rem;
}
.is-popup-search-form form.is-form-style.is-form-style-3 .is-search-icon svg {
  margin: 0.5rem 1rem;
  height: 2rem;
  width: 2rem;
}

BODY.woocommerce-shop .site-content {
  padding-top: 0;
}

/*
Theme Name: Avid Cyclist
Theme URI: https://avidcyclist.com
Description: GeneratePress child theme for Avid Cyclist redesign
Author: Avid Cyclist
Author URI: https://avidcyclist.com
Template: generatepress
Version: 1.0.0
Text Domain: avidcyclist
Domain Path: /languages
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* This file is intentionally minimal.
   All styling is compiled from assets/scss/ by CodeKit.
   The compiled output (assets/css/style.css) is enqueued in functions.php
*/
/**
 * GeneratePress Theme Overrides
 *
 * Custom modifications to GeneratePress default styles
 *
 * @package avidcyclist
 */

/*# sourceMappingURL=style.css.map */