.wp-block-columns.cosw-columns-full-width {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: clamp(1.5rem, 5vw, 4rem);
  padding-right: clamp(1.5rem, 5vw, 4rem);
  box-sizing: border-box;
  /*removes margins from column sections*/
  margin-bottom: 0px;
  margin-top: 0px;
}

.wp-block-columns.cosw-columns-full-width.is-layout-flex {
  justify-content: center !important;
}

/* When wrapper exists, override flex behavior on outer container - wrapper handles layout */
.wp-block-columns.cosw-columns-full-width:has(> .cosw-columns-content-wrapper) {
  display: block !important;
}

.wp-block-columns.cosw-columns-full-width:has(
    > .cosw-columns-content-wrapper
  ).is-layout-flex {
  display: block !important;
}

/* Padding is now handled by Bootstrap utility classes (pt-0, pt-3, pt-4, pt-5, pb-0, pb-3, pb-4, pb-5) */

.wp-block-columns.cosw-columns-full-width.alignwide,
.wp-block-columns.cosw-columns-full-width.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.wp-block-columns.cosw-columns-bg-white {
  background-color: #ffffff;
  min-height: 256px;
}

.wp-block-columns.cosw-columns-bg-blue {
  background-color: #0033a0;
  color: #ffffff;
}

.wp-block-columns.cosw-columns-bg-blue a {
  color: inherit;
}

.wp-block-columns.cosw-columns-bg-mid-blue {
  background-color: #1e8aff;
  color: #000;
}

.wp-block-columns.cosw-columns-bg-mid-blue a {
  color: inherit;
}

.wp-block-columns.cosw-columns-bg-mid-blue h1,
.wp-block-columns.cosw-columns-bg-mid-blue h2,
.wp-block-columns.cosw-columns-bg-mid-blue h3,
.wp-block-columns.cosw-columns-bg-mid-blue h4,
.wp-block-columns.cosw-columns-bg-mid-blue h5,
.wp-block-columns.cosw-columns-bg-mid-blue h6 {
  color: #0033a0 !important;
}

.wp-block-columns.cosw-columns-bg-mid-blue p,
.wp-block-columns.cosw-columns-bg-mid-blue li,
.wp-block-columns.cosw-columns-bg-mid-blue .wp-block-column {
  color: #000 !important;
}

.wp-block-columns.cosw-columns-bg-yellow {
  background-color: #ffdc00;
}

.wp-block-columns.cosw-columns-bg-light-blue {
  background-color: #c7e2ff;
}

.wp-block-columns.cosw-columns-bg-green,
.wp-block-columns.cosw-columns-bg-turquoise {
  background-color: #4cbcc0;
  color: #032b35;
}

.wp-block-columns.cosw-columns-bg-green a,
.wp-block-columns.cosw-columns-bg-turquoise a {
  color: inherit;
}

.wp-block-columns.cosw-columns-bg-sunset {
  background-color: #ffa360;
}

.wp-block-columns.cosw-columns-bg-blue .wp-block-column,
.wp-block-columns.cosw-columns-bg-mid-blue .wp-block-column,
.wp-block-columns.cosw-columns-bg-green .wp-block-column,
.wp-block-columns.cosw-columns-bg-turquoise .wp-block-column {
  color: inherit;
}

/* Heading Colors Based on Background Color */
/* Yellow, Green, Light Blue, White, Sunset backgrounds: headings in #0033A0 */
.wp-block-columns.cosw-columns-bg-yellow h1,
.wp-block-columns.cosw-columns-bg-yellow h2,
.wp-block-columns.cosw-columns-bg-yellow h3,
.wp-block-columns.cosw-columns-bg-green h1,
.wp-block-columns.cosw-columns-bg-green h2,
.wp-block-columns.cosw-columns-bg-green h3,
.wp-block-columns.cosw-columns-bg-turquoise h1,
.wp-block-columns.cosw-columns-bg-turquoise h2,
.wp-block-columns.cosw-columns-bg-turquoise h3,
.wp-block-columns.cosw-columns-bg-light-blue h1,
.wp-block-columns.cosw-columns-bg-light-blue h2,
.wp-block-columns.cosw-columns-bg-light-blue h3,
.wp-block-columns.cosw-columns-bg-white h1,
.wp-block-columns.cosw-columns-bg-white h2,
.wp-block-columns.cosw-columns-bg-white h3,
.wp-block-columns.cosw-columns-bg-sunset h1,
.wp-block-columns.cosw-columns-bg-sunset h2,
.wp-block-columns.cosw-columns-bg-sunset h3 {
  color: #0033a0;
}

/* Blue background: headings in white */
.wp-block-columns.cosw-columns-bg-blue h1,
.wp-block-columns.cosw-columns-bg-blue h2,
.wp-block-columns.cosw-columns-bg-blue h3 {
  color: #ffffff !important;
}

/* Manual Text Color Overrides - Apply to all text elements */
/* White text (#fff) - overrides automatic colors */
.wp-block-columns.cosw-columns-text-white {
  color: #ffffff !important;
}

