/*==============================================================*\
 * Theme Name:        AppStudio 2.0
 * Description:       A wireframe theme developed by App Studios, LLC for use as a base development theme for custom client websites.
 * Author:            App Studios, LLC
 * Author URI:        https://appstudios.net/
 * Version:           2.0.0
 * Requires at least: 6.0
 * Tested up to:      6.0.2
 * Requires PHP:      8.0
 *
 * IMPORTANT!:  Please refrain from making changes to this theme
 *              by making edits via a child theme. Any edits to
 *              this theme need to be able to work on any child
 *              theme of the App Studio theme. If it's specific
 *              to a child theme, put it in the child theme files
 *
 * The AppStudio 2.0 Theme, and any of it's children as developed
 * by App Studios, LLC, are not for free redistribution.
 * All rights reserved by APP Studios, LLC.
 *
 * AppStudio 2.0 WordPress Theme © 2022 APP Studios, LLC.
\*==============================================================*/

/*=============================================*\
 *  Bootstrap Icons
\*=============================================*/
@font-face {
  font-family: "Bootstrap Icons";
  font-style: normal;
  font-weight: normal;
  src: url("library/third-party/plugins/bootstrap-icons/font/fonts/bootstrap-icons.woff") format('woff');
}

/*=============================================*\
 *  HTML & Body
\*=============================================*/
html {
  scroll-behavior: smooth;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/*=============================================*\
 *  Resets / Global Element Styles
\*=============================================*/
* {
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
}

pre {
  background: var(--gray);
  margin: 2rem auto;
  max-height: 30rem;
  max-width: 60rem;
  overflow-y: scroll;
  padding: 2rem;
}

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

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

/*=============================================*\
 *  Reusable Classes
\*=============================================*/
.mobile,
.hidden {
  display: none;
}

.object-fit-contain { /* Use on img tags */
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.object-fit-cover { /* Use on img tags */
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.bg-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.backdrop-image {
  background-size: cover;
}

/*----------------------------------------*\
 *  Bootstrap Resets
\*----------------------------------------*/

/* Bootstrap class reset for non mobile to match WP */


.entry-content .flex-column-reverse {
    inline-margin: auto !important;
}

@media screen and (min-width: 781px) {
    .entry-content .flex-column-reverse {
        flex-direction: row !important;
    }
}

/* Force 0 margin bottom */
.entry-content .mb-0 {
	margin-bottom: 0 !important;}

/*----------------------------------------*\
 *  3D Border Effect
\*----------------------------------------*/
.box-3d {
  background-color: var(--light);
  box-shadow: -3px 3px 0 var(--gray);
  z-index: 0;
}

/* -------------- *\
 *  Fills in gaps between the box-shadow
 *  corner and main element corner
\* -------------- */
.box-3d::before {
  border-bottom: 1px solid var(--light);
  border-left: 1px solid var(--light);
  box-shadow: -1px 1px 0 var(--gray);
  content: "";
  height: 100%;
  left: -1px;
  position: absolute;
  top: 1px;
  width: 100%;
  z-index: -1;
}

.box-3d::after {
  box-shadow: -1px 1px 0 var(--gray);
  content: "";
  height: 100%;
  left: -3px;
  position: absolute;
  top: 3px;
  width: 100%;
  z-index: -1;
}

/*----------------------------------------*\
 *  Screen Reader Text
\*----------------------------------------*/
.screen-reader-text,
.sr-only {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/*=============================================*\
 *  Entry Content Animation
\*=============================================*/
.entry-content > * {
  opacity: 0;
  z-index: 100;
}

.entry-content > .in-viewport:nth-child(n+1) {
  animation: animatebottom .6s;
  opacity: 1;
  position: relative;
}

.entry-content > .in-viewport:first-child {
  animation: fade .6s;
  opacity: 1;
  position: relative;
}

@keyframes animatebottom {
  from {
    bottom: -50px;
    opacity: 0;
  }
  60% {
    opacity: .3;
  }
  to {
    bottom: 0;
    opacity: 1;
  }
}

@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/*=============================================*\
 * ADA Needs
\*=============================================*/
a.skip-to-content {
  font-size: .75rem;
  left: .25rem;
  position: absolute;
  z-index: 99999;
}

/*=============================================*\
 * Header & Navigation
\*=============================================*/
#site-header {
  font-size: .9rem;
  position: relative;
  -moz-transition: all .1s ease-in-out;
  -o-transition: all .1s ease-in-out;
  -webkit-transition: all .1s ease-in-out;
  transition: all .1s ease-in-out;
  z-index: 9999;
}

.site-header.fullscreen {
  height: 100vh;
}

/* -------------- *\
 *  Compensate for admin bar.
\* -------------- */
body.logged-in :is(#site-header, #mobile-nav-offcanvas) {
  margin-top: 32px;
}

/* -------------- *\
 *  Remove margin in Customizer
\* -------------- */
body.logged-in.customize-partial-edit-shortcuts-shown
:is(#site-header, #mobile-nav-offcanvas) {
  margin-top: 0;
}

@media screen and (max-width: 782px) {
  /* -------------- *\
   *  Compensate for admin bar on mobile.
  \* -------------- */
  body.logged-in :is(#site-header, #mobile-nav-offcanvas) {
    margin-top: 46px;
  }

  /* -------------- *\
   *  Remove margin in Customizer on mobile.
  \* -------------- */
  body.logged-in.customize-partial-edit-shortcuts-shown
  :is(#site-header, #mobile-nav-offcanvas) {
    margin-top: 0;
  }
}

/*----------------------------------------*\
 *  Branding
\*----------------------------------------*/
#logo {
  height: auto;
  max-width: 10rem;
  width: 100%;
}

/*----------------------------------------*\
 *  Menus
\*----------------------------------------*/
#site-header ul.nav {
  margin-top: 0;
}

#site-header .dropdown-menu {
  border: none;
  border-radius: 0;
  font-size: inherit;
  margin-top: 0;
  padding-bottom: 0;
  padding-top: calc(15px - var(--bs-dropdown-padding-y));
}

#mobile-nav-offcanvas a {
  text-decoration: none;
  transition: all .3s ease-in-out;
}

#mobile-nav-offcanvas ul ul {
  margin-left: 1rem;
}

#mobile-nav-offcanvas ul li a {
  display: inline-block;
  font-size: 18px;
  line-height: 2.25;
  width: 100%;
}

#mobile-nav-close {
  background-color: rgba(0, 0, 0, .25);
  border-radius: 100px;
  margin-bottom: .25rem;
  padding: 0 .5rem;
}

#mobile-nav-offcanvas .offcanvas-body {
  scroll-margin: .25rem;
}

#mobile-nav-offcanvas .offcanvas-body::-webkit-scrollbar {
  width: .5rem;
}

