/*--------------------------------------------------------------
## General Structure
--------------------------------------------------------------*/

.entry-content > .alignfull {
  margin: 0;
  max-width: 100%;
}
.wp-block-group.is-style-narrow {
    margin-right: 10%;
    margin-left: 10%;
}
@media screen and (max-width: 992px) {
.site-main .wp-block-column {
    flex-basis: 100% !important;
}
.site-main .wp-block-columns {
    flex-wrap: wrap;
  }
}


@media screen and (min-width: 768px) {
  .wp-block-group.is-style-narrow {
      margin-right: 15%;
      margin-left: 15%;
  }
}
@media (min-width: 1081px) {
  .wp-block-group.is-style-narrow {
      margin-right: 20%;
      margin-left: 20%;
  }
}
@media screen and (min-width: 608px) {
  .entry-content > * {
    padding-left: 0px;
    padding-right: 0px;
  }
}

/*--------------------------------------------------------------
## Code
--------------------------------------------------------------*/

.wp-block-code {
  padding: 0.8em 1em;
  margin-left: 14px;
  margin-right: 14px;
}

@media screen and (min-width: 608px) {
  .wp-block-code {
    margin-left: auto;
    margin-right: auto;
  }
}

/*--------------------------------------------------------------
## Cover
--------------------------------------------------------------*/

.wp-block-cover-text p {
  padding: 1.5em 14px;
}
.wp-block-cover {
  min-height: 300px;
}

@media screen and (min-width: 608px) {
  .wp-block-cover-text p {
    padding: 1.5em 0;
  }
}
.wp-block-group.has-background > .wp-block-group__inner-container > .alignfull {
  width: calc( 100% + 60px ) !important;
max-width: calc( 100% + 60px ) !important;
position: relative;
left: -30px;
}
@media screen and (min-width: 768px) {
.wp-block-group.has-background > .wp-block-group__inner-container > .alignfull {
  width: calc( 100% + 30px ) !important;
max-width: calc( 100% + 30px ) !important;
position: relative;
left: -30px;
}
}
/*--------------------------------------------------------------
## Embeds
--------------------------------------------------------------*/

.wp-block-embed.type-video > .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.wp-block-embed.type-video > .wp-block-embed__wrapper > iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

/*--------------------------------------------------------------
# Gallery
--------------------------------------------------------------*/

.wp-block-gallery.alignfull.has-nested-images.is-layout-flex.wp-block-gallery-is-layout-flex {
  gap: 0;
}

/*--------------------------------------------------------------
## Group
--------------------------------------------------------------*/
.entry-content > * {
  margin: 12px auto;
  padding-left:30px;
  padding-right: 30px;
}
.wp-block-group.alignfull.has-background {
  padding: 6em 30px;
}
@media screen and (min-width: 768px) {
.wp-block-group > .wp-block-group__inner-container > * {
     max-width: 738px;
     margin: auto;
}
    .wp-block-group > .wp-block-group__inner-container > .alignwide,
    .wp-block-cover__inner-container .wp-block-columns,
    .alignfull.main > * :not(.alignfull) {
     max-width: 738px;
     margin-right: auto;
margin-left: auto;
}
    .entry-content > *,
    .wp-block-group > .wp-block-group__inner-container > .narrow {
      max-width: 738px;
      margin-right: auto;
margin-left: auto;
    }
    .entry-content > * {
      padding-left:initial;
      padding-right: initial;
    }

}

@media screen and (min-width: 1080px) {
.wp-block-group > .wp-block-group__inner-container > .alignwide,
.entry-content > *, .frm_forms.frm_style_formidable-style.with_frm_style {
     max-width: 994px;
}
.wp-block-group > .wp-block-group__inner-container > *,
.wp-block-cover__inner-container .wp-block-columns,
.alignfull.main > * :not(.alignfull) {
     max-width: 994px;

}
.wp-block-group > .wp-block-group__inner-container > .narrow {
  max-width: 863px;
    }
}

