/*==============================================================*\
 * 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;
  opacity: .75;
}

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;
}


/*----------------------------------------*\
 *  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: -200px;
    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;
}


/*=============================================*\
 *  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 .card-image-top {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 12rem;
}

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

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

.postlet > .card > .card-body > *:nth-child(2n) {
  margin-bottom: 0;
  margin-top: 1rem;
}

.postlet > .card > .card-body > p {
  min-height: 10.5em
}

.dummy-postlet {
  visibility: hidden;
}

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

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


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


/*=============================================*\
 *  Formidable Forms
\*=============================================*/
.frm_forms {
  direction: ltr;
  display: grid;
}

.frm_forms form {
  width: 80%;
}

.frm_combo_inputs_container > *, .frm_grid_container > *, .frm_section_heading > *, .frm_fields_container .frm_form_field, .frm_fields_container > * {
  grid-column: span 12 / span 12;
}

.frm6, .frm_half, .frm_form_field.frm_three_fifths, .frm_form_field.frm6, .frm_submit.frm6, .frm_form_field.frm_left_half, .frm_form_field.frm_right_half, .frm_form_field.frm_first_half, .frm_form_field.frm_last_half, .frm_form_field.frm_half, .frm_submit.frm_half {
  grid-column: span 6 / span 6 !important;
}

.frm_last, .frm_form_field.frm_last, .frm_form_field.frm_alignright {
  grid-column-end: -1;
  justify-content: end;
}

.frm_clearfix {
  display: block;
}

.auto_width #loginform input, .auto_width input, input.auto_width, select.auto_width, textarea.auto_width {
  width: auto;
}

.frm_clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  line-height: 0;
  visibility: hidden;
}

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

.frm_form_field {
  width: 100% !important;
}

.frm_form_fields > fieldset {
  background-color: transparent;
  border-color: #000000;
  border-style: solid;
  border-width: 0px;
  margin: 0;
  padding: 0 0 1em 0;
}

fieldset {
  display: block;
  min-width: 0;
}

fieldset fieldset {
  background-color: transparent;
  border: none;
  margin: 0;
  padding: 0;
}

legend {
  color: inherit;
  display: block;
  font-size: 1.5rem;
  line-height: inherit;
  margin-bottom: 0.5rem;
  max-width: 100%;
  padding: 0;
  white-space: normal;
  width: 100%;
}

.frm_screen_reader {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.frm_screen_reader.frm_hidden {
  display: initial;
}

.frm_hidden, .frm_add_form_row.frm_hidden, .frm_remove_form_row.frm_hidden, .frm_button.frm_hidden {
  display: none !important;
}

legend.frm_hidden {
  display: none !important;
}

legend + h3, h3.frm_form_title {
  /*font-size: 40px;*/
}

.frm_hidden, input.frm_hidden {
  display: none;
}

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;
  max-width: 100%;
  padding: 0;
}

/*  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 {
  clear: both;
}

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

.frm_combo_inputs_container, .frm_grid_container, .frm_form_fields .frm_section_heading, .frm_form_fields .frm_fields_container {
  display: grid;
  grid-auto-rows: max-content;
  grid-gap: 0 2%;
  grid-template-columns: repeat(12, 6.5%);
}

.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_top_container .frm_primary_label, .frm_hidden_container .frm_primary_label, .frm_pos_top {
  display: block;
  float: none;
  width: auto;
}

.frm_primary_label {
  display: block;
  font-size: 1.125rem;
  margin: 0;
  max-width: 100%;
  padding: 1rem 0 0.375rem 0;
  width: auto;
}

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 {
  height: 2rem;
  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);
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  border-style: solid;
  border-width: 1px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 1.125rem;
  font-weight: normal;
  max-width: 100%;
  outline: none;
  padding: .375rem .625rem;
  width: 100%;
}

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;
}

textarea {
  height: auto;
  vertical-align: top;
}


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


/*----------------------------------------*\
 *  Formidable Forms - Checkbox & Radio
\*----------------------------------------*/
.vertical_radio .frm_checkbox, .vertical_radio .frm_radio, .vertical_radio .frm_catlevel_1 {
  display: block;
}