#mobile-nav-offcanvas .offcanvas-body::-webkit-scrollbar-track {
  border-radius: 1rem;
  box-shadow: none;
}

#mobile-nav-offcanvas .offcanvas-body::-webkit-scrollbar-thumb {
  border-radius: 10px;
}

/*----------------------------------------*\
 *  Header Layout - Centered Nav
\*----------------------------------------*/
#site-header.centered-nav #center-wrapper #primary-navigation {
  justify-content: center;
}

#site-header.centered-nav #right-wrapper #secondary-navigation {
  justify-content: end;
}

/*----------------------------------------*\
 *  Header Layout - Right Aligned Nav
\*----------------------------------------*/

/*----------------------------------------*\
 *  Header Layout - Split Nav
\*----------------------------------------*/
#site-header.split-nav #left-wrapper > div {
  justify-content: end;
}

/*----------------------------------------*\
 *  Mega Menu
\*----------------------------------------*/
li.mega-menu {
  position: unset;
}

li.mega-menu > .dropdown-menu.show {
  display: flex;
  flex-wrap: wrap;
  padding: 0.5rem 1rem 1rem !important;
  width: 100%;
}

li.mega-menu > .dropdown-menu.show > li {
  flex-basis: 25%;
}

li.mega-menu a.dropdown-item {
  white-space: normal;
}

li.mega-menu > .dropdown-menu.show > li > a {
  font-size: 1.125rem;
}

li.mega-menu > .dropdown-menu.show .submenu {
  display: block !important;
  position: relative;
}

li.mega-menu ul.dropdown-menu ul.submenu.dropdown-menu {
  border-top: 1px solid white !important;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

/*----------------------------------------*\
 *  Sub Menu
\*----------------------------------------*/
.sub-menu {
  list-style: none;
  padding: 0;
}

.sub-menu .sub-menu__nav-link {
  padding: .25em .5em;
  white-space: normal;
}

.sub-menu__nav-item:last-child {
  padding-bottom: 1em;
}

.no-show .dropdown-header {
  display: none;
}

/*----------------------------------------*\
 *  Menu Media Queries
\*----------------------------------------*/
@media screen and (max-width: 767px) {

  /* Left Menu - Center Logo - Right Menu */
  #leftmenu_centerlogo_rightmenu .logo__wrapper {
    left: 0;
    position: relative;
    width: auto;
  }

  #leftmenu_centerlogo_rightmenu .logo {
    width: auto;
  }

  #leftmenu_centerlogo_rightmenu button#navbar-toggler {
    border: 2px solid;
    border-radius: 100%;
    display: block;
    padding: 0;
    right: 1rem;
  }

  #leftmenu_centerlogo_rightmenu #mobile-navigation .mobile-navigation {
    opacity: 0;
  }

  #leftmenu_centerlogo_rightmenu #mobile-navigation.show .mobile-navigation {
    opacity: 1;
    -moz-transition: all .2s ease;
    -ms-transition: all .2s ease;
    -o-transition: all .2s ease;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
  }

  #leftmenu_centerlogo_rightmenu button#navbar-toggler .menu-icon.fa-ellipsis-h {
    padding: 10px 10px;
  }

  #leftmenu_centerlogo_rightmenu button#navbar-toggler .menu-icon.fa-close {
    padding: 10px 12px;
  }
}

/*----------------------------------------*\
 *  Banner Alerts
\*----------------------------------------*/
.banner-alert-wrapper {
  position: absolute;
  text-align: center;
  width: 100%;
}

.banner-alerts {
  background-color: var(--white);
  margin: auto;
  max-width: 414px;
  padding: .25em;
  position: relative;
  width: 100%;
}

/*=============================================*\
 *  Footer
\*=============================================*/
#site-footer {
  background-color: var(--white);
  color: var(--black);
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

#site-footer #site-footer-inner {
  flex-grow: 1;
}

footer #site-footer-inner .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    margin: auto !important
}

@media screen and (min-width: 992px) {
    footer #site-footer-inner {
        max-width: 57rem;
    }
}

@media screen and (min-width: 1440px) {
    footer #site-footer-inner {
        max-width: 71.25rem;
    }
}

/*=============================================*\
 *  Widgets
\*=============================================*/
.widget {
  font-size: .9rem;
  margin: 0;
}

.widget .search-input {
  padding-right: 1.3rem !important;
}

.sidebar-area .widget:not(:first-child) {
  margin-top: 1rem;
}

.widget-title {
  display: block;
  margin: 0 0 .5rem;
}

.widget ul {
  list-style-type: none;
  margin-bottom: 0;
  padding-left: 0;
}

.widget ul > li {
  line-height: 1.25;
}

.sidebar-area .widget .post-date {
  display: block;
  font-size: smaller;
}

/*=============================================*\
 *  Featured Image
\*=============================================*/
#featured-image {
  margin: 3rem auto;
}

/*=============================================*\
 *  Cards - TODO: get rid of cards
\*=============================================*/
.card-body > p:last-child {
  margin-bottom: 0;
}

.card {
  border-radius: 0;
}

/*=============================================*\
 *  Postlets
\*=============================================*/

.postlet .dummy-image {
  background-size: 80%;
}

.postlet-title {
  min-height: 3em;
}

.dummy-postlet {
  visibility: hidden;
}

.postlet-title a:hover {
  text-decoration: none;
}

.as-recent-posts-list a {
  display: block;
  min-height: 2em;
}

.postlet-wrapper {
    gap: 2rem;
    border: solid 2px var(--light);
}

figure.postlet-image {
    grid-column-start: 1;
    grid-column-end: 1;
    grid-row-start: 1;
    width: 25vw;
}

.postlet-image a {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    
}

.postlet-content {
    grid-column-start: 2;
    grid-row-start: 1;
    align-items: start;
    margin-right: 2rem;
    margin-top: 0;
    margin-bottom: 0;
}

.entry-content h2.postlet-title {
    margin-bottom: 0 !important;
}

a.btn-3 {
    width: fit-content;
}


/*=============================================*\
 *  Sidebar
\*=============================================*/


/*=============================================*\
 *  Formidable Forms
\*=============================================*/
.entry-content > .frm_forms {
    margin: 2rem;
}

@media screen and (min-width: 992px) {
    .entry-content > .frm_forms {
        max-width: 57rem !important;
        margin: auto;
    }
}

@media screen and (min-width: 1440px) {
    .entry-content > .frm_forms {
        /*max-width: 71.25rem !important;*/
    }
}

div.frm_form_field {
    width: 100%;
}

.frm_form_fields {
  opacity: 1;
  transition: opacity 0.1s linear;
}