@media screen and (min-width: 1180px) {
.wp-block-group > .wp-block-group__inner-container > .alignwide,
.alignfull.main > * :not(.alignfull) {
  max-width: 1070px;
  margin-left: auto;
  margin-right: auto;
}
 .entry-content > .alignwide {
  max-width: 1070px;
}
.wp-block-group > .wp-block-group__inner-container > *,
.wp-block-cover__inner-container .wp-block-columns,
.entry-content > *,
.frm_forms.frm_style_formidable-style.with_frm_style {
  max-width: 1070px;
  margin-left: auto;
  margin-right: auto;
}
.wp-block-group.alignfull.has-background {
  padding: 6em 0;
}
}
@media screen and (min-width: 1440px) {
  .wp-block-group > .wp-block-group__inner-container > .alignwide,
  .alignfull.main > * :not(.alignfull),
  .entry-content > .alignwide,
  .wp-block-group > .wp-block-group__inner-container > *,
  .wp-block-cover__inner-container .wp-block-columns,
  .entry-content > *,
  .frm_forms.frm_style_formidable-style.with_frm_style {
    max-width: 1280px;
  }

  .wp-block-group.alignfull.has-background {
    padding: 8em 0;
  }
}
@media screen and (min-width: 1440px) {
  .site-footer .wp-block-group.alignfull.has-background {
    padding: 2em 0;
  }
}

.wp-block-group > .wp-block-group__inner-container > .alignfull {
  max-width: 100%;
}

.wp-block-group.has-background > .wp-block-group__inner-container > :first-child {
  margin-top: 0;
}
.wp-block-group.has-background > .wp-block-group__inner-container h2 > :first-child {
  margin-top: .75em;
}


/*--------------------------------------------------------------
# Image
--------------------------------------------------------------*/

.wp-block-image img {
  display: block;
}

.wp-block-image.alignleft,
.wp-block-image.alignright {
  width: 100%
}

.wp-block-image.alignfull img {
  width: 100vw;
}

.wp-block-image .alignleft img,
.wp-block-image .alignright img,
.wp-block-image .alignleft figcaption,
.wp-block-image .alignright figcaption {
  max-width: 100%;
  width: 100%;
}

/*--------------------------------------------------------------
## Latest Posts
--------------------------------------------------------------*/

ul.wp-block-latest-posts.alignwide,
ul.wp-block-latest-posts.alignfull,
ul.wp-block-latest-posts.is-grid.alignwide,
ul.wp-block-latest-posts.is-grid.alignwide {
  padding: 0 14px;
}

/*--------------------------------------------------------------
# List
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .entry-content ul,
.entry-content ol {
  padding-left: 30px;
  padding-right: 30px;
}
}

}
.entry-content ul,
.entry-content ol {
  margin: 0 auto 1.07em;
  list-style-position: outside;
  padding:0;
}

.entry-content li {
  margin-left: 1em;

}

.entry-content ul ul,
.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul {
  margin: 0 auto;
}

.entry-content ul ul li,
.entry-content ol ol li,
.entry-content ul ol li,
.entry-content ol ul li {
  margin-left: 0;
  margin-bottom: 1em;
}


/*--------------------------------------------------------------
## More
--------------------------------------------------------------*/

.more-link {
  display: block;
}

/*--------------------------------------------------------------
## Pullquote
--------------------------------------------------------------*/

.wp-block-pullquote>p:first-child {
  margin-top: 0;
}

/*--------------------------------------------------------------
## Quote
--------------------------------------------------------------*/

.wp-block-quote {
border-left: none;
margin: 0 auto 1.75em;
padding: 1em 1em 2.5em 1em;;
text-align: center;
}
.wp-block-quote p {
  font-size: 1.3em;
  line-height: 1.25em;
}
.wp-block-quote > * {
  margin: 1em;
}
.wp-block-quote cite {
  font-size: .85em;
  font-family: shift,serif;
  font-weight: 500;
  font-style: normal;
}


/*--------------------------------------------------------------
## Table
--------------------------------------------------------------*/

.wp-block-table {
  overflow-x: auto;
  margin-left: 14px;
  margin-right: 14px;
  width: calc( 100% - 28px );
}

.wp-block-table table {
  border-collapse: collapse;
  width: 100%
}

.wp-block-table td, .wp-block-table th {
  padding: .5em;
}