.frm_form_field .frm_checkbox, .frm_form_field .frm_checkbox + .frm_checkbox, .frm_form_field .frm_radio, .frm_form_field .frm_radio + .frm_radio {
  margin-bottom: 0;
  margin-top: 0;
}

.vertical_radio .frm_checkbox, .vertical_radio .frm_radio, .vertical_radio .frm_catlevel_1 {
  display: block;
}

.vertical_radio .frm_checkbox label, .vertical_radio .frm_radio label {
  display: block;
  padding-left: 20px;
  text-indent: -20px;
}

.frm_radio label, .frm_checkbox label {
  font-size: 1rem;
  line-height: 1.3;
}

.frm_checkbox label, .frm_radio label {
  display: inline;
  white-space: normal;
}

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

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

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

.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;
  content: '';
  display: block;
  height: 12px;
  margin: 2px 0 0 2px;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  width: 12px;
}

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

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

.vertical_radio .frm_checkbox, .vertical_radio .frm_radio, .vertical_radio .frm_catlevel_1 {
  display: block;
}

.frm_radio input[type=radio], .frm_checkbox input[type=checkbox] {
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid currentColor;
  display: inline-block !important;
  flex: none;
  height: 18px;
  margin: 0 5px 0 0;
  min-width: 18px;
  padding: 0;
  position: initial;
  vertical-align: middle;
  width: 18px;
}

.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]:checked:before, .frm_checkbox input[type=checkbox]:checked:before {
  transform: scale(1);
}

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


/*----------------------------------------*\
 *  Formidable Forms - Select Fields
\*----------------------------------------*/
select {
  background-position-y: center;
  max-width: 100%;
  width: 100%;
}


/*----------------------------------------*\
 *  Formidable Forms - HTML Container
\*----------------------------------------*/
.frm_form_field.frm_html_container, .frm_form_field .frm_show_it {
}

.frm_form_field.frm_html_container {
  font-size: 1rem;
}


/*----------------------------------------*\
 *  Formidable Forms - File Upload
\*----------------------------------------*/
.frm_dropzone, .frm_dropzone * {
  box-sizing: border-box;
}

.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.frm_single_upload {
  max-width: 60%;
}

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

.frm_dropzone, .frm_dropzone * {
  box-sizing: border-box;
}

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

.frm_dropzone.dz-clickable .dz-message, .frm_dropzone .frm_upload_icon {
  display: block;
}

.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_compact_text {
  display: none;
}

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

.frm_upload_text button, .frm_compact_text button {
  background: none !important;
  border: none !important;
  color: inherit !important;
  cursor: pointer !important;
  height: auto !important;
  line-height: 1.3rem !important
  outline: inherit !important;
}

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

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

.frm-show-form .dz-hidden-input {
  display: 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;
}

i.frmfont, i.frm_icon_font {
  font-style: normal;
  font-variant: normal;
  speak: none;
}

.frmfont, .frm_icon_font, .frm_dashicon_font {
  display: inline-block;
  font-size: 1.125rem;
  -webkit-font-smoothing: antialiased;
  font-weight: normal;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: none;
  text-rendering: auto;
  text-shadow: none;
  -moz-transition: color .1s ease-in-out, opacity .1s ease-in-out;
  -webkit-transition: color .1s ease-in-out, opacity .1s ease-in-out;
  transition: color .1s ease-in-out, opacity .1s ease-in-out;
}


/*----------------------------------------*\
 *  Formidable Forms - Form Scale Field
\*----------------------------------------*/
.frm_scale {
  float: left;
  margin-right: 1rem;
  text-align: center;
}

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

.frm_scale input[type=radio]:before {
  border-radius: 50%;
  box-shadow: inset 10px 10px;
  content: '';
  display: block;
  height: 13px;
  margin: 2px 0 0 2px;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  width: 13px;
}


/*----------------------------------------*\
 *  Formidable Forms - Rich Text Field
\*----------------------------------------*/
.wp-editor-wrap *, .wp-editor-wrap *:after, .wp-editor-wrap *:before {
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.wp-editor-wrap {
  max-width: 100%;
  width: 100%;
}


/*----------------------------------------*\
 *  Formidable Forms - Date Picker, Time
\*----------------------------------------*/
#ui-datepicker-div {
  display: none;
  z-index: 999999 !important;
}