.frm_form_fields > fieldset {
  background-color: transparent;
  border-color: #000000;
  border-style: solid;
}

legend {
  font-size: 1.5rem;
}

p.description, div.description, div.frm_description, .frm-show-form > div.frm_description, .frm_error, .frm_pro_max_limit_desc {
  color: var(--gray-dark);
  font-size: .875rem;
}

/*  Format for Dark Background */
.has-background:not(.has-white-background-color, .has-light-background-color) label.frm_primary_label {
  color: var(--white) !important;
}

.has-background:not(.has-white-background-color, .has-light-background-color) .frm_description {
  color: var(--light) !important;
}

.has-background:not(.has-white-background-color, .has-light-background-color) .frm_compact .frm_dropzone.dz-clickable .dz-message, .has-background:not(.has-white-background-color, .has-light-background-color) input[type=submit], .has-background:not(.has-white-background-color, .has-light-background-color) .frm_submit input[type=button], .has-background:not(.has-white-background-color, .has-light-background-color) .frm_submit button, .frm_form_submit_style, .has-background:not(.has-white-background-color, .has-light-background-color) .frm-edit-page-btn, .frm_button, .has-background:not(.has-white-background-color, .has-light-background-color) button.frm_button_submit {
  background-color: transparent;
  border: solid 2px;
}

/* --End Dark Styles --*/

.frm_description, .frm_pro_max_limit_desc {
}

.frm-show-form div.frm_description p {
  font-size: 1rem;
}

.frm_combo_inputs_container > .frm_form_subfield-first, .frm_combo_inputs_container > .frm_form_subfield-middle, .frm_combo_inputs_container > .frm_form_subfield-last {
  margin-bottom: 0 !important;
}

.form-field {
  margin-bottom: 1.25rem;
}

.frm_primary_label {
  font-size: 1.125rem;
}

input[type=text], input[type=password], input[type=email], input[type=number], input[type=url], input[type=tel], input[type=file], input[type=search], select, .frm-card-element.StripeElement {
  line-height: 1.3;
}

input[type=text], input[type=password], input[type=email], input[type=number], input[type=url], input[type=tel], input[type=phone], input[type=search], select, textarea, .frm_scroll_box .frm_opt_container, .frm_form_fields_active_style, .frm_form_fields_error_style, .frm-card-element.StripeElement, .chosen-container-multi .chosen-choices, .chosen-container-single .chosen-single {
  background-color: #ffffff;
  border-color: var(--gray);
  border-radius: 4px;
  border-style: solid;
  border-width: 1px;
  font-size: 1.125rem;
}

input[type=text], input[type=password], input[type=email], input[type=number], input[type=url], input[type=tel], input[type=search], select, textarea, .frm-card-element.StripeElement, .chosen-container {
  font-size: 1.125rem;
  margin-bottom: 0;
}

/* Formidable Forms - Required Fields  */
.frm_required {
  color: var(--danger);
  font-weight: bold;
}

/* Formidable Forms - Checkbox & Radio */
.frm_radio label, .frm_checkbox label {
  font-size: 1rem;
  line-height: 1.3;
}

.frm_checkbox input[type=checkbox] {
  border-radius: 0;
}

.frm_radio input[type=radio], .frm_checkbox input[type=checkbox] {
  font-size: 1rem;
}

input[type=radio], input[type=checkbox] {
  border-color: #BFC3C8;
}

.frm_checkbox input[type=checkbox]:before {
  border-radius: 0;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.frm_radio input[type=radio]:before, .frm_checkbox input[type=checkbox]:before {
  box-shadow: inset 10px 10px;
  height: 12px;
  margin: 2px 0 0 2px;
}

.frm_radio input[type=radio] {
  border-radius: 50%;
}

.frm_radio, .frm_checkbox {
  padding-top: 0.5rem;
}

.frm_radio input[type=radio], .frm_checkbox input[type=checkbox] {
  border: 1px solid currentColor;
}

.frm_checkbox input[type=checkbox]:before {
  border-radius: 0;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.frm_radio input[type=radio]:before {
  border-radius: 50%;
}

/* Formidable Forms - Select Fields */

/* Formidable Forms - HTML Container */
.frm_form_field.frm_html_container {
  font-size: 1rem;
}

/* Formidable Forms - File Upload -*/
.frm_dropzone {
  background-color: #ffffff;
  border-color: var(--gray);
  border-radius: 4px;
}

.frm_dropzone.frm_single_upload, .frm_dropzone.dz-clickable {
  line-height: 1.42857143;
  margin-top: 5px;
  min-height: 60px;
}

.frm_dropzone.dz-clickable * {
  cursor: default;
}

.frm_dropzone .dz-message {
  background: var(--light);
  border: 1px dashed var(--gray);
  border-radius: 5px;
  font-size: 1.125rem;
  margin: 0.5em 0 1em;
  padding: 20px;
}

.frm_dropzone.dz-clickable .dz-message, .frm_dropzone.dz-clickable .dz-message * {
  cursor: pointer;
}

.frm_dropzone.dz-clickable.frm_single_upload .dz-message {
  margin: 0 0 0.5em 0;
}

.frm_upload_icon:before {
  content: "\F2BF";
}

.frm_dropzone .frm_upload_icon:before {
  font-size: 2.625rem;
}

.frm_dropzone .frm_upload_icon:before, .frm_dropzone .dz-remove {
  color: var(--primary);
}

.frm_dropzone .frm_small_text {
  font-size: 0.875rem;
}

.frm_upload_text button, .frm_compact_text button {
  background: none !important;
  border: none !important;
  line-height: 1.3rem !important
}

input[type=file] {
  font-size: 1rem;
  padding: 0px;
}

.input[type=file].frm_transparent:focus, input[type=file] {
  background-color: transparent;
  border: none;
  box-shadow: none;
  outline: none;
}

/* Formidable Forms - Icon Font */
.frm_icon_font {
  color: var(--primary);
}

.frmfont:before, select.frmfont, .frm_icon_font:before, select.frm_icon_font {
  font-family: 'Bootstrap Icons' !important;
  text-align: center;
}

.frmfont, .frm_icon_font, .frm_dashicon_font {
  font-size: 1.125rem;
}

/* Formidable Forms - Form Scale Field */

.frm_scale label {
  font-size: 1rem;
}

/* Formidable Forms - Rich Text Field */


/* Formidable Forms - Date Picker, Time */
.frm-datepicker .ui-widget-header, .frm-datepicker .ui-datepicker-header {
  background: var(--primary) !important;
  color: #ffffff !important;
}

.frm-datepicker td.ui-datepicker-current-day, .frm-datepicker td .ui-state-hover, .frm-datepicker thead {
  background: var(--secondary) !important;
  color: #ffffff !important;
}

/* Formidable Forms - Star Rating */
.frm-star-group .star-rating, .frm-star-group input + label {
  background: transparent;
  font-size: 25px;
  line-height: 1;
  margin-right: 5px;
}

.frm-star-group input + label:before, .frm-star-group .star-rating:before {
  color: var(--warning);
  content: '\F588';
  font-family: 'Bootstrap Icons';
}

.frm-star-group .star-rating.star-rating-on:before, .frm-star-group .star-rating.star-rating-hover:before {
  content: '\F586';
}

/*  Formidable Forms - Range Picker */
.frm_range_container {
  padding-top: 5px;
}

input[type=range] {
  -webkit-appearance: none;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 1rem;
  margin: 1rem 0 0.5rem;
  padding: 0;
  width: 100%;
}

.form-field input[type=range], .form-field input[type=range]:focus {
  background: transparent !important;
  padding: 0;
}

.frm_range_value + .frm_range_unit, .frm_range_container > .frm_range_unit, .frm_range_value {
  font-size: 1.5rem;
}

.frm_range_unit, .frm_range_value {
  padding-left: 2px;
  padding-right: 2px;
}

input#field_hrroc {
  background-color: var(--light) !important;
  border: solid 1px var(--gray) !important;
  border-radius: 1rem;
}

/* Formidable Forms - Slider, Toggle Box */

.frm_slider {
  background-color: #eee;
  border-radius: 30px;
}

.frm_slider:before {
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgb(41 58 82 / 31%);
}

input:checked + .frm_switch .frm_slider:before {
  transform: translateX(15px);
}

input:checked + .frm_switch .frm_slider {
  background-color: var(--success);
}

.frm_switch_block input {
  display: none !important;
}

/* Formidable Forms - Sections */
.frm_section_heading {
  margin-top: 1rem;
}

.form-field.frm_section_heading {
  margin-bottom: 0;
}

.frm-show-form .frm_section_heading h3 {
  border-top: 2px solid var(--gray-dark);
}

.frm-show-form .frm_section_heading .frm_section_spacing, .menu-edit #post-body-content .frm-show-form .frm_section_heading .frm_section_spacing {
  margin-bottom: 30px;
}