@media screen and (min-width: 608px) {
  .wp-block-table {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
}

/*--------------------------------------------------------------
## Video
--------------------------------------------------------------*/

.wp-block-video video {
  max-width: 580px;
}
/*--------------------------------------------------------------
# two-col-full Block
--------------------------------------------------------------*/

.is-style-two-col-full-imgright.has-background .wp-block-columns.alignfull figure,
.is-style-two-col-full-imgleft.has-background .wp-block-columns.alignfull figure {
  margin:0;
  height: 100%;
}
.is-style-two-col-full-imgright .wp-block-column.is-vertically-aligned-center.is-layout-flow.wp-block-column-is-layout-flow:first-child {
  padding:2em 30px;
}
.is-style-two-col-full-imgleft .wp-block-column.is-vertically-aligned-center.is-layout-flow.wp-block-column-is-layout-flow:last-child {
  padding:2em 30px;
  position: relative;
}

.is-style-two-col-full-imgleft .wp-block-column img, .is-style-two-col-full-imgright .wp-block-column img {
height: 100%;
  width: 100%;
  object-fit: cover;
  display: block;
}
.wp-block-group.alignfull.is-style-two-col-full-imgright.has-background div.wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained div.wp-block-columns.alignfull.is-layout-flex.wp-block-columns-is-layout-flex,
.wp-block-group.alignfull.is-style-two-col-full-imgleft.has-background div.wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained div.wp-block-columns.alignfull.is-layout-flex.wp-block-columns-is-layout-flex {
left: 0;
  max-width: 100% !important;
  right: 0;
  width: 100% !important;
  gap: 0;
  align-items: stretch !important;
}
.wp-block-group.alignfull.is-style-two-col-full-imgleft.has-background,
.wp-block-group.alignfull.is-style-two-col-full-imgright.has-background {
  padding: 0;
}
@media (min-width: 781px) {
.is-style-two-col-full-imgleft .wp-block-column.is-vertically-aligned-center.is-layout-flow.wp-block-column-is-layout-flow,
.is-style-two-col-full-imgright .wp-block-column.is-vertically-aligned-center.is-layout-flow.wp-block-column-is-layout-flow {
   flex:  0 0 50%;
   display: flex;
  flex-direction: column;
  justify-content: center;
  }

.is-style-two-col-full-imgright .wp-block-column, .is-style-two-col-full-imgleft .wp-block-column {
  flex: 1 1 50%;
  max-width: 50%;
  box-sizing: border-box;
  }
  .is-style-two-col-full-imgright .wp-block-column.is-vertically-aligned-center.is-layout-flow.wp-block-column-is-layout-flow:first-child {
  padding: 2em 4em;
} 
.is-style-two-col-full-imgleft .wp-block-column.is-vertically-aligned-center.is-layout-flow.wp-block-column-is-layout-flow:last-child {
  padding: 2em 4em;
  }
}
.wp-block-column img {
  max-width: 100%;
  height: auto;
}
@media (max-width: 781px) {
  .is-style-two-col-full-imgleft .wp-block-columns.alignfull {
    flex-direction: column-reverse;
  }
}

/*--------------------------------------------------------------
# Additional Theme Styles
--------------------------------------------------------------*/
.cb-carousel-block .wp-block-cover,
.wp-block-cover.is-style-top-hero {
  min-height: 500px !important;
  display: flex;
  align-items: flex-end;
}
.cb-carousel-block {
  position: relative;
  padding-left: 0;
  padding-right: 0;
}

.cb-pagination {
  position: absolute;
  bottom: 20px; /* Adjust as needed */
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
.wp-block-cb-carousel-v2 .cb-pagination.swiper-pagination-horizontal {
  bottom: 25px;
  align-items: center;
}
.wp-block-cb-carousel-v2 .cb-pagination .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.6);
  width: 8px;
  height: 8px;
  margin: 0 6px;
  opacity: 1;
}
.wp-block-cb-carousel-v2 .cb-pagination .cb-pagination-bullet.swiper-pagination-bullet-active {
    width: 12px;
  height: 12px;
    background: #ffffff;
}
.wp-block-cb-carousel-v2 .cb-pagination .swiper-pagination-bullet-active {
  background: #ffffff;
}

.wp-block-cb-carousel-v2 .wp-block-cover__inner-container,
.wp-block-cover.is-style-top-hero .wp-block-cover__inner-container  {
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* pushes children to the bottom */
  height: 100%;
    padding-bottom: 30px;
}
.wp-block-cb-carousel-v2 .wp-block-cover__inner-container .wp-block-group {
  height: 100%;
}