.wp-block-columns.cosw-columns-text-white h1,
.wp-block-columns.cosw-columns-text-white h2,
.wp-block-columns.cosw-columns-text-white h3,
.wp-block-columns.cosw-columns-text-white h4,
.wp-block-columns.cosw-columns-text-white h5,
.wp-block-columns.cosw-columns-text-white h6 {
  color: #ffffff !important;
}

.wp-block-columns.cosw-columns-text-white p,
.wp-block-columns.cosw-columns-text-white li,
.wp-block-columns.cosw-columns-text-white
  span:not([class*="sr-only"]):not([aria-hidden="true"]),
.wp-block-columns.cosw-columns-text-white .wp-block-column {
  color: #ffffff !important;
}

.wp-block-columns.cosw-columns-text-white a {
  color: #ffffff !important;
}

.wp-block-columns.cosw-columns-text-white a:hover,
.wp-block-columns.cosw-columns-text-white a:focus {
  color: #ffdc00 !important; /* Yellow hover for contrast */
}

/* Wildcat Blue text (#0033A0) - overrides automatic colors */
.wp-block-columns.cosw-columns-text-wildcat-blue {
  color: #0033a0 !important;
}

.wp-block-columns.cosw-columns-text-wildcat-blue h1,
.wp-block-columns.cosw-columns-text-wildcat-blue h2,
.wp-block-columns.cosw-columns-text-wildcat-blue h3,
.wp-block-columns.cosw-columns-text-wildcat-blue h4,
.wp-block-columns.cosw-columns-text-wildcat-blue h5,
.wp-block-columns.cosw-columns-text-wildcat-blue h6 {
  color: #0033a0 !important;
}

.wp-block-columns.cosw-columns-text-wildcat-blue p,
.wp-block-columns.cosw-columns-text-wildcat-blue li,
.wp-block-columns.cosw-columns-text-wildcat-blue
  span:not([class*="sr-only"]):not([aria-hidden="true"]),
.wp-block-columns.cosw-columns-text-wildcat-blue .wp-block-column {
  color: #0033a0 !important;
}

.wp-block-columns.cosw-columns-text-wildcat-blue a {
  color: #0033a0 !important;
}

.wp-block-columns.cosw-columns-text-wildcat-blue a:hover,
.wp-block-columns.cosw-columns-text-wildcat-blue a:focus {
  color: #001f66 !important; /* Darker blue on hover */
}

/* Light Blue text (#1E8AFF) - overrides automatic colors */
.wp-block-columns.cosw-columns-text-light-blue {
  color: #1e8aff !important;
}

.wp-block-columns.cosw-columns-text-light-blue h1,
.wp-block-columns.cosw-columns-text-light-blue h2,
.wp-block-columns.cosw-columns-text-light-blue h3,
.wp-block-columns.cosw-columns-text-light-blue h4,
.wp-block-columns.cosw-columns-text-light-blue h5,
.wp-block-columns.cosw-columns-text-light-blue h6 {
  color: #1e8aff !important;
}

.wp-block-columns.cosw-columns-text-light-blue p,
.wp-block-columns.cosw-columns-text-light-blue li,
.wp-block-columns.cosw-columns-text-light-blue
  span:not([class*="sr-only"]):not([aria-hidden="true"]),
.wp-block-columns.cosw-columns-text-light-blue .wp-block-column {
  color: #1e8aff !important;
}

.wp-block-columns.cosw-columns-text-light-blue a {
  color: #1e8aff !important;
}

.wp-block-columns.cosw-columns-text-light-blue a:hover,
.wp-block-columns.cosw-columns-text-light-blue a:focus {
  color: #0033a0 !important; /* Wildcat blue on hover */
}

/* Background Images */
.wp-block-columns.cosw-columns-bg-image-stars {
  background-image: url("stars.png");
  background-position: center center;
  background-size: cover;
  background-repeat: repeat;
}

.wp-block-columns.cosw-columns-bg-image-dashed {
  background-image: url("dashed.png");
  background-position: center center;
  background-size: cover;
  background-repeat: repeat;
}

.wp-block-columns.cosw-columns-bg-image-gray-bricks {
  background-image: url("gray-bricks.png");
  background-position: center center;
  background-size: cover;
  background-repeat: repeat;
}

.wp-block-columns.cosw-columns-bg-image-sunset-bricks {
  background-image: url("sunset-bricks.png");
  background-position: center center;
  background-size: cover;
  background-repeat: repeat;
}

.wp-block-columns.cosw-columns-bg-image-blue-bricks {
  background-image: url("blue-bricks.png");
  background-position: center center;
  background-size: cover;
  background-repeat: repeat;
}

.wp-block-columns.cosw-columns-bg-image-dirt {
  background-image: url("dirt.png");
  background-position: center center;
  background-size: cover;
  background-repeat: repeat;
}

.wp-block-columns.cosw-columns-bg-image-gatton {
  background-image: url("gatton.png");
  background-position: center center;
  background-size: cover;
  background-repeat: repeat;
}