.frm-show-form .frm_section_heading h3 {
  background-color: transparent;
  border: none;
  margin: 0;
  padding: 1rem 0 3px 0;
}

/* Formidable Forms - Repeater */

.frm_repeat_sec, .frm_repeat_inline, .frm_repeat_grid {
  position: relative;
}

.frm_repeat_sec {
  border-bottom: 2px solid #eee;
}

.frm_repeat_grid .frm_button, .frm_repeat_inline .frm_button, .frm_repeat_sec .frm_button {
  line-height: 1;
}

.frm_repeat_sec .frm_form_field.frm_repeat_buttons .frm_icon_font::before {
  color: #ffffff;
}

.frm_icon_font.frm_minus_icon:before, .frm_icon_font.frm_plus_icon:before {
  color: #ffffff;
}

.frm_icon_font.frm_plus_icon:before, .frm_icon_font.frm_minus_icon:before {
  opacity: .7;
}

.frm_icon_font.frm_plus_icon:before {
  content: "\F4FA";
}

.frm_icon_font.frm_minus_icon:before {
  content: "\F5DE";
}

.frm_repeat_sec .frm_button .frm_icon_font:before, .frm_repeat_grid .frm_button .frm_icon_font:before, .frm_repeat_inline .frm_button .frm_icon_font:before {
  line-height: 1;
}

/* Formidable Forms - Summary */
.frm-summary-page-wrapper {
  border: 1px solid #BFC3C8;
  border-radius: 4px;
  margin: 25px 0 50px;
  padding: 50px;
}

.frm-summary-page-wrapper .frm-edit-page-btn {
  font-size: 0.875rem;
  margin: 0;
  padding: 3px 10px;
}

.frm-line-table {
  font-size: 1rem;
  margin-top: 0.5em;
}

.frm-line-table tr {
  background-color: transparent;
  border-bottom: 1px solid rgba(191, 195, 200, 0.6);
}

.frm-line-table th {
  font-size: 1.125em;
  opacity: .7;
}

.frm-line-table td, .frm-line-table th {
  background-color: transparent;
  border: 0;
  padding: 1.125rem 1rem;
}

/* Formidable Forms - Total Field */
.frm_single_product_label, .frm_total_formatted {
  font-size: 1rem;
}

.frm_form_field .frm_total_formatted {
  margin: 5px 0 0;
}

/* Formidable Forms - Form submit or next */
.frm_compact .frm_dropzone.dz-clickable .dz-message, input[type=submit], .frm_submit input[type=button], .frm_submit button, .frm_form_submit_style, .frm-edit-page-btn, .frm_button, button.frm_button_submit {
  background: var(--primary) !important;
  border: 1px solid !important;
  color: #ffffff !important;
  font-size: 1.25rem !important;
  padding: calc(.5rem - 2px) calc(1rem - 2px) !important;
  text-decoration: none !important;
}

.frm_compact .frm_dropzone.dz-clickable .dz-message:hover, input[type=submit]:hover, .frm_submit input[type=button]:hover, .frm_submit button:hover, .frm_form_submit_style:hover, .frm-edit-page-btn:hover, .frm_button:hover, button.frm_button_submit:hover {
  background: var(--secondary) !important;
  color: #fff;
}

/* Overwrite */
.frm_style_formidable-style.with_frm_style .frm_compact .frm_dropzone.dz-clickable .dz-message, .frm_style_formidable-style.with_frm_style input[type=submit], .frm_style_formidable-style.with_frm_style .frm_submit input[type=button], .frm_style_formidable-style.with_frm_style .frm_submit button, .frm_form_submit_style, .frm_style_formidable-style.with_frm_style .frm-edit-page-btn {
	border-color: var(--primary) !important;
	box-shadow: none !important;
	border-radius: 0px !important;
}

/* Formidable Forms - Start Over */
a.frm_save_draft, a.frm_start_over {
  font-size: 1rem;
}

/* Formidable Forms - Error messages */
.frm_error_style, .frm_message, .frm_success_style {
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  padding: 1rem;
}

.frm_error_style {
  background-color: #F2DEDE;
  border: 1px solid var(--danger);
  border-radius: 4px;
  color: var(--danger);
  font-size: 1.125rem;
  margin: 0 auto 2rem;
}

.frm_blank_field label, .frm_error, .frm_limit_error {
  font-size: 1rem;
}

.frm_error, .frm_limit_error {
  color: var(--danger);
  font-weight: normal;
}