.wp-block-cb-carousel-v2 .wp-block-cover__background,
.wp-block-cover.is-style-top-hero .wp-block-cover__background {
background: #015F82;
background: linear-gradient(0deg,rgba(1, 95, 130, 1) 0%, rgba(1, 95, 130, 0.77) 30%, rgba(1, 95, 130, 0.24) 47%, rgba(1, 95, 130, 0) 64%);
background-position: bottom;
opacity: 1;
}
.wp-block-cb-carousel-v2 .wp-block-cover .has-background-dim:not([class*="-background-color"]),
.wp-block-cover.is-style-top-hero .has-background-dim:not([class*="-background-color"]) {
  background-color: unset !important;
}
.wp-block-pullquote {
  padding: 4em 2em;
  font-weight: 600;
}
.wp-block-group.is-style-rounded {
  border-radius: 15px;
  padding: 30px;
}

.wp-block-separator {
  border-top: 2px solid;
  margin-top: 3em !important;
  margin-bottom: 3em !important;
}
.wp-block-separator.is-style-wide {
  border-bottom: 0;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  max-width: unset;
}

.wp-block-gallery.is-style-rounded .wp-block-image img {
  border-radius: 15px;
}
/*--------------------------------------------------------------
## Color Palette
--------------------------------------------------------------*/
/* Base separator styles */

/* ----------------------------
   Theme color compatibility
   ---------------------------- */
/* These ensure the separator inherits the chosen block color */
.wp-block-separator.has-green-color {
  color: #4B6944;
}
.wp-block-separator.has-dark-green-color {
  color: #293F24;
}
.wp-block-separator.has-bright-green-color {
  color: #84A641;
}
.wp-block-separator.has-tan-color {
  color: #E9E5D4;
}


:root{
  --color-green: #4B6944;     /* rgb(75,105,68) */
  --color-dark-green: #293F24;/* rgb(41,63,36)  - updated */
  --color-bright-green: #84a641;/* rgb(132,166,65) */
  --color-tan: #E9E5D4;       /* rgb(233,229,212) */
  --btn-padding: 0.6em 1.4em;
  --btn-radius: 4px;
}

/* ---------------------------
   Palette (text + background)
   --------------------------- */
/* Green */
.has-green-color { color: var(--color-green); }
.has-green-background-color { background-color: var(--color-green); }

/* Dark Green (updated) */
.has-dark-green-color { color: var(--color-dark-green); }
.has-dark-green-background-color { background-color: var(--color-dark-green); }

/* Bright Green */
.has-bright-green-color { color: var(--color-bright-green); }
.has-bright-green-background-color { background-color: var(--color-bright-green); }

/* Tan */
.has-tan-color { color: var(--color-tan); }
.has-tan-background-color { background-color: var(--color-tan); }

/* ------------------------------------------------
   Force readable text when background is dark green
   ------------------------------------------------ */
.has-dark-green-background-color {
  background-color: var(--color-dark-green);
  color: #ffffff !important; /* force white text for readability */
}

/* Ensure links and interactive elements inside are readable */
.has-dark-green-background-color a,
.has-dark-green-background-color a:visited,
.has-dark-green-background-color .wp-block-button__link,
.has-dark-green-background-color button {
  color: #ffffff !important;
}

/* Provide a softer hover/focus color for links inside dark background */
.has-dark-green-background-color a:hover,
.has-dark-green-background-color a:focus {
  color: var(--color-tan) !important; /* tan as a subtle contrast */
}
/* ------------------------------------------------
   Force readable text when background is  green
   ------------------------------------------------ */
.has-green-background-color {
  background-color: var(--color-green);
  color: #ffffff !important; /* force white text for readability */
}

/* Ensure links and interactive elements inside are readable */
.has-green-background-color a,
.has-green-background-color a:visited,
.has-green-background-color .wp-block-button__link,
.has-green-background-color button {
  color: #ffffff !important;
}

/* Provide a softer hover/focus color for links inside dark background */
.has-green-background-color a:hover,
.has-green-background-color a:focus {
  color: var(--color-tan) !important; /* tan as a subtle contrast */
}
.has-dark-green-background-color .has-tan-background-color.has-background {
  color: #2B2B2B !important;
}

.has-dark-green-background-color .has-tan-background-color.has-background a {
  color: #2B2B2B !important;
}

/* ---------------------------
   Button base styles (applies broadly)
   --------------------------- */
