@charset "UTF-8";
/**
Theme Name: CharmCat Theme
Author: CharmCat Creative LLC
Author URI: https://charmcat.net
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 4.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: charmcat-v3-astra
Template: astra
*/
/*! ******************************************************
*
*	Variables
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*! ******************************************************
*
*	Helper Classes Ported from Bootstrap
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
.hidden {
  display: none;
  visibility: hidden;
}

@media screen and (max-width: 768px) {
  .hidden-sm {
    display: none;
    visibility: hidden;
  }
}
@media screen and (max-width: 480px) {
  .hidden-xs {
    display: none;
    visibility: hidden;
  }
}
.text-center {
  text-align: center;
}

.center-block {
  margin: 0 auto;
  display: block !important;
}

.theme-astra .container {
  width: initial;
}

/*! ******************************************************
*
*   Add-ins for Bootstrap Components:
*
*   Tabs
*   Collapse
*   Modals
*
*   Bootstrap Version: 4.1
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
.fade {
  transition: opacity 0.15s linear;
}

@media screen and (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

@media screen and (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}

.close:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  color: #000;
  text-decoration: none;
  opacity: 0.75;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
}

.modal-open {
  overflow: hidden;
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}

.modal.fade .modal-dialog {
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  -webkit-transform: translate(0, -25%);
  transform: translate(0, -25%);
}

@media screen and (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.modal-dialog-centered {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(100% - (0.5rem * 2));
}

.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - (0.5rem * 2));
  content: "";
}

.modal-content {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid #e9ecef;
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}

.modal-header .close {
  padding: 1rem;
  margin: -1rem -1rem -1rem auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.modal-body {
  position: relative;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 1rem;
}

.modal-footer {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 1rem;
  border-top: 1px solid #e9ecef;
}

.modal-footer > :not(:first-child) {
  margin-left: 0.25rem;
}

.modal-footer > :not(:last-child) {
  margin-right: 0.25rem;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }

  .modal-dialog-centered {
    min-height: calc(100% - (1.75rem * 2));
  }

  .modal-dialog-centered::before {
    height: calc(100vh - (1.75rem * 2));
  }

  .modal-sm {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    max-width: 800px;
  }
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

/*! ******************************************************
*
*	Typography
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
body {
  font-size: 16px;
}

h1 > a,
h2 > a,
h3 > a,
h4 > a,
h5 > a {
  color: #7a687d;
  text-decoration: none;
}

h1.condensed,
h2.condensed,
h3.condensed,
h4.condensed,
h5.condensed {
  margin-top: 2px;
  margin-bottom: 6px;
}

.border-title {
  display: table;
  width: 100%;
  white-space: nowrap;
  text-align: center;
  font-family: "Meow Script", Lora, Georgia, serif !important;
  font-weight: normal !important;
  text-transform: lowercase;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .border-title {
    display: flex;
  }
}
.border-title:before, .border-title:after {
  border-bottom: 1px solid #f3e2ee;
  content: "";
  display: table-cell;
  position: relative;
  top: -0.5em;
  width: 45%;
}
.border-title:before {
  right: 1.5%;
}
.border-title:after {
  left: 1.5%;
}

h3.border-title {
  font-size: 35px;
}

h4.border-title {
  font-size: 32px;
}

.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
  margin-bottom: 5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}

a > img {
  opacity: 1;
}
a > img:hover {
  opacity: 0.6;
}

.sales-copy {
  font-size: 20px;
  margin-top: 30px;
  line-height: 1.5;
}
.sales-copy h1 {
  text-transform: none;
  font-size: 105px;
}
.sales-copy h2 {
  font-size: 55px;
}
.sales-copy h3 {
  font-size: 35px;
}
.sales-copy ul {
  margin: 0 30px 20px !important;
}
.sales-copy ul li {
  margin: 14px 0;
}

@media screen and (max-width: 480px) {
  .sales-copy {
    font-size: 18px;
  }
  .sales-copy h1 {
    font-size: 60px;
  }
  .sales-copy h2 {
    font-size: 45px;
  }
  .sales-copy ul {
    margin: 20px 30px;
  }
  .sales-copy ul li {
    margin: 14px 0;
  }
}
p.small {
  font-size: 14px;
  line-height: 1.2;
  margin-bottom: 8px;
}

p.condensed {
  line-height: 1.1;
  margin-bottom: 6px;
  margin-top: 0;
}

blockquote.wp-block-quote {
  font-family: "Meow Script", Lora, Georgia, serif;
  font-size: 24px;
  line-height: 1;
}
blockquote.wp-block-quote > * {
  background-color: #f3e2ee;
  padding-left: 60px;
  padding-right: 60px;
}

blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
  font-size: 1.5em;
  border: none;
}

blockquote footer {
  display: block;
  font-size: 80%;
  line-height: 1.428571429;
  color: #e3dde3;
}

blockquote footer:before {
  content: "— ";
}

blockquote.testimonial {
  border: none;
  background: #f3e2ee;
  font-size: 2.6rem;
  margin: 40px 45px;
}

blockquote.testimonial footer {
  text-align: right;
  color: #664469;
}

hr, hr.wp-block-separator {
  border: 0;
  color: #7a687d;
}

.list-unstyled {
  list-style: none;
}

table, .table, th, td {
  border: none;
}

table,
.table {
  width: 100%;
}
table thead,
.table thead {
  font-weight: bold;
}
table th,
.table th {
  line-height: 1.2;
  font-weight: bold;
  border-bottom: 1px solid #7a687d;
}
table td,
.table td {
  border-bottom: 1px solid #7a687d;
  padding: 10px;
  line-height: 1.2;
}
table td p,
.table td p {
  margin: 0;
  padding: 6px 0;
}

/*! ******************************************************
*
*	Global Colors
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
div#content {
  background-color: #faf9fa;
}

@media screen and (max-width: 1120px) {
  .ast-page-builder-template .entry-content[ast-blocks-layout] > .inherit-container-width > *,
.ast-page-builder-template .entry-content[ast-blocks-layout] > * > *,
.entry-content[ast-blocks-layout] > .wp-block-cover .wp-block-cover__inner-container .content-area.primary .is-layout-constrained.wp-block-group {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
.bg-primary {
  background-color: #664469;
}
.bg-primary p, .bg-primary h1, .bg-primary h2, .bg-primary h3, .bg-primary h4, .bg-primary h5, .bg-primary h6 {
  color: #faf9fa;
}

.bg-secondary {
  background-color: #f9e38a;
}
.bg-secondary a {
  color: #664469;
}

.bg-tertiary {
  background-color: #f3e2ee;
}

.bg-white {
  background-color: white;
}

.bg-info {
  background-color: #89c7c6;
}

.bg-warning {
  background-color: #e5cf71;
}

.success {
  color: #909f5a;
}

.info {
  color: #89c7c6;
}

.warning {
  color: #e5cf71;
}

.danger {
  color: #de6878;
}

/*! ******************************************************
*
*	Buttons
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
.btn,
.button,
.wp-element-button {
  display: inline-block;
  padding: 5px 12px;
  margin-top: 5px;
  margin-bottom: 5px;
  border-radius: 0 !important;
  text-decoration: none;
  text-align: center;
}
.btn > a,
.button > a,
.wp-element-button > a {
  text-decoration: none;
}

a.btn,
a.button,
a.button.wp-element-button {
  text-decoration: none;
}

.btn,
.button,
.btn-default .btn-primary {
  color: #faf9fa;
  background-color: #664469;
  border-color: #664469;
}
.btn:hover,
.button:hover,
.btn-default .btn-primary:hover {
  color: #f9e38a;
  background-color: #664469;
  border-color: #664469;
}

.btn.btn-secondary {
  color: #664469;
  background-color: #f9e38a;
  border-color: #e5cf71;
}
.btn.btn-secondary:hover {
  color: #faf9fa;
  background-color: #f9e38a;
  border-color: #e5cf71;
}

.btn-block {
  display: block;
  width: 100%;
  word-wrap: break-word;
  white-space: normal;
}

.btn-info {
  color: #faf9fa;
  background-color: #89c7c6;
  border-color: #4b9f9d;
}
.btn-info:hover {
  color: #664469;
  background-color: #89c7c6;
  border-color: #4b9f9d;
}

.btn-xl > .wp-block-buttons > .wp-element-button, .btn.btn-xl {
  font-size: 20px;
  padding: 15px 25px;
}

/*! ******************************************************
*
*	Image Styles
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
.content-area.primary .entry-content > .alignwide > * {
  width: 100%;
  max-width: 100%;
}

.wp-block-image figcaption {
  font-size: 14px;
}

.blocks-gallery-grid .blocks-gallery-image figcaption,
.blocks-gallery-grid .blocks-gallery-item figcaption,
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.5) 70%, transparent);
  padding: 2em 0.77em 0.4em;
  font-size: 0.9em;
}

.img-caption-wrapper .img-caption {
  margin: 20px 0;
}

.img-caption-wrapper .img-caption:last {
  margin: 20px 0 30px;
}

.media-body img:first-of-type {
  padding-top: 20px;
}

.media-right {
  padding-left: 20px;
}

.media-left {
  padding-right: 20px;
}

@media screen and (max-width: 767px) {
  .media-right,
.media-left {
    padding: 0;
    width: 100%;
    float: none;
    display: inline-block;
    text-align: center;
  }

  .media-body {
    width: 100%;
    display: block;
  }
}
.media-heading {
  margin-top: 8px;
  margin-bottom: 5px;
}

.h1.media-heading,
h1.media-heading,
h1.media-heading a {
  color: #664469;
}

.h2.media-heading,
h2.media-heading,
h2.media-heading a {
  color: #664469;
}

.h3.media-heading,
h3.media-heading,
h3.media-heading a {
  color: #664469;
}

.media-list {
  padding-left: 0;
  list-style: none;
}

.media-responsive .media-left,
.media-responsive .media-right,
.media-responsive .media-body {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  min-height: 200px;
}

@media screen and (min-width: 769px) {
  .media-responsive .media-left,
.media-responsive .media-right,
.media-responsive .media-body {
    display: table-cell;
    float: none;
    vertical-align: top;
  }
}
.media.hero-img {
  padding: 50px 30px;
  min-height: 420px;
}
.media.hero-img .media-body {
  background-color: rgba(255, 255, 255, 0.9);
  border: 1px solid #89c7c6;
  padding: 0 15px 15px;
}
@media screen and (min-width: 769px) {
  .media.hero-img .media-body {
    padding: 45px 30px 45px;
  }
}

.media.visible-xs .media-body {
  background: white;
  padding: 45px 30px 45px;
}

/*! ******************************************************
*
*	Header
*   Mobile Menu JS is in Astra Custom Layouts
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
header.site-header {
  font-size: 14px;
}

header.site-header .site-above-header-wrap .ast-builder-html-element {
  font-size: 12px;
}

header.site-header .ast-builder-grid-row {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
}

.site-header-primary-section-right.site-header-section.ast-flex.ast-grid-right-section {
  align-items: flex-start;
}
.site-header-primary-section-right.site-header-section.ast-flex.ast-grid-right-section .ast-builder-layout-element.site-header-focus-item {
  margin-top: 10px;
  height: 22px;
}
.site-header-primary-section-right.site-header-section.ast-flex.ast-grid-right-section .ast-site-header-cart .ast-woo-header-cart-info-wrap,
.site-header-primary-section-right.site-header-section.ast-flex.ast-grid-right-section .ast-edd-site-header-cart .ast-edd-header-cart-info-wrap {
  font-weight: normal;
}

.ast-site-header-cart .ast-addon-cart-wrap i.astra-icon:after {
  box-shadow: none;
  padding: 1px;
  background-color: #220d26;
}

header.site-header .ast-builder-menu ul.sub-menu,
header.site-header .ast-builder-menu ul.astra-megamenu.sub-menu {
  border: 1px solid #7a687d;
  min-width: max-content;
  max-width: 1140px;
}

header.site-header .main-header-menu .menu-item.menu-item-heading > .menu-link {
  font-family: "Meow Script", Lora, Georgia, serif;
  font-weight: normal;
  font-size: 30px;
  line-height: 1;
  padding: 0;
  border: none;
}

.ast-header-break-point .main-navigation ul.main-header-menu.stack-on-mobile .menu-item {
  border-bottom: 1px solid #f9e38a;
}

.ast-header-break-point .main-navigation ul.main-header-menu.stack-on-mobile .menu-item .menu-link {
  border: none;
  width: initial;
  min-height: 36px;
  margin-right: 100px;
}

.site-header .main-header-menu .sub-menu .menu-link,
.site-header .ast-inline-search.ast-search-menu-icon input.search-field {
  padding: 5px;
}

.menu-item .astra-mm-icon-label {
  margin: 6px;
}

header.site-header .main-navigation ul .menu-item button.ast-menu-toggle {
  display: block;
}

.sub-menu .menu-item a.menu-link .ast-icon svg {
  display: none;
}

header.site-header #ast-mobile-header {
  display: initial !important;
}

header#masthead div.ast-below-header-wrap .ast-builder-layout-element.ast-builder-menu-1 nav.site-navigation {
  display: none;
}

header#masthead div div.ast-builder-grid-row-layout-default.ast-builder-grid-row-tablet-layout-default.ast-builder-grid-row-mobile-layout-default {
  width: 100%;
  padding: 0;
}

@media only screen and (min-width: 922px) {
  header.site-header .ast-primary-header-bar .ast-header-woo-cart,
header.site-header .ast-primary-header-bar .ast-header-edd-cart {
    border-left: 1px solid #664469;
    min-height: initial;
    line-height: initial;
  }

  header.site-header div.ast-below-header-bar.ast-below-header div.ast-builder-grid-row .site-header-below-section-center {
    flex-direction: row-reverse;
    justify-content: space-between;
  }

  header.site-header .main-navigation ul .menu-item button.ast-menu-toggle,
header#masthead div.ast-below-header-wrap .ast-builder-layout-element.site-header-focus-item.ast-header-html-2 {
    display: none;
  }

  header#masthead div.ast-below-header-wrap .ast-builder-layout-element.ast-builder-menu-1 nav.site-navigation {
    display: initial !important;
  }

  header nav .menu-item a.menu-link {
    padding: 0 10px;
  }

  header nav .menu-item a.menu-link .ast-icon svg {
    margin-left: 4px;
  }
}
@media only screen and (max-width: 921px) {
  header#masthead div.ast-main-header-wrap.main-header-bar-wrap div.ast-primary-header-bar {
    padding: 5px 20px;
  }

  header.site-header div.ast-main-header-wrap.main-header-bar-wrap div.ast-builder-grid-row {
    flex-direction: row;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }

  header.site-header div.ast-main-header-wrap.main-header-bar-wrap div.ast-builder-grid-row .site-header-primary-section-left {
    display: none;
  }

  header.site-header div.ast-main-header-wrap.main-header-bar-wrap .site-header-primary-section-center .site-branding.ast-site-identity {
    padding: 5px;
  }

  header.site-header div.ast-main-header-wrap.main-header-bar-wrap div.ast-builder-grid-row .site-header-primary-section-right {
    flex-direction: column;
    align-items: flex-end;
    line-height: 0.9;
    text-align: right;
  }

  header.site-header div.ast-main-header-wrap.main-header-bar-wrap div.ast-builder-grid-row .site-header-primary-section-right .ast-builder-layout-element {
    padding-right: 20px;
  }

  header.site-header div.ast-below-header-bar.ast-below-header div.ast-builder-grid-row .site-header-below-section-center {
    grid-template-columns: 0.2fr 0.8fr;
    display: grid;
    border-top: 1px solid #f3e2ee;
  }

  header.site-header div.ast-below-header-bar.ast-below-header div.ast-builder-grid-row .site-header-below-section-center .ast-header-html-2 {
    padding: 5px;
    line-height: 1;
  }

  header.site-header div.ast-below-header-bar.ast-below-header div.ast-builder-grid-row .site-header-below-section-center button.navbar-toggler {
    height: initial;
    margin: 0;
    padding: 4px;
    color: #664469;
    background: none;
  }

  header.site-header button.navbar-toggler .ahfb-svg-iconset svg {
    height: 24px;
    width: 24px;
  }

  header.site-header div.ast-below-header-bar.ast-below-header div.ast-builder-grid-row .site-header-below-section-center .ast-header-search {
    flex-flow: row-reverse;
  }

  header#masthead div.ast-below-header-wrap .ast-builder-layout-element.ast-builder-menu-1 nav.site-navigation.show {
    display: initial !important;
  }

  header#masthead div.ast-below-header-wrap .ast-builder-layout-element.ast-builder-menu-1 nav.site-navigation.collapsing {
    height: 0;
    overflow: hidden;
    transition: height 0.35s ease;
  }
}
@media only screen and (max-width: 921px) and (prefers-reduced-motion: reduce) {
  header#masthead div.ast-below-header-wrap .ast-builder-layout-element.ast-builder-menu-1 nav.site-navigation.collapsing {
    transition: none;
  }
}
@media only screen and (max-width: 921px) {
  header.site-header div.ast-below-header-bar.ast-below-header div.ast-builder-grid-row .site-header-below-section-center div.ast-builder-menu {
    grid-column: auto/span 2;
    padding: 0;
  }
}
@media only screen and (max-width: 921px) {
  header.site-header .ast-builder-menu-1 .menu-item:hover > .menu-link,
header.site-header .ast-builder-menu-1 .inline-on-mobile .menu-item:hover > .ast-menu-toggle {
    background: inherit;
  }
}
@media only screen and (max-width: 921px) {
  header.site-header .ast-builder-menu-1 ul.sub-menu .menu-item .ast-mm-widget-item img {
    display: none;
    visibility: hidden;
  }
}
@media only screen and (max-width: 921px) {
  header.site-header .main-navigation ul .menu-item .menu-link .icon-arrow:first-of-type {
    display: none;
  }
}
@media only screen and (max-width: 921px) {
  #menu-item-337691 > ul {
    display: block !important;
  }
}
/*! ******************************************************
*
*	Theme Containers
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
.ast-single-post.ast-page-builder-template .site-main,
.woocommerce.ast-page-builder-template .site-main,
.ast-single-post.ast-page-builder-template .site-main > article,
article > .entry-content > .wp-block-toolset-blocks-container {
  padding: 0;
}

.ast-single-post.ast-page-builder-template .site-main > article,
.woocommerce.ast-page-builder-template .site-main > article {
  padding-top: 0;
}

.ast-page-builder-template .entry-content[ast-blocks-layout] > .alignfull > .entry-content {
  max-width: var(--wp--custom--ast-content-width-size) !important;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--wp--custom--ast-content-width-size) !important;
}

article > .entry-content > .wp-block-toolset-blocks-container {
  padding-left: 10px;
  padding-right: 10px;
}

@media screen and (min-width: 1110px) {
  .content-area .is-layout-constrained {
    margin: 0 10px;
  }
}
.yoast-breadcrumbs {
  font-size: 12px;
  line-height: 1.3;
}

.ast-row {
  margin: 0;
}

.ast-right-sidebar #secondary, .ast-right-sidebar #primary {
  border: none;
  margin: 15px 0;
}

.secondary .sidebar-main {
  padding: 20px 25px;
}

.ast-right-sidebar .site-content .ast-container {
  column-gap: 20px;
}

header.entry-header {
  max-width: var(--wp--custom--ast-content-width-size);
  margin-left: auto;
  margin-right: auto;
}

.display-as-table .wp-block-toolset-blocks-grid-column.tb-grid-column {
  display: table;
  min-height: 360px;
}

.display-as-table .wp-block-toolset-blocks-container.tb-container {
  display: table-cell;
}

/*! ******************************************************
*
*	Used in Several Places
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
#page header.entry-header {
  display: none;
}

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
  background: url("https://charmcattest.wpengine.com/wp-content/themes/charmcat-v3-astra/assets/listing-icons.png") no-repeat;
  background-position: -36px 0;
  width: 18px;
  height: 18px;
}

#comments {
  display: none;
  visibility: hidden;
}

fieldset {
  border: none;
  padding: 0;
}
fieldset .comment-form-textarea {
  padding: 0;
}

/*! ******************************************************
*
*	Footer
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
div.site-below-footer-wrap {
  font-size: 12px;
}

/*! ******************************************************
*
*	Forms
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
.form_wrapper,
form {
  max-width: 100%;
  width: 100%;
  margin: 0;
}

.form_wrapper {
  background: #f3e2ee;
  padding: 10px 20px 20px;
}
.form_wrapper .form-no-title {
  padding-top: 30px;
}

.form_wrapper-reverse {
  background: #664469;
  padding: 8px 0;
  color: white;
}
.form_wrapper-reverse .form-no-title {
  padding-top: 15px;
}
.form_wrapper-reverse label {
  color: white;
}
.form_wrapper-reverse p {
  color: white;
}
.form_wrapper-reverse button,
.form_wrapper-reverse .btn {
  color: #664469;
  background-color: #f9e38a;
}
.form_wrapper-reverse button:hover,
.form_wrapper-reverse .btn:hover {
  background-color: #7a687d;
}

.pw_form_wrapper {
  margin: 30px 0;
}
.pw_form_wrapper form.post-password-form input {
  display: inline;
  height: 32px;
  margin: 0 8px;
  border: 1px solid #f9e38a;
}
.pw_form_wrapper form.post-password-form button.btn {
  height: 32px;
}

.form_wrapper_inline {
  margin-top: 0;
}

form.klaviyo-form {
  padding: 0 !important;
}

@media screen and (min-width: 480px) {
  .form_wrapper_inline form.klaviyo-form > div {
    display: grid !important;
    min-height: initial !important;
  }

  .form_wrapper_inline.form_cols_4 form.klaviyo-form > div {
    grid-template-columns: minmax(0, 0.25fr) minmax(0, 0.25fr) minmax(0, 0.25fr) minmax(0, 0.25fr);
  }

  .form_wrapper_inline.form_cols_3 form.klaviyo-form > div {
    grid-template-columns: minmax(0, 0.3333fr) minmax(0, 0.3333fr) minmax(0, 0.3333fr);
  }
}
.form-inline form .form-group {
  display: inline-block;
  margin-bottom: 0;
  vertical-align: middle;
}
.form-inline form .form-group input {
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 7px 15px;
}

.hide-script script {
  display: none;
}

form .form-group {
  margin-bottom: 12px;
}

form label {
  margin-bottom: 1px;
}
form .wpt-form-label {
  white-space: normal;
  margin-bottom: 1px;
}

.hidden_label {
  margin-bottom: 15px;
}
.hidden_label label {
  visibility: hidden;
  display: none;
}

form ul,
ul.payment_methods {
  list-style: none;
  padding: 0;
}

body select {
  max-width: 100%;
}

form select,
.woocommerce .select2-container .select2-selection--single,
.woocommerce select,
.woocommerce-page .select2-container .select2-selection--single,
.woocommerce-page select {
  width: 100%;
  border: 1px solid #89c7c6;
  padding: 3px 8px;
  border-radius: 0 !important;
}

.woocommerce .select2-container .select2-selection--single,
.woocommerce select,
.woocommerce-page .select2-container .select2-selection--single,
.woocommerce-page select {
  padding-right: 18px;
}

form input[type=text],
form input[type=email],
form input[type=tel],
form input[type=url],
form input[type=number],
form input[type=password],
form input[type=search],
form input[type=date],
form input[type=date].form-control {
  border-radius: 0 !important;
}

form input[type=text],
form input[type=email],
form input[type=tel],
form input[type=url],
form input[type=number],
form input[type=password],
form input[type=search],
form input[type=date],
form input[type=date].form-control,
form .form-control,
form .fd-form-group input {
  width: 100%;
  border-radius: 0 !important;
  padding: 3px 7px;
}

form textarea,
form textarea.form-control {
  width: 100%;
  border: 1px solid #89c7c6;
  height: 100px;
  padding: 3px 8px;
  margin-bottom: 10px;
}

form div.checkbox {
  margin-bottom: 3px;
}

form div.checkbox > label {
  display: grid;
  grid-template-columns: 21px 1fr;
  align-items: start;
  line-height: 1.3;
}

input[type=radio],
input[type=checkbox] {
  margin-right: 3px;
  height: 1.1rem;
  width: 1.1rem;
}

.cred-field input[type=radio],
.cred-field input[type=checkbox] {
  margin: 0 10px 0 0;
}

form .wpt-form-checkbox-label {
  display: inline;
}

.cred-form input[type=file] {
  margin: 10px 0 6px;
}

.cred-form div.js-wpt-field-items.js-wpt-repetitive {
  margin-bottom: 0;
}

.cred-form input[type=button] {
  width: initial;
}

.g-recaptcha {
  transform: scale(0.8);
  -webkit-transform: scale(0.8);
  transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
}

.formsection {
  border-bottom: 1px solid #664469;
  font-size: 24px;
  margin: 15px 0 0;
}

/*! ******************************************************
*
*	Sprites / Badges
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
.badges {
  margin-top: 20px;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.badges > * {
  margin-bottom: 15px;
}

.sprite-social {
  background: url("assets/social-icons.png") no-repeat;
  width: 48px;
  height: 48px;
  display: inline-block;
}

.instagram-icon {
  background-position: 0 0;
}

.pinterest-icon {
  background-position: -48px 0;
}

.facebook-icon {
  background-position: -96px 0;
}

.twitter-icon {
  background-position: -144px 0;
}

.youtube-icon {
  background-position: -192px 0;
}

/*! ******************************************************
*
*	Accessibility
*
*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