.frm_blank_field > input[type=text], .frm_blank_field > input[type=password], .frm_blank_field > input[type=email], .frm_blank_field > input[type=number], .frm_blank_field > input[type=url], .frm_blank_field > input[type=tel], .frm_blank_field > input[type=phone], .frm_blank_field > input[type=search], .frm_blank_field > select, .frm_blank_field > textarea, .frm_blank_field > .frm_scroll_box .frm_opt_container, .frm_blank_field > .frm_form_fields_active_style, .frm_blank_field > .frm_form_fields_error_style, .frm_blank_field > .frm-card-element.StripeElement, .frm_blank_field > .chosen-container-multi .chosen-choices, .frm_blank_field > .chosen-container-single .chosen-single {
  border-color: var(--danger);
}

/* Formidable Forms - Success Message */
.frm_message, .frm_success_style {
  background-color: #00000008;
  border: 1px solid var(--success);
  border-radius: 4px;
  color: var(--success);
  font-size: 1.125rem;
  margin: 0 auto 2rem;
}

.frm_message p {
  color: var(--success);
}

/*=============================================*\
 * Comments
\*=============================================*/
.comment-reply-title {
  font-size: 1.25rem;
  padding: 1.25em 0;
}

div#comments,
div#respond {
  margin: auto;
  max-width: 65rem;
  width: calc(100% - 4rem);
}

div#respond {
  min-height: 10em;
}

.comment-author.vcard {
  display: inline-block;
  width: 30rem;
}

.comment-author.vcard a:hover {
  text-decoration: none;
}

img.avatar {
  max-width: 3rem;
  padding: .5rem;
}

.comments-inner p {
  font-size: 1rem;
  margin-top: 0;
  padding: 1em;
}

#comments p a:hover,
#respond p a:hover {
  text-decoration: none;
  transition: all .5s;
}

.comment-meta.commentmetadata {
  display: inline-block;
  text-align: right;
  width: calc(100% - 31rem);
}

.comment-meta.commentmetadata a {
  text-decoration: none;
}

.reply {
  display: inline-block;
  margin-bottom: 1rem;
}

.reply a {
  font-size: .75rem !important;
  padding: .5em 1em;
}

.reply a:hover {
  text-decoration: none;
  transition: all .5s;
}

cite.fn,
span.says,
.comment-meta a {
  font-size: .75rem !important;
}

.comment > .comment {
  margin-left: 1rem !important;
}

/*----------------------------------------*\
 *  Comment Form
\*----------------------------------------*/
.comment-form-comment label {
  display: block;
}

.logged-in-as {
  margin: 0;
}

textarea#comment {
  max-width: 100%;
}

#commentform #submit {
  border: none;
  font-size: 1rem;
  height: 100%;
  min-width: 4rem;
  max-width: 14rem;
  padding: .5em 1em;
}

/*=============================================*\
 *  Pagination Styles
\*=============================================*/
.pagination {
  background-color: inherit;
  border-top: none;
}

nav.custom-pagination {
  background-color: inherit;
  margin: auto;
}

.page-numbers.dots {
  display: inline-block;
  margin: .25rem .5rem;
  vertical-align: middle;
}

a.next.page-numbers:hover,
a.page-numbers:hover {
  text-decoration: none;
}

.page-link:hover {
  text-decoration: none;
  z-index: 2;
}

/*=============================================*\
 *  WP Core Blocks
\*=============================================*/

/*----------------------------------------*\
 *  Text Colors - Dark Backgrounds
\*----------------------------------------*/
.has-darkgray-background-color,
.has-dark-background-color,
.has-black-background-color {
  color: var(--white);
}

.has-darkgray-background-color figcaption,
.has-dark-background-color figcaption,
.has-black-background-color figcaption {
  color: rgba(255, 255, 255, .75);
}

/*----------------------------------------*\
 *  Entry Content Resets & Typography
\*----------------------------------------*/
.entry-content > * {
  margin: 0 1rem;
}

.entry-content *.aligncenter {
  text-align: center;
}

.entry-content *.alignleft {
  text-align: left;
}

.entry-content *.alignright {
  text-align: right;
}

.entry-content *.alignfull {
  margin-inline: 0;
  max-width: 100% !important;
}

.entry-content *.has-background {
  margin-bottom: 0;
  padding: 2rem 0;
}

.entry-content > *:last-child:not(.has-background):not(.clear) {
    padding-bottom: 4rem;
}

.entry-content :not(.has-background) *.alignwide {
    margin-inline: auto;
}

/* Reusable Class */
.narrow {
    max-width: 35rem;
    margin-inline: auto;
}

@media screen and (min-width: 1200px) {
    .narrow {
        margin-inline: 4rem;
    }
}

/* -------------- *\
 *  Adds top margin to wp-containers that
 *  follow a heading or paragraph tag
\* -------------- */
.entry-content :is(h1,h2,h3,h4,h5,h6,p) + .wp-block-group.has-background,
.entry-content :is(h1,h2,h3,h4,h5,h6,p) + .wp-block-columns.has-background,
.entry-content :is(h1,h2,h3,h4,h5,h6,p) + .wp-block-buttons {
  margin-top: 2rem;
}

.has-text-align-right {
    margin-right: 0 !important;
    margin-left: auto;
}

@media screen and (max-width: 600px) {
    .has-x-large-font-size {
        font-size: 2rem !important;
    }
    .has-large-font-size {
        font-size: 1.75rem !important;
    }
}

/*----------------------------------------*\
 *  Title
\*----------------------------------------*/
.entry-content > #title:first-child {
  margin: 2rem auto;
}

/*----------------------------------------*\
 *  Groups
\*----------------------------------------*/
body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  /*margin-left: 4rem !important;
  margin-right: 4rem !important;*/
    margin-inline: auto;
}

body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) > .wp-block-group > .wp-block-group__inner-container {
  margin-inline: 0 !important;
}

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

.entry-content .wp-block-group:not(.alignfull):not(.alignwide):not(.has-background) .wp-block-group__inner-container {
  margin: 2rem !important;
}

.entry-content .wp-block-group.has-background:not(.alignfull) .wp-block-group__inner-container {
    margin-inline: 2rem !important;
}

.entry-content .wp-block-group.alignfull .wp-block-group__inner-container {
	margin-inline: 0rem !important;
}

/*----------------------------------------*\
 *  Grouped Columns
\*----------------------------------------*/
.wp-block-group .wp-block-columns:nth-child(n+2) {
  margin-top: 3rem;
}

/*----------------------------------------*\
 *  Columns
\*----------------------------------------*/

.wp-block-columns {
  margin: 3rem;
}

.wp-block-cover__inner-container .wp-block-columns, .has-background .wp-block-columns {
    margin-inline: 0;
    margin-top: 3rem;
    margin-bottom: 0;
}

@media screen and (min-width: 1200px) {
    .wp-block-columns {
      margin-bottom: 0;
      margin: 3rem auto;
    }
}