.frm-datepicker .ui-widget-header, .frm-datepicker .ui-datepicker-header {
  background: var(--primary) !important;
  color: #ffffff !important;
}

.frm-datepicker .ui-datepicker-calendar {
  margin: 0 !important;
}

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

select.frm_time_select {
  display: inline;
  white-space: pre;
}


/*----------------------------------------*\
 *  Formidable Forms - Star Rating
\*----------------------------------------*/
.frm-star-group .star-rating, .frm-star-group input + label {
  background: transparent;
  clear: none;
  cursor: pointer;
  display: block;
  float: left;
  font-size: 25px;
  font-style: normal;
  height: 25px;
  line-height: 1;
  margin-right: 5px;
  overflow: hidden !important;
  width: 25px;
}

.frm-star-group input {
  opacity: 0;
  position: absolute;
  z-index: -1;
}

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

.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;
  cursor: pointer;
  display: block;
  font-size: 1rem;
  height: auto;
  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 {
  display: inline-block;
  padding-left: 2px;
  padding-right: 2px;
}

.frm_range_container input + .frm_range_value {
  display: block;
  text-align: center;
}

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


/*----------------------------------------*\
 *  Formidable Forms - Slider, Toggle Box
\*----------------------------------------*/
.frm_switch {
  display: inline-block;
  height: 25px;
  position: relative;
  vertical-align: middle;
  width: 40px;
}

.frm_slider {
  background-color: #eee;
  border-radius: 30px;
  bottom: 0;
  cursor: pointer;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: .4s;
}

.frm_slider:before {
  background-color: white;
  border-radius: 50%;
  bottom: 1px;
  box-shadow: 0 2px 6px rgb(41 58 82 / 31%);
  content: "";
  height: 23px;
  left: 1px;
  position: absolute;
  transition: .4s;
  width: 23px;
}

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:last-child {
  border-bottom: none;
  padding-bottom: 0;
  padding-bottom: 0;
}

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

.frm_repeat_sec {
  border-bottom: 2px solid #eee;
  margin-bottom: 20px;
  margin-top: 20px;
  padding-bottom: 1rem;
  width: 100%;
}

.frm_form_field div.frm_repeat_grid .frm_add_form_row, .frm_form_field div.frm_repeat_inline .frm_add_form_row, .frm_section_heading div.frm_repeat_sec:last-child .frm_add_form_row {
  display: inline-block;
  pointer-events: auto;
  visibility: visible;
}

.frm_form_field .frm_repeat_sec .frm_add_form_row, .frm_section_heading div.frm_repeat_sec:last-child .frm_add_form_row.frm_hide_add_button {
  display: none;
}

.frm_form_field .frm_repeat_sec .frm_add_form_row, .frm_section_heading div.frm_repeat_sec:last-child .frm_add_form_row.frm_hide_add_button, .frm_form_field div.frm_repeat_grid .frm_add_form_row.frm_hide_add_button, .frm_form_field div.frm_repeat_inline .frm_add_form_row.frm_hide_add_button {
  pointer-events: none;
  -moz-transition: opacity .15s ease-in-out;
  -webkit-transition: opacity .15s ease-in-out;
  transition: opacity .15s ease-in-out;
}

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

.frm_repeat_buttons {
  white-space: nowrap;
}

.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;
  vertical-align: middle;
}

.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;
}

div.frm_repeat_grid:after, div.frm_repeat_inline:after, div.frm_repeat_sec:after {
  clear: both;
  content: '';
  display: table;
}