.wp-block-columns.cosw-columns-bg-image-willy-t {
  background-image: url("willy-t.png");
  background-position: center center;
  background-size: cover;
  background-repeat: repeat;
}

.wp-block-columns.cosw-columns-bg-image-wildcat {
  background-image: url("wildcat.png");
  background-position: center center;
  background-size: cover;
  background-repeat: repeat;
}

.wp-block-columns.cosw-columns-full-width > .wp-block-column {
  padding-top: clamp(1.5rem, 4vw, 3rem);
  padding-bottom: clamp(1.5rem, 4vw, 3rem);
}

/* Remove full-width inner padding when options are enabled */
.wp-block-columns.cosw-columns-full-width.cosw-columns-full-width-pt-none > .wp-block-column {
  padding-top: 0;
}

body.wp-admin .editor-styles-wrapper .wp-block-columns.cosw-columns-full-width {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.wp-block-columns.cosw-columns-has-clouds {
  position: relative;
  overflow: hidden;
}

.wp-block-columns.cosw-columns-has-clouds::before,
.wp-block-columns.cosw-columns-has-clouds::after {
  content: "";
  position: absolute;
  top: -20%;
  left: calc(44% - 50vw);
  width: 110vw;
  height: 150%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.55;
  background-repeat: no-repeat;
}

.wp-block-columns.cosw-columns-has-clouds::before {
  background-image: url("Cloud-1.svg"), url("Cloud-3.svg"), url("Cloud5.svg");
  background-size:
    260px 150px,
    220px 130px,
    240px 140px;
  background-position:
    -20% 12%,
    35% 25%,
    8% 78%;
  animation: cosw-cloud-drift-left 32s ease-in-out infinite;
}

.wp-block-columns.cosw-columns-has-clouds::after {
  background-image: url("Cloud-2.svg"), url("Cloud4.svg");
  background-size:
    220px 130px,
    260px 150px;
  background-position:
    50% 22%,
    100% 40%;
  animation: cosw-cloud-drift-right 42s ease-in-out infinite;
  opacity: 0.45;
}

.wp-block-columns.cosw-columns-has-clouds > .wp-block-column {
  position: relative;
  z-index: 1;
}

@keyframes cosw-cloud-drift-left {
  0% {
    background-position:
      -20% 12%,
      35% 25%,
      8% 78%;
    transform: translateX(0);
  }
  33% {
    background-position:
      -10% 10%,
      40% 20%,
      15% 74%;
    transform: translateX(3%);
  }
  66% {
    background-position:
      -15% 13%,
      32% 28%,
      11% 80%;
    transform: translateX(6%);
  }
  100% {
    background-position:
      -20% 12%,
      35% 25%,
      8% 78%;
    transform: translateX(0);
  }
}

@keyframes cosw-cloud-drift-right {
  0% {
    background-position:
      50% 22%,
      100% 40%;
    transform: translateX(0);
  }
  33% {
    background-position:
      45% 26%,
      95% 43%;
    transform: translateX(-3%);
  }
  66% {
    background-position:
      56% 18%,
      108% 37%;
    transform: translateX(-5%);
  }
  100% {
    background-position:
      50% 22%,
      100% 40%;
    transform: translateX(0);
  }
}

@media (max-width: 782px) {
  .wp-block-columns.cosw-columns-full-width {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

/* Min-width for all column blocks except full-width */
.wp-block-columns:not(.cosw-columns-full-width) {
  /*min-width: 1280px !important;*/
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

/* Ensure columns break out of parent container constraints if needed */
.wp-block-group > .wp-block-columns:not(.cosw-columns-full-width),
.container > .wp-block-columns:not(.cosw-columns-full-width),
.wp-block-cover > .wp-block-columns:not(.cosw-columns-full-width),
[class*="container"] > .wp-block-columns:not(.cosw-columns-full-width) {
  /*min-width: 1280px !important;*/
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Container wrapper for non-full-width columns - ensures min-width of 1280px */
.cosw-columns-container {
  /*min-width: 1280px !important;*/
  max-width: 1280px;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  box-sizing: border-box;
}
.cosw-columns-container a{
	color: #0033a0;
	text-underline-offset: 4px;
	text-decoration: underline;
}
/* Ensure container can expand beyond parent constraints if needed */
.cosw-columns-container > .wp-block-columns {
  /*min-width: 1280px !important;*/
}

/* Content wrapper for full-width multi-column blocks - constrains content while background stays full-width */
.cosw-columns-content-wrapper {
  max-width: 1280px;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  gap: inherit;
}

/* Columns inside the wrapper should behave as flex items */
.cosw-columns-content-wrapper > .wp-block-column {
  flex: 1;
  min-width: 0;
}

/* Stack columns on mobile/tablet (below 768px) */
@media (max-width: 768px) {
  .cosw-columns-content-wrapper {
    flex-wrap: wrap !important;
    flex-direction: column;
  }

  .cosw-columns-content-wrapper > .wp-block-column {
    flex: 1 1 100%;
    width: 100%;
  }

}

/* Constrain all blocks to max-width */
.cosw-block-constrained {
  max-width: 1280px;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
}