.wp-block-columns .wp-block-columns {
  margin: 2rem auto !important;
}

.wp-block-columns.has-background {
  padding: 2rem;
}

.wp-block-columns p:last-child {
  margin-bottom: 0;
}

.wp-block-column.has-background {
  padding: 1.5rem;
}

.wp-block-column figure,
.wp-block-column figure > figcaption {
  margin-bottom: 0;
}

.wp-block-column.is-vertically-aligned-top, .is-vertically-aligned-top .wp-block-column {
    margin-top: 0 !important;
}

.wp-block-column.is-vertically-aligned-bottom {
    margin-bottom: 2rem !important;
}

@media screen and (min-width: 781px) {


}

@media screen and (min-width: 992px) {
    .wp-block-columns  {
        max-width: 57rem;
        margin-inline: auto;
    }
}

@media screen and (min-width: 1200px) {
    .wp-block-columns {
        max-width: 71.25rem;
        margin-inline: auto;
    }
}

@media screen and (min-width: 1440px) {
    .wp-block-columns {
        max-width: 85rem;
        margin-inline: auto;
    }
}

/*----------------------------------------*\
 *  Mixed Blocks - columns/columns/covers/query
\*----------------------------------------*/
.wp-block-group .wp-block-column .wp-block-column :is(p,h1,h2,h3,h4,h5,h6) {
    margin-bottom: 1em !important;
}

.wp-block-cover .wp-block-cover__inner-container .wp-block-cover__inner-container, .wp-block-cover__inner-container .wp-block-columns:first-child {
    margin-top: 0 !important;
}

.wp-block-cover .wp-block-cover__inner-container .wp-block-cover__inner-container, .wp-block-cover__inner-container .wp-block-columns:last-child {
    margin-bottom:0!important;
}

.wp-block-columns .wp-block-columns .wp-block-cover__inner-container > * {
    width: 100% !important;
    margin: 0 !important;
}

.wp-block-cover__inner-container .wp-block-columns:not(.alignfull) .wp-block-column:not(.wp-block-columns .wp-block-column .wp-block-columns .wp-block-column) {
    /*margin: 3rem auto !important;*/
}

:where(.wp-block-columns .wp-block-column .wp-block-columns), .wp-block-column .wp-block-media-text {
    gap: 3%;
}

.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container {
    margin: 3rem !important;
}

.wp-block-column .wp-block-cover .wp-block-cover__inner-container,.wp-block-column .wp-block-cover.has-custom-content-position .wp-block-cover__inner-container {
    margin: 1rem;
}

@media screen and (min-width: 781px) {
.wp-block-cover__inner-container .wp-block-column {
    margin-inline: auto;
}
}

@media screen and (min-width: 1200px) {
    :not(.wp-block-column) .wp-block-cover .wp-block-cover__inner-container {
        margin: 3rem auto;
    }
    .wp-block-columns.alignfull {
        margin: 3rem !important;
    }
}

@media screen and (max-width: 1200px) {
    .entry-content .wp-block-column .wp-block-group:not(.alignfull):not(.alignwide):not(.has-background) .wp-block-group__inner-container {
      margin-inline: 0 !important;
    }
}

@media screen and (min-width: 1440px) {
.entry-content > *, .entry-content > .wp-block-group > .wp-block-group__inner-container > * {
    max-width: 71.25rem;
	}
}

/* Wordpress Reset */
@media screen and (max-width: 1200px) {
    .wp-block-cover__inner-container .wp-block-columns, .has-background .wp-block-columns {
        margin-inline: auto;
    }
}

/*----------------------------------------*\
 *  Media Text Blocks
\*----------------------------------------*/
.wp-block-media-text {
    margin: 3rem auto;
}