/*----------------------------------------*\
 *  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 {
  float: right;
  font-size: 0.875rem;
  margin: 0;
  padding: 3px 10px;
}

button .frm-icon {
  color: inherit;
  display: inline-block;
  fill: currentColor;
  height: 12px;
  width: 12px;
}

.frm-line-table {
  border-collapse: collapse;
  font-size: 1rem;
  margin-top: 0.5em;
  width: 100%;
}

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

.frm-summary-page-wrapper .frm-line-table th {
  width: 40%;
}

.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 {
  display: inline-block;
  margin: 5px 0 0;
}

.frm_verify {
  left: -3000px;
  position: absolute;
}


/*----------------------------------------*\
 *  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);
  border: 2px solid;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-width: 1px;
  color: #ffffff;
  display: inline-block;
  font-size: 1.25rem;
  height: auto;
  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);
  color: #fff;
}

.frm_submit {
  clear: both;
}

.frm_submit.frm_final_submit {

}

/*----------------------------------------*\
 *  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;
  max-width: 80%;
}

.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;
  max-width: 80%;
}

.frm_message p {
  color: var(--success);
  margin-bottom: 5px;
}


/*=============================================*\
 * 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%;
  max-width: 4rem;
  min-width: 14rem;
  padding: .5em 1em .5em 1em;
}


/*=============================================*\
 *  Pagination Styles
\*=============================================*/
.card-footer.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
\*----------------------------------------*/
.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-left: 0;
  margin-right: 0;
  max-width: 100% !important;
}

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

/* -------------- *\
 *  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;
}


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

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

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

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

.entry-content .wp-block-group .wp-block-group__inner-container {
  margin: 0 2rem;
}

/*----------------------------------------*\
 *  Grouped Columns
\*----------------------------------------*/
.wp-block-group .wp-block-columns {
  padding: 0;
}

.wp-block-group .wp-block-columns:nth-child(n+2) {
  padding-top: 2rem;
}

/*----------------------------------------*\
 *  Columns
\*----------------------------------------*/
.wp-block-columns {
  margin-bottom: 0;
  padding: 2rem 0;
}

.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;
}

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

.wp-block-media-text .wp-block-media-text__content {
  padding: 2rem 0 0;
}

/*----------------------------------------*\
 *  Paragraphs & Headings
\*----------------------------------------*/
.entry-content :is(h1,h2,h3,h4,h5,h6,p) {
  margin-bottom: 0;
}

.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 of
 *  another 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;
}

/*----------------------------------------*\
 *  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;
}

/*--------------------------*\
 *  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;
  margin: 2rem 4rem;
  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 :is(ul,ol) {
  margin: 0 3rem;
  padding: 0 0 0 2rem;
}

.entry-content ul {
  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 {
  margin: .5rem 0 0;
  padding: 0;
}

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

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

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

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

/*li {
  line-height: 1.75;
}*/

/* -------------- *\
 *  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
\*----------------------------------------*/
.wp-block-embed iframe {
  max-height: 368px;
}


/*=============================================*\
 *  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-left: auto;
    margin-right: 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) {

  /*--------------------------*\
   *  Alignment
  \*--------------------------*/
  /*  :is(.alignwide) {
      max-width: 71.25rem !important; !* 1140px @ 16px font ~ XL Bootstrap .container width *!
    }*/
  /*----------------------------------------*\
   *  Entry Content Resets
  \*----------------------------------------*/
  .entry-content > *,
  .entry-content > .wp-block-group > .wp-block-group__inner-container > * {
    margin-left: auto;
    margin-right: auto;
    max-width: 57rem; /* 960px @ 16px font ~ Large Bootstrap .container width */
  }

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

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

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

  .entry-content .wp-block-group .wp-block-group__inner-container {
    margin-left: 4rem;
    margin-right: 4rem;
  }

  /*----------------------------------------*\
   *  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-left: auto;
    margin-right: auto;
  }

  /*--------------------------*\
   *  Lists
  \*--------------------------*/
  .entry-content > :is(ul,ol) {
    margin-left: auto;
    margin-right: 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-left: auto;
    margin-right: auto;
  }
}

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


  /*----------------------------------------*\
   *  Entry Content Resets
  \*----------------------------------------*/
  .entry-content *.alignwide {
    margin-left: auto;
    margin-right: 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;
  }

  /*--------------------------*\
   *  Lists
  \*--------------------------*/
  /*  .entry-content > ul {
      max-width: calc(60rem - 4rem); !* 896px *!
    }
    .entry-content > ol {
      max-width: calc(60rem - 6rem); !* 896px *!
    }*/
  /*--------------------------*\
   *  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 */
  }
}