.wp-block-button__link,
button,
input[type="submit"],
input[type="button"] {
  border: none;
  padding: var(--btn-padding);
  border-radius: var(--btn-radius);
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  transition: filter 0.15s ease, background-color 0.15s ease, color 0.15s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* If button uses background class from editor palette, set colors */

/* Green Button */
.wp-block-button__link.has-green-background-color,
button.has-green-background-color {
  background-color: var(--color-green);
  color: #ffffff;
}
.wp-block-button__link.has-green-background-color:hover,
button.has-green-background-color:hover { filter: brightness(0.9); }

/* Dark Green Button (updated color) */
.wp-block-button__link.has-dark-green-background-color,
button.has-dark-green-background-color {
  background-color: var(--color-dark-green);
  color: #ffffff; /* ensure button text is white */
}
.wp-block-button__link.has-dark-green-background-color:hover,
button.has-dark-green-background-color:hover { filter: brightness(0.9); }

/* Bright Green Button */
.wp-block-button__link.has-bright-green-background-color,
button.has-bright-green-background-color {
  background-color: var(--color-bright-green);
  color: #ffffff;
}
.wp-block-button__link.has-bright-green-background-color:hover,
button.has-bright-green-background-color:hover { filter: brightness(0.9); }

/* Tan Button — use dark text for contrast */
.wp-block-button__link.has-tan-background-color,
button.has-tan-background-color {
  background-color: var(--color-tan);
  color: var(--color-dark-green); /* dark green text on tan */
}
.wp-block-button__link.has-tan-background-color:hover,
button.has-tan-background-color:hover { filter: brightness(0.98); }

/* ---------------------------
   Optional: outline style for buttons
   --------------------------- */
.wp-block-button__link.is-style-outline,
button.is-style-outline {
  background: transparent;
  border: 2px solid currentColor;
  padding: calc(var(--btn-padding) - 0.15em);
}

/* Example: outline using dark-green color when .has-dark-green-color applied */
.wp-block-button__link.is-style-outline.has-dark-green-color,
button.is-style-outline.has-dark-green-color {
  color: var(--color-dark-green);
}
.wp-block-button__link.is-style-outline.has-dark-green-color:hover,
button.is-style-outline.has-dark-green-color:hover {
  background-color: var(--color-dark-green);
  color: #ffffff;
}
/* Outlined Button Style */
.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent;          /* remove solid background */
    border: 2px solid #84A641;        /* your brand green outline */
    color: #84A641;                    /* match outline color for text */
    font-weight: 700;
    padding: 0.4em 1em;
    border-radius: 3px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease;
}

/* Hover effect: fill with background and invert text color */
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
    background: #84A641;
    color: #ffffff;
    text-decoration: none;
}
.wp-block-group.alignfull.is-style-grid.has-tan-background-color.has-background {
  background-color: rgb(247, 245, 237);
  background-image: url("/wp-content/themes/mainetechhub-theme/assets/images/square2.7bffe499.png");
  background-repeat: repeat;
}

.wp-block-group.alignfull.is-style-grid.has-dark-green-background-color.has-background {
  background-image: url("/wp-content/themes/mainetechhub-theme/assets/images/square.f9678db8.png");
  background-repeat: repeat;
}
.wp-block-image.size-large.is-style-rounded-corner img {
  border-radius: 30px 0 0 0;
}

p.is-style-erbaum {
  font-family: "erbaum", sans-serif;
font-weight: 700;
font-style: normal;
text-transform: uppercase;
}
/* ---------------------------
   Accessibility: focus-visible
   --------------------------- */
.wp-block-button__link:focus-visible,
button:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(255,255,255,0.8);
  outline-offset: 2px;
}
/* ============================
   Gradient Background Classes
   ============================ */

/* Gradient: Green → Dark Green */
.has-green-to-dark-green-gradient-background {
  background: linear-gradient(135deg, #4B6944 0%, rgb(41,63,36) 100%);
  color: #ffffff; /* make text readable on dark background */
}

/* Ensure links remain visible */
.has-green-to-dark-green-gradient-background a {
  color: #ffffff;
}
.has-green-to-dark-green-gradient-background a:hover,
.has-green-to-dark-green-gradient-background a:focus {
  color: #E9E5D4; /* tan for contrast on hover */
}