.wp-block-column .wp-block-media-text {
    margin: 1.5rem auto;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media {
  min-height: 25rem; /* 400px @ 16px font */
}

.has-background .wp-block-media-text.alignwide {
    margin: 0 !important;
}

:not(.has-background) .wp-block-media-text .wp-block-media-text__content {
    padding: 2rem;
}

/*----------------------------------------*\
 *  Cover Blocks
\*----------------------------------------*/
.wp-block-cover.alignfull {
    padding: 0rem !important;
}

.wp-block-cover .wp-block-cover__inner-container {
    width: 100% !important;
}

@media screen and (min-width: 1200px) {
    .wp-block-cover__inner-container *:not(.alignwide):not(.alignfull):not(figure):not(iframe):not(img):not(.wp-block-button)  {
        max-width: 57rem;
        margin-inline: auto;
    }
    
    .entry-content :not(.has-background) *.alignwide {
        margin-inline:auto !important;
	}
}

@media screen and (min-width: 1440px) {
    .wp-block-cover__inner-container *:not(.alignwide):not(.alignfull):not(figure):not(iframe):not(img):not(.wp-block-button) {
        max-width: 71.25rem;
        margin-inline: auto;
    }
}

/*----------------------------------------*\
 *  WP Block Buttons
\*----------------------------------------*/
.wp-block-buttons {
    margin: 2rem 0 0 0;
}

.wp-block-media-text__content .wp-block-buttons, .wp-block-column .wp-block-buttons {
    margin-bottom: 0;
}

/*----------------------------------------*\
 *  Typography: Paragraphs & Headings
\*----------------------------------------*/

.entry-content :is(h1,h2,h3,h4,h5,h6,p) {
    margin-bottom: 2rem !important;
}

.entry-content :is(h1,h2,h3,h4,h5,h6,p).has-background {
  padding: 1.5rem;
}

/* 
 *  If an heading tag is a direct sibling of
 *  another element that is not specific heading tags.
 *  ~~
 *  If an p tag is a direct sibling of
 *  another element that is not a heading/p tag.
 *  ~~
 *  Direct children of .entry-content only.*/
.entry-content > * + h1,
.entry-content > *:not(h1,h2,h3,h4,h5,h6) + h2,
.entry-content > *:not(h2,h3,h4,h5,h6) + h3,
.entry-content > *:not(h3,h4,h5,h6) + h4,
.entry-content > *:not(h4,h5,h6) + h5,
.entry-content > *:not(h5,h6) + h6,
.entry-content > *:not(h1,h2,h3,h4,h5,h6,p,ul,ol) + p {
  margin-top: 2rem;
}

/*If an heading tag is a direct sibling ofanother heading tag */
.entry-content :is(h1,h2,h3,h4,h5,h6) + :is(h1,h2,h3,h4,h5,h6) {
  margin-top: .25rem !important;
}

/* If a p tag is a direct sibling of another heading tag*/
.entry-content :is(h1,h2,h3,h4,h5,h6,p) + :is(p) {
  margin-top: 1rem;
}

.entry-content :is(ul,ol) + p {
  margin-top: 1.5rem;
}

/*--------------------------*\
 *  Superscript & Subscript
\*--------------------------*/
sup {
	font-size: .35em;
	top: -1.5em;
}

sub {
	font-size: .35em;
}

/* Force Color Reset for Links */
:is(h1.has-white-color,h2.has-white-color,h3.has-white-color,h4.has-white-color,h5.has-white-color,h6.has-white-color) a {
    color: var(--white);
}

:is(h1.has-accent-color,h2.has-accent-color,h3.has-accent-color,h4.has-accent-color,h5.has-accent-color,h6.has-accent-color) a {
    color: var(--accent);
}

:is(h1.has-black-color,h2.has-black-color,h3.has-black-color,h4.has-black-color,h5.has-black-color,h6.has-black-color) a {
	color: var(--black) !important;
}

/*----------------------------------------*\
 *  Figures & Images
\*----------------------------------------*/
.entry-content > .wp-block-image {
  margin: 2rem;
}

.entry-content > .wp-block-image:last-of-type {
  margin: 2rem 2rem 0;
}

.entry-content > .wp-block-image + .wp-block-image {
  margin-top: 2rem;
}

.entry-content :is(h1,h2,h3,h4,h5,h6,p) + .wp-block-image,
.entry-content .wp-block-image + :is(h1,h2,h3,h4,h5,h6,p) {
  margin-top: 1rem;
}

.wp-block-image figure figcaption {
  font-style: italic;
}

.wp-block-image figure img {
  margin: 0;
}

.wp-block-image figure.aligncenter,
.wp-block-image figure.alignleft,
.wp-block-image figure.alignright {
  float: none !important;
}

.wp-block-image figure.aligncenter {
  margin: auto;
}

.wp-block-image figure.alignleft {
  margin-left: 0;
  margin-right: auto;
}

.wp-block-image figure.alignright {
  margin-left: auto;
  margin-right: 0;
}

figure.wp-block-image {
    margin-inline: auto !important;
}

.entry-content > .wp-block-image:last-of-type {
    margin-bottom: 0;
}

/*--------------------------*\
 *  Gallery Block
\*--------------------------*/

figure.wp-block-gallery {
    margin: 3rem auto;
}

.wp-block-group.has-background figure.wp-block-gallery {
    margin: 2rem 3rem;
}

figure.wp-block-gallery .wp-block-image {
    margin-bottom: 0 !important;
}

/*--------------------------*\
 *  File Block
\*--------------------------*/
.wp-block-file {
  border: solid 2px  var(--gray);
  border-radius: 3px;
  padding: 1.5rem;
  display: inline-flex;
  align-items: center;
  margin-bottom: 1.5rem;
}

.wp-block-file a {
  color: var(--black);
  cursor: pointer;
  margin-bottom: 0;
}

.wp-block-file a:not(.wp-block-button__link) {
  font-size: 1.125rem;
}

a.wp-block-button__link {
  background-color: var(--primary);
  border-radius: 1.5rem;
}

/*----------------------------------------*\
 *  Buttons
\*----------------------------------------*/
.btn:focus {
  box-shadow: none !important;
  outline: 0 !important;
}

.is-style-outline .wp-block-button__link {
  padding: calc(.5rem - 2px) calc(1rem - 2px) !important;
}

.wp-block-button__link,
.wp-block-button__link.has-background {
  padding: .5rem 1rem !important;
}

/*----------------------------------------*\
 *  Blockquotes
\*----------------------------------------*/
.entry-content blockquote {
  display: block;
  font-size: 1.125rem;
  max-width: 100%;
}

.entry-content blockquote.has-background {
  padding: 0 !important;
}

.entry-content blockquote cite {
  font-size: 1rem;
}

.entry-content blockquote > * {
  display: inline-block;
  padding: .75rem 0;
}

.entry-content blockquote.has-background > * {
  padding: .75rem 2rem;
}

.entry-content blockquote.is-style-default > * {
  border-left: .25rem solid rgba(0, 0, 0, .5);
  padding-left: calc(2rem - .25rem);
  padding-right: 2rem;
}

.entry-content blockquote > *:first-child {
  padding-top: 2rem;
}

.entry-content blockquote > *:last-child {
  padding-bottom: 2rem;
}

.entry-content blockquote.is-style-plain:not(.has-background) > *:first-child {
  padding-top: 0;
}

.entry-content blockquote.is-style-plain:not(.has-background) > *:last-child {
  padding-bottom: 0;
}

/*----------------------------------------*\
 *  Lists
\*----------------------------------------*/

.entry-content ul:not(.wp-block-post-template) {
  max-width: calc(60rem - 4rem); /* 896px */
}

.entry-content ol {
  max-width: calc(60rem - 6rem); /* 896px */
}

.entry-content :is(ul,ol) :is(ul,ol) {
  margin: 0;
}

.entry-content :is(ul,ol) :is(ul,ol) {
  margin-top: .5rem;
}

.entry-content :is(ul,ol) li:not(.page-item) {
  margin: .5rem 0 0;
  padding: 0;
}

.entry-content :is(ul,ol) li:not(.wp-block-post):first-child {
  margin-top: 0;
}

.entry-content :is(h1,h2,h3,h4,h5,h6,p) + :is(ul, ol) {
  margin: 1.5rem auto;
}

.entry-content ol, ul {
  counter-reset: item;
}

.entry-content ol li {
  counter-increment: item;
}

/* -------------- *\
 *  Alternate list-styles
 *  for ol's
\* -------------- */
.entry-content ol li::marker,
.entry-content ol ol ol ol ol ol li::marker {
  content: counter(item, decimal) ". ";
  font-weight: bold;
}

.entry-content ol ol li::marker,
.entry-content ol ol ol ol ol ol ol li::marker {
  content: counter(item, upper-alpha) ". ";
}

.entry-content ol ol ol li::marker,
.entry-content ol ol ol ol ol ol ol ol li::marker {
  content: counter(item, upper-roman) ". ";
}

.entry-content ol ol ol ol li::marker,
.entry-content ol ol ol ol ol ol ol ol ol li::marker {
  content: counter(item, lower-alpha) ". ";
}

.entry-content ol ol ol ol ol li::marker,
.entry-content ol ol ol ol ol ol ol ol ol ol li::marker {
  content: counter(item, lower-roman) ". ";
}

/* -------------- *\
 *  Alternate list-styles
 *  for ul's
\* -------------- */
.entry-content ul ul ul ul,
.entry-content ul ul ul ul ul ul ul {
  list-style-type: disc;
}

.entry-content ul ul ul ul ul,
.entry-content ul ul ul ul ul ul ul ul {
  list-style-type: circle;
}

.entry-content ul ul ul ul ul ul,
.entry-content ul ul ul ul ul ul ul ul ul {
  list-style-type: square;
}

/*----------------------------------------*\
 *  Separator
\*----------------------------------------*/
.entry-content > .wp-block-separator {
  margin: 0 2rem;
}

.entry-content > .wp-block-separator.is-style-default {
  margin: 0 auto 2rem;
  max-width: 36rem; /* 576px @ 16px font ~ Small Bootstrap .container width */
}


/*----------------------------------------*\
 *  Embeds
\*----------------------------------------*/
/* iFrame Display Fix; 16:9 Ratio */

.wp-block-embed.is-type-video .wp-block-embed__wrapper {
    padding-top: 56.25%;
    overflow: hidden;
}

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

.wp-block-embed {
    margin: 2rem auto;
}

iframe {
    width: 100%;
}

figure.wp-block-embed.alignwide {
    margin-inline: auto !important;
}

/*----------------------------------------*\
 *  Query Loop Block
\*----------------------------------------*/

.wp-block-query {
    margin: 3rem auto;
}

.wp-block-post-template.is-flex-container.columns-4 {
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 781px) and (min-width: 600px) {
    .wp-block-post-template.is-flex-container.is-flex-container.columns-4>li {
        width: calc(50% - 1.875em) !important;
        margin-inline: auto;
    }
    
    .wp-block-post-template.is-flex-container.columns-4 {
        flex-direction: row;
    }
}

@media screen and (min-width: 781px) {
    .wp-block-query figure.wp-block-post-featured-image {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 150px;
        width: auto;
        overflow: hidden;
    }
    
    .wp-block-post-template.is-flex-container.columns-4 {
        display: flex;
        flex-direction: row;
    }
}

/*=============================================*\
 *  WP Core Blocks - Media Queries
 *  ~~
 *  BS = BootStrap
 *  WP = Wordpress
\*=============================================*/
/*----------------------------------------*\
 *  BS X-Small breakpoint ~ <576px
\*----------------------------------------*/
@media screen and (max-width: 576px) {

}

/*----------------------------------------*\
 *  BS Small breakpoint ~ >=576px
\*----------------------------------------*/
@media screen and (min-width: 576px) {

}

/*----------------------------------------*\
 *  WP Small breakpoint ~ >=601px
\*----------------------------------------*/
@media screen and (min-width: 601px) {

  /* Media Text Blocks */
  .wp-block-media-text .wp-block-media-text__content {
    padding: 0 2rem;
  }
}

/*----------------------------------------*\
 *  BS Medium breakpoint  ~ >=768px
\*----------------------------------------*/
@media screen and (min-width: 768px) {

  /* Blockquotes */
  .entry-content blockquote {
    margin-inline: auto;
    max-width: 40rem;
  }
}

/*----------------------------------------*\
 *  BS Large Breakpoint (Max) ~ <=992px
\*----------------------------------------*/
@media screen and (max-width: 992px) {

  /* Media Text Blocks */
  .wp-block-media-text {
    grid-template-columns: 50% 1fr !important;
  }
}

/*----------------------------------------*\
 *  BS Large breakpoint ~ >=992px
\*----------------------------------------*/
@media screen and (min-width: 992px) {
    
  /* Entry Content Resets */
  .entry-content > *,
  .entry-content > .wp-block-group > .wp-block-group__inner-container > * {
    margin-inline: auto;
    max-width: 57rem; /* 960px @ 16px font ~ Large Bootstrap .container width */
  }

  .entry-content > *.has-background {
    padding: 2rem 0;
  }

  .entry-content *.alignwide {
    max-width: 71.25rem; /* 1140px @ 16px font ~ XL Bootstrap .container width */
  }

  /* Columns */
  .entry-content > .wp-block-columns.has-background {
    padding: 4rem;
  }

  /* Title */
  .entry-content > #title:first-child {
    margin: 4rem auto;
  }

  /* Figures & Images */
  .entry-content .wp-block-image,
  .entry-content > .wp-block-image:last-of-type {
    margin-inline: auto;
  }

  /* Lists */
  .entry-content > :is(ul,ol) {
    margin-inline: auto;
  }

  .entry-content > ul {
    max-width: calc(57rem - 1.25rem); /* 896px */
  }

  .entry-content > ol {
    max-width: calc(57rem - 2.25rem); /* 896px */
  }

  /* Separator */
  .entry-content > .wp-block-separator {
    margin-inline: auto;
  }
}

/*----------------------------------------*\
 *  BS XL breakpoint ~ <=1200px
\*----------------------------------------*/
@media screen and (max-width: 1200px) {
    .entry-content *.alignwide {
        margin-inline: 2rem;
  }

  /* Groups */
    body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull) {
      margin-inline: 4rem !important;
  }

    .entry-content .wp-block-group .wp-block-group__inner-container {
      margin-inline: 4rem;
  }
    .entry-content *.alignwide {
        margin-inline: 2rem;
  }
}

/*----------------------------------------*\
 *  BS XL breakpoint ~ >=1200px
\*----------------------------------------*/
@media screen and (min-width: 1200px) {


  /* Entry Content Resets */
  .entry-content *.alignwide {
    margin-inline: auto;
  }

  /* Columns */
  .wp-block-columns {
    padding-left: 0;
    padding-right: 0;
  }

  /* Paragraphs & Headings */
  .entry-content > :is(h1,h2,h3,h4,h5,h6,p) {
    padding-left: 0;
    padding-right: 0;
  }

  /* Separator */
  .entry-content > .wp-block-separator.is-style-wide {
    max-width: 71.25rem; /* 1140px @ 16px font ~ XL Bootstrap .container width */
  }
}

/*----------------------------------------*\
 *  BS XXL breakpoint ~ >=1400px
\*----------------------------------------*/
@media screen and (min-width: 1400px) {

  /* Entry Content Resets */
  .entry-content > *,
  .entry-content > .wp-block-group > .wp-block-group__inner-container > * {
    max-width: 71.25rem; /* 1140px @ 16px font ~ XL Bootstrap .container width */
  }

  .entry-content *.alignwide {
    max-width: 82.5rem; /* 1320px @ 16px font ~ XXL Bootstrap .container width */
  }

  /* Lists */
  .entry-content > :is(ul,ol) {
    padding-left: 0;
    padding-right: 0;
  }

  .entry-content ul {
    max-width: calc(71.25rem - 4rem); /* 1076px */
  }

  .entry-content ol {
    max-width: calc(71.25rem - 6rem); /* 1044px */
  }

  /* Separator */
  .entry-content .wp-block-separator.is-style-wide {
    max-width: 82.5rem; /* 1320px @ 16px font ~ XXL Bootstrap .container width */
  }
}