@charset "UTF-8";

/*!
 * Theme Name: Outbuilt
 * Theme URI: https://www.theme-junkie.com/themes/outbuilt/
 * Description: Outbuilt is a MultiPurpose WordPress theme.
 * Version: 1.2.0
 * Author: Theme Junkie
 * Author URI: https://www.theme-junkie.com/
 * Tags: one-column, two-columns, left-sidebar, right-sidebar, grid-layout, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, theme-options, threaded-comments, translation-ready, blog
 * Text Domain: outbuilt
 * Tested up to: 5.9
 * Requires PHP: 5.6
 *
 * License: GNU General Public License v2.0 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Outbuilt WordPress Theme, Copyright 2020 - 2021 https://www.theme-junkie.com/
 * Outbuilt is distributed under the terms of the GNU GPL
 *
 * Please DO NOT EDIT THIS FILE, if you want to customize the styles, you can create a child theme
 * See: http://codex.wordpress.org/Child_Themes
 */
/*------------------------------------*
    $CONTENTS
*------------------------------------*/
/**
 * BASE
 * - VARIABLES
 * - NORMALIZE
 * - ICONFONTS
 * - LOADING
 * - SHARED
 * - MAIN
 * - TYPOGRAPHY
 * - FORMS
 * - TABLE
 *.doctor_select_div
 * LAYOUTS
 * - LAYOUTS
 * - HEADER
 * - FOOTER
 * - SIDEBARS
 *
 * COMPONENTS
 * - NAVIGATIONS
 * - CONTENT
 * - GUTENBERG
 * - WIDGETS
 * - POST
 * - COMMENTS
 * - RELATED__POSTS
 * - PAGINATION
 * - AUTHOR__BIO
 * - CUSTOM__FEATURES
 * - BACK__TO__TOP
 * - POPUP__SEARCH
 *
 * VENDORS
 *
 */
/*------------------------------------*
	$VARIABLES
*------------------------------------*/
:root {
  --rubik: 'Rubik', sans-serif;
  --font-size: 1.6rem;
  --line-height: 2.8rem;
  --white-color: #fff;
  --black-color: #293241;
  --primary-color: #e31c25;
  --primary-color-alt: #f2f2f2;
  --secondary-color: var(--primary-color-alt);
  --tertiary-color: var(--secondary-color);
  --border-color: #e2e4e8;
  --primary-text-color: var(--black-color);
  --secondary-text-color: #aaa;
  --heading-text-color: var(--black-color);
}

/*------------------------------------*
	$BASE
*------------------------------------*/
/*------------------------------------*
	$NORMALIZE
*------------------------------------*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  min-height: 100vh !important;
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  min-height: 100vh !important;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type='checkbox'],
[type='radio'] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*------------------------------------*
	$ICONFONTS
*------------------------------------*/
@font-face {
  font-family: 'fontello';
  src: url('assets/fonts/fontello.eot?25789795');
  src: url('assets/fonts/fontello.eot?25789795#iefix') format('embedded-opentype'),
    url('assets/fonts/fontello.woff2?25789795') format('woff2'),
    url('assets/fonts/fontello.woff?25789795') format('woff'),
    url('assets/fonts/fontello.ttf?25789795') format('truetype'),
    url('assets/fonts/fontello.svg?25789795#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
}

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?62161295#fontello') format('svg');
  }
}
*/
[class^='icon-']:before,
[class*=' icon-']:before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: 0.2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-heart-empty:before {
  content: '\e800';
}

/* '' */
.icon-phone:before {
  content: '\e801';
}

/* '' */
.icon-mail:before {
  content: '\e802';
}

/* '' */
.icon-clock:before {
  content: '\e803';
}

/* '' */
.icon-wordpress:before {
  content: '\e804';
}

/* '' */
.icon-rss:before {
  content: '\e805';
}

/* '' */
.icon-soundcloud:before {
  content: '\e806';
}

/* '' */
.icon-plus:before {
  content: '\e807';
}

/* '' */
.icon-search:before {
  content: '\e808';
}

/* '' */
.icon-menu:before {
  content: '\e809';
}

/* '' */
.icon-arrows-cw:before {
  content: '\e80a';
}

/* '' */
.icon-eye:before {
  content: '\e80b';
}

/* '' */
.icon-play:before {
  content: '\e80c';
}

/* '' */
.icon-cancel:before {
  content: '\e80d';
}

/* '' */
.icon-heart:before {
  content: '\e80e';
}

/* '' */
.icon-location:before {
  content: '\e80f';
}

/* '' */
.icon-play-circle:before {
  content: '\e810';
}

/* '' */
.icon-home:before {
  content: '\e811';
}

/* '' */
.icon-arrow-down:before {
  content: '\e813';
}

/* '' */
.icon-arrow-left:before {
  content: '\e814';
}

/* '' */
.icon-arrow-right:before {
  content: '\e815';
}

/* '' */
.icon-arrow-up:before {
  content: '\e816';
}

/* '' */
.icon-check-empty:before {
  content: '\f096';
}

/* '' */
.icon-twitter:before {
  content: '\f099';
}

/* '' */
.icon-facebook:before {
  content: '\f09a';
}

/* '' */
.icon-github:before {
  content: '\f09b';
}

/* '' */
.icon-linkedin:before {
  content: '\f0e1';
}

/* '' */
.icon-download-cloud:before {
  content: '\f0ed';
}

/* '' */
.icon-ok-squared:before {
  content: '\f14a';
}

/* '' */
.icon-youtube:before {
  content: '\f16a';
}

/* '' */
.icon-instagram:before {
  content: '\f16d';
}

/* '' */
.icon-tumblr:before {
  content: '\f173';
}

/* '' */
.icon-apple:before {
  content: '\f179';
}

/* '' */
.icon-dribbble:before {
  content: '\f17d';
}

/* '' */
.icon-skype:before {
  content: '\f17e';
}

/* '' */
.icon-behance:before {
  content: '\f1b4';
}

/* '' */
.icon-spotify:before {
  content: '\f1bc';
}

/* '' */
.icon-pinterest:before {
  content: '\f231';
}

/* '' */
.icon-medium:before {
  content: '\f23a';
}

/* '' */
.icon-vimeo:before {
  content: '\f27d';
}

/* '' */
.icon-shopping-basket:before {
  content: '\f291';
}

/* '' */
.icon-snapchat:before {
  content: '\f2ac';
}

/* '' */
.icon-flickr:before {
  content: '\f303';
}

/* '' */
.icon-codepen:before {
  content: '\f32c';
}

/* '' */
/*------------------------------------*
	$LOADING
*------------------------------------*/
.page-loading {
  position: fixed;
  left: 0;
  right: 0px;
  top: 0;
  bottom: 0px;
  background-color: var(--white-color);
  z-index: 99999;
  height: 100%;
}

.loader {
  position: absolute;
  margin: -25px 0 0 -25px;
  width: 50px;
  top: 50%;
  left: 50%;
}

.loader:before {
  content: '';
  display: block;
  padding-top: 100%;
}

.woocommerce .loader::before {
  background: none !important;
  position: static !important;
}

.circular {
  -webkit-animation: rotate 2s linear infinite;
  animation: rotate 2s linear infinite;
  height: 100%;
  transform-origin: center center;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.path {
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  stroke: #201f22;
  -webkit-animation: dash 1.5s ease-in-out infinite;
  animation: dash 1.5s ease-in-out infinite;
  stroke-linecap: round;
}

@-webkit-keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }

  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}

@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }

  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}

/*------------------------------------*
	$SHARED
*------------------------------------*/
figure>img {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
}

img[class*='align'],
img[class*='attachment-'] {
  height: auto;
}

.wp-caption {
  max-width: 100%;
  margin-bottom: 2.4rem;
}

.wp-caption img[class*='wp-image-'] {
  display: block;
  margin-bottom: 0.5rem;
}

.wp-caption-text {
  font-size: 1.4rem;
  font-style: italic;
  color: #999;
}

.wp-smiley {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  border: 0;
}

embed,
iframe,
object {
  width: 100%;
  max-width: 100%;
}

.alignleft {
  float: left;
  margin-right: var(--line-height);
}

.alignright {
  float: right;
  margin-left: var(--line-height);
}

.aligncenter {
  clear: both;
}

.alignnone {
  display: inline;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar */
}

.sticky,
.bypostauthor {
  font-size: inherit;
}

/**
 * Gallery
 * Taken from Twenty Fourteen theme.
 */
.gallery {
  margin-bottom: 2rem;
}

.gallery-item {
  position: relative;
  float: left;
  overflow: hidden;
  margin: 0 0.4rem 0.4rem 0;
}

.gallery-icon a,
.gallery-icon img {
  display: block;
}

.gallery-columns-1 .gallery-item {
  max-width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 48%;
  max-width: calc(50% - 4px);
}

.gallery-columns-3 .gallery-item {
  max-width: 32%;
  max-width: calc(33.3% - 4px);
}

.gallery-columns-4 .gallery-item {
  max-width: 23%;
  max-width: calc(25% - 4px);
}

.gallery-columns-5 .gallery-item {
  max-width: 19%;
  max-width: calc(20% - 4px);
}

.gallery-columns-6 .gallery-item {
  max-width: 15%;
  max-width: calc(16.7% - 4px);
}

.gallery-columns-7 .gallery-item {
  max-width: 13%;
  max-width: calc(14.28% - 4px);
}

.gallery-columns-8 .gallery-item {
  max-width: 11%;
  max-width: calc(12.5% - 4px);
}

.gallery-columns-9 .gallery-item {
  max-width: 9%;
  max-width: calc(11.1% - 4px);
}

.gallery-columns-1 .gallery-item:nth-of-type(1n),
.gallery-columns-2 .gallery-item:nth-of-type(2n),
.gallery-columns-3 .gallery-item:nth-of-type(3n),
.gallery-columns-4 .gallery-item:nth-of-type(4n),
.gallery-columns-5 .gallery-item:nth-of-type(5n),
.gallery-columns-6 .gallery-item:nth-of-type(6n),
.gallery-columns-7 .gallery-item:nth-of-type(7n),
.gallery-columns-8 .gallery-item:nth-of-type(8n),
.gallery-columns-9 .gallery-item:nth-of-type(9n) {
  margin-right: 0;
}

.gallery-columns-1.gallery-size-medium figure.gallery-item:nth-of-type(1n + 1),
.gallery-columns-1.gallery-size-thumbnail figure.gallery-item:nth-of-type(1n + 1),
.gallery-columns-2.gallery-size-thumbnail figure.gallery-item:nth-of-type(2n + 1),
.gallery-columns-3.gallery-size-thumbnail figure.gallery-item:nth-of-type(3n + 1) {
  clear: left;
}

.gallery-caption {
  font-size: 1.4rem;
  line-height: 2.1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  max-height: 50%;
  margin: 0;
  padding: 0.2rem 0.8rem;
  text-align: left;
  opacity: 0;
  color: var(--white-color);
  background-color: var(--black-color);
}

.gallery-caption:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 5rem;
  content: '';
}

.gallery-item:hover .gallery-caption {
  opacity: 0;
}

.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
  display: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments,
.wc-toolbar,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs,
.pagination .nav-links,
.gallery,
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

.woocommerce-message:before,
.woocommerce-info:before,
.woocommerce-error:before,
.woocommerce-noreviews:before,
p.no-comments:before,
.wc-toolbar:before,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs:before,
.pagination .nav-links:before,
.gallery:before,
.clearfix:before,
.woocommerce-message:after,
.woocommerce-info:after,
.woocommerce-error:after,
.woocommerce-noreviews:after,
p.no-comments:after,
.wc-toolbar:after,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs:after,
.pagination .nav-links:after,
.gallery:after,
.clearfix:after {
  display: table;
  content: '';
}

.woocommerce-message:after,
.woocommerce-info:after,
.woocommerce-error:after,
.woocommerce-noreviews:after,
p.no-comments:after,
.wc-toolbar:after,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs:after,
.pagination .nav-links:after,
.gallery:after,
.clearfix:after {
  clear: both;
}

.woocommerce-tabs .panel .commentlist,
.site-header-cart,
.woocommerce-account .woocommerce-MyAccount-navigation ul,
.woocommerce-thankyou-order-details,
.payment_methods,
.woocommerce-shipping-methods,
.wc-button-actions,
.commentlist,
.menu-social-container ul,
.menu-footer-items,
.menu-mobile-items,
.menu .sub-menu,
.menu,
.widget ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.menu-account-items>li>a {
  overflow: hidden;
  white-space: nowrap;
  text-indent: 110%;
}

.woocommerce-account .entry-content .woocommerce,
.woocommerce-billing-fields__field-wrapper,
.col2-set#customer_login,
.col2-set.addresses,
form.woocommerce-checkout,
.cart-collaterals,
.single-product div.product,
.post-slider .entry,
.events.list-style .entry,
.events.simple-style .entry,
.featured-posts-container,
.author-bio,
.pagination .nav-page,
.sidebar-footer .container,
.footer-text .container {
  display: flex;
  flex-flow: column wrap;
}

@media (min-width: 768px) {

  .woocommerce-account .entry-content .woocommerce,
  .woocommerce-billing-fields__field-wrapper,
  .col2-set#customer_login,
  .col2-set.addresses,
  form.woocommerce-checkout,
  .cart-collaterals,
  .single-product div.product,
  .post-slider .entry,
  .events.list-style .entry,
  .events.simple-style .entry,
  .featured-posts-container,
  .author-bio,
  .pagination .nav-page,
  .sidebar-footer .container,
  .footer-text .container {
    flex-flow: row wrap;
  }
}

/*------------------------------------*
	$MAIN
*------------------------------------*/
*,
*:before,
*:after {
  box-sizing: border-box;
}

/** {*/
/*  min-height: 0;*/
/*  min-width: 0;*/
/*}*/

html {
  font-size: 62.5%;
}

body {
  font-family: var(--rubik);
  font-size: var(--font-size);
  line-height: var(--line-height);
  color: var(--primary-text-color);
  background: var(--primary-color-alt);
}

img {
  border-radius: 0.5rem;
}

/**
 * Selection Color.
 */
::-moz-selection {
  color: var(--white-color);
  background: var(--primary-color);
  text-shadow: none;
}

::selection {
  color: var(--white-color);
  background: var(--primary-color);
  text-shadow: none;
}

::-moz-selection {
  color: var(--white-color);
  background: var(--primary-color);
  text-shadow: none;
}

/*------------------------------------*
	$TYPOGRAPHY
*------------------------------------*/
/**
 * Set link colors.
 */
a {
  transition: all 200ms ease-in-out 0s;
  text-decoration: none;
  color: var(--primary-color);
}

a:visited {
  color: var(--primary-color);
}

a:hover,
a:visited:hover {
  text-decoration: none;
  color: var(--primary-color);
}

/**
 * Headings.
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--rubik);
  font-weight: 500;
  margin: calc(var(--line-height) / 2) 0;
  color: var(--heading-text-color);
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: var(--heading-text-color);
}

h1 a:visited,
h2 a:visited,
h3 a:visited,
h4 a:visited,
h5 a:visited,
h6 a:visited {
  color: var(--heading-text-color);
}

h1,
.h1 {
  font-size: 3rem;
  line-height: 3.3rem;
}

@media (min-width: 576px) {

  h1,
  .h1 {
    font-size: 3.6rem;
    line-height: 3.96rem;
  }
}

h2,
.h2 {
  font-size: 2.4rem;
  line-height: 3.4rem;
}

@media (min-width: 576px) {

  h2,
  .h2 {
    font-size: 3rem;
    line-height: 3.3rem;
  }
}

h3,
.h3 {
  font-size: 2.4rem;
  line-height: 3.12rem;
}

h4,
.h4 {
  font-size: 2rem;
  line-height: 2.6rem;
}

h5,
.h5 {
  font-size: 1.6rem;
}

h6,
.h6 {
  font-size: 1.4rem;
}

/**
 * Text elements.
 */
p {
  margin: 0 0 var(--line-height);
}

abbr[title],
dfn[title] {
  cursor: help;
}

del {
  vertical-align: baseline;
  text-decoration: line-through;
  color: #aaa;
}

code,
kbd,
pre,
samp {
  font-size: var(--font-size);
}

pre {
  margin: var(--line-height) 0;
  padding: var(--line-height);
  padding-left: var(--line-height) !important;
  padding-right: var(--line-height) !important;
  color: #2080ad;
  background-color: #fafafa;
}

code {
  color: #2080ad;
}

blockquote {
  font-style: italic;
  margin: var(--line-height) 4rem;
  padding-left: 2rem;
  color: #777;
  border-left: 0.3rem solid #555;
}

blockquote cite {
  position: relative;
  display: block;
  padding: 1rem 0 0 2rem;
  color: #555;
}

blockquote cite:before {
  position: absolute;
  left: 0;
  content: '\2014';
}

q:before,
q:after,
blockquote:before,
blockquote:after {
  content: '';
}

address {
  display: block;
  margin: 0 0 var(--line-height);
}

ul,
ol {
  margin: var(--font-size) 0;
  padding: 0 0 0 var(--line-height);
}

ul {
  list-style: disc;
}

ol {
  list-style-type: decimal;
}

ol ol {
  list-style: upper-alpha;
}

ol ol ol {
  list-style: lower-roman;
}

ol ol ol ol {
  list-style: lower-alpha;
}

li ul,
li ol {
  margin: 0;
}

dl {
  margin: var(--line-height);
}

dt {
  font-weight: 500;
}

dd {
  margin-bottom: var(--line-height);
}

hr {
  clear: both;
  height: 0.1rem;
  min-height: 0;
  margin: var(--line-height) 0;
  border-top: 0.1rem solid var(--border-color);
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
}

hr.dotted {
  border-style: dotted;
}

hr.dashed {
  border-style: dashed;
}

hr.blackborder {
  border-color: #000;
}

hr.whiteborder {
  border-color: #fff;
}

/**
 * Print styles.
 */
@media print {
  * {
    color: #000 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: ' (' attr(href) ')';
  }

  abbr[title]:after {
    content: ' (' attr(title) ')';
  }

  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: '';
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

/*------------------------------------*
	$FORMS
*------------------------------------*/
form input[type='text'],
form input[type='password'],
form input[type='email'],
form input[type='url'],
form input[type='date'],
form input[type='month'],
form input[type='time'],
form input[type='datetime'],
form input[type='datetime-local'],
form input[type='week'],
form input[type='number'],
form input[type='search'],
form input[type='tel'],
form input[type='color'],
form select,
form textarea {
  display: inline-block;
  box-sizing: border-box;
  height: 5rem;
  padding: 1.5rem;
  vertical-align: middle;
  border-radius: 0.3rem;
  border: 0;
  -webkit-appearance: none;
  border: 0.1rem solid var(--border-color);
  border-radius: 0.3rem;
  box-shadow: 0 3px 2px rgba(0, 0, 0, 0.02);
  font-size: 1.4rem;
}

form textarea {
  height: auto;
  border-radius: 0.5rem;
}

/*
Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
since IE8 won't execute CSS that contains a CSS3 selector.
*/
form input:not([type]) {
  display: inline-block;
  box-sizing: border-box;
  padding: 0.5em 0.6em;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 3px #ddd;
}

/* Chrome (as of v.32/34 on OS X) needs additional room for color to display. */
/* May be able to remove this tweak as color inputs become more highstakeized across browsers. */
form input[type='color'] {
  padding: 0.2em 0.5em;
}

form input[type='text']:focus,
form input[type='password']:focus,
form input[type='email']:focus,
form input[type='url']:focus,
form input[type='date']:focus,
form input[type='month']:focus,
form input[type='time']:focus,
form input[type='datetime']:focus,
form input[type='datetime-local']:focus,
form input[type='week']:focus,
form input[type='number']:focus,
form input[type='search']:focus,
form input[type='tel']:focus,
form input[type='color']:focus,
form select:focus,
form textarea:focus {
  border-color: #ececec;
  outline: 0;
}

/*
Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
since IE8 won't execute CSS that contains a CSS3 selector.
*/
form input:not([type]):focus {
  border-color: #129fea;
  outline: 0;
}

form input[type='file']:focus,
form input[type='radio']:focus,
form input[type='checkbox']:focus {
  outline: thin solid #129fea;
  outline: 1px auto #129fea;
}

form input[type='checkbox'],
form input[type='radio'] {
  display: inline-block;
  margin: 0.5em 0;
}

form input[type='text'][disabled],
form input[type='password'][disabled],
form input[type='email'][disabled],
form input[type='url'][disabled],
form input[type='date'][disabled],
form input[type='month'][disabled],
form input[type='time'][disabled],
form input[type='datetime'][disabled],
form input[type='datetime-local'][disabled],
form input[type='week'][disabled],
form input[type='number'][disabled],
form input[type='search'][disabled],
form input[type='tel'][disabled],
form input[type='color'][disabled],
form select[disabled],
form textarea[disabled] {
  cursor: not-allowed;
  color: #cad2d3;
  background-color: #eaeded;
}

/*
Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
since IE8 won't execute CSS that contains a CSS3 selector.
*/
form input:not([type])[disabled] {
  cursor: not-allowed;
  color: #cad2d3;
  background-color: #eaeded;
}

form input[readonly],
form select[readonly],
form textarea[readonly] {
  color: #777;
  /* menu text color */
  border-color: #ccc;
  background-color: #eee;
  /* menu hover bg color */
}

form input:focus:invalid,
form textarea:focus:invalid,
form select:focus:invalid {
  color: #b94a48;
  border-color: #e9322d;
}

form input[type='file']:focus:invalid:focus,
form input[type='radio']:focus:invalid:focus,
form input[type='checkbox']:focus:invalid:focus {
  outline-color: #e9322d;
}

form select {
  /* Normalizes the height; padding is not sufficient. */
  background-color: white;
}

form select[multiple] {
  height: auto;
}

form label {
  margin: 0 0 0.2em;
}

form fieldset {
  margin: 0;
  padding: 0.35em 0 0.75em;
  border: 0;
}

form legend {
  display: block;
  width: 100%;
  margin-bottom: 0.3em;
  padding: 0.3em 0;
  color: var(--black-color);
  font-weight: 500;
  border-bottom: 0.1rem solid var(--border-color);
}

/**
 * Button
 */
button,
input[type='button'],
input[type='reset'],
input[type='submit'],
.button,
.menu li.btn a {
  font-family: inherit;
  font-size: 1.3rem;
  font-weight: 500;
  text-decoration: none;
  padding: 1.5rem 5.3rem;
  color: var(--white-color);
  border: 0;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color linear 200ms;
  border-radius: 0.3rem;
  background-color: var(--black-color);
}

button:hover,
input[type='button']:hover,
input[type='reset']:hover,
input[type='submit']:hover,
button:focus,
input[type='button']:focus,
input[type='reset']:focus,
input[type='submit']:focus,
.button:hover,
.menu li.btn a:hover,
.button:focus,
.menu li.btn a:focus {
  background-color: var(--primary-color);
  color: var(--white-color);
}

button:focus,
input[type='button']:focus,
input[type='reset']:focus,
input[type='submit']:focus,
.button:focus,
.menu li.btn a:focus {
  outline: 0;
}

button:active,
input[type='button']:active,
input[type='reset']:active,
input[type='submit']:active,
.button:active,
.menu li.btn a:active {
  background-color: var(--primary-color);
  color: var(--white-color);
}

/* Firefox: Get rid of the inner focus border */
button::-moz-focus-inner,
.button::-moz-focus-inner,
.menu li.btn a::-moz-focus-inner,
input[type='button']::-moz-focus-inner,
input[type='reset']::-moz-focus-inner,
input[type='submit']::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/*------------------------------------*
	$TABLE
*------------------------------------*/
table {
  width: 100%;
  margin-bottom: var(--line-height);
  border-spacing: 0;
  border: 0.1rem solid var(--border-color);
}

table th,
table td {
  padding: 1.8rem 2.4rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 0.1rem solid var(--border-color);
  vertical-align: middle;
  text-transform: capitalize;
}

table th p,
table td p {
  margin: 0;
}

table th {
  background-color: var(--secondary-color);
}

table tr:last-child td {
  border-bottom: 0;
}

/*------------------------------------*
	$LAYOUTS
*------------------------------------*/
.wide-container {
  background-color: var(--white-color);
}

.boxed-container .wide-container,
.framed-container .wide-container {
  max-width: 120rem;
  margin: 0 auto;
  box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.03);
}

.framed-container {
  margin: 0 auto;
}

@media (min-width: 1024px) {
  .framed-container {
    margin: 3rem auto;
  }
}

.container {
  max-width: 117rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 3rem;
}

.container:after {
  content: ' ';
  display: block;
  clear: both;
}

@media (min-width: 1170px) {
  .container {
    padding: 0;
  }
}

.site-content {
  margin-bottom: 2rem;
}

.search-no-results .site-content {
  margin-bottom: 7rem;
}

.site-content .container {
  display: flex;
  display: contents !important;
  flex-direction: column;
  flex-wrap: wrap;
}

@media (min-width: 992px) {
  .site-content .container {
    flex-direction: row;
  }
}

.full-width-narrow .site-content .container {
  justify-content: center;
}

@media (max-width: 992px) {
  .content-area {
    /* margin-bottom: 6rem; */
  }
}

@media (min-width: 992px) {
  .right-sidebar .content-area {
    flex: 0 0 66.9230769231%;
    margin-right: 2.5641025641%;
  }
}

@media (min-width: 992px) {
  .left-sidebar .content-area {
    flex: 0 0 66.9230769231%;
    order: 2;
  }
}

@media (min-width: 992px) {
  .full-width-narrow .content-area {
    flex: 0 0 66.9230769231%;
  }
}

.full-width .content-area {
  flex: 0 0 100%;
}

@media (min-width: 992px) {
  .right-sidebar .widget-area {
    flex: 0 0 30.5128205128%;
    padding-left: 5.7rem;
  }
}

@media (min-width: 992px) {
  .left-sidebar .widget-area {
    flex: 0 0 30.5128205128%;
    margin-right: 2.5641025641%;
    order: 1;
    padding-right: 5.7rem;
  }
}

/**
 * Header
 */
.site-header {
  margin-bottom: 4rem;
  box-shadow: 0 5px 15px rgba(146, 153, 184, 0.12);
  background-color: var(--white-color);
}

.home .site-header,
.archive .site-header,
.blog .site-header,
.search .site-header {
  margin-bottom: 0;
}

.site-header .container {
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  justify-content: center;
  min-height: 10rem;
}

@media (min-width: 325px) {
  .site-header .container {
    flex-flow: row wrap;
  }
}

@media (min-width: 768px) {
  .site-header .container {
    justify-content: flex-start;
  }
}

.site-branding {
  flex: 0 0 50%;
}

@media (min-width: 576px) {
  .site-branding {
    flex: 0 0 50%;
    margin-bottom: 0;
    margin-top: 0;
  }
}

@media (min-width: 800px) {
  .site-branding {
    flex: 0 0 23.0769230769%;
    margin-right: 2.5641025641%;
  }
}

@media (min-width: 992px) {
  .site-branding {
    flex: 0 0 14.5299145299%;
    margin-right: 2.5641025641%;
  }
}

.site-branding .site-title {
  font-size: 3rem;
}

.site-branding .site-title a {
  color: var(--black-color);
}

.site-branding img {
  display: block;
}

/**
 * Right navigation
 */
.right-navigation {
  display: none;
}

@media (min-width: 1024px) {
  .right-navigation {
    display: flex;
    flex-flow: column wrap;
    position: relative;
    text-align: right;
    margin-left: auto;
    align-items: center;
  }
}

@media (min-width: 1024px) and (min-width: 1024px) {
  .right-navigation {
    flex-flow: row wrap;
  }
}

/**
 * Search icon
 */
.search-icon {
  margin-left: 2rem;
  border-left: 1px solid #dedede;
  padding-left: 1rem;
}

.search-icon .search-toggle {
  display: inline-block;
  color: var(--black-color);
  font-size: 1.8rem;
}

.search-icon .search-toggle:visited {
  color: var(--black-color);
}

.search-icon .search-toggle:hover,
.search-icon .search-toggle:visited:hover {
  opacity: 0.7;
}

.search-icon .search-toggle .icon-search::before {
  content: '\e808';
}

/**
 * Archive header
 */
.archive-header {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 3rem 0;
  margin-bottom: 5rem;
  background-color: #efefef;
}

.archive-header .browse {
  color: #999;
  font-size: 1rem;
  text-transform: uppercase;
}

.archive-header .search-title {
  margin-top: 0;
}

.author .archive-header {
  padding: 3rem 0;
}

.author .archive-header .avatar {
  margin-bottom: 1rem;
}

.elementor-template-full-width .archive-header {
  display: none;
}

.archive-header .archive-content {
  position: relative;
  z-index: 1;
  max-width: 65rem;
  text-align: center;
}

.archive-header .archive-title {
  font-size: 3rem;
  text-transform: uppercase;
  margin-bottom: 1rem;
  margin-top: 0;
}

@media (min-width: 768px) {
  .archive-header .archive-title {
    font-size: 4rem;
  }
}

.author .archive-header .archive-title {
  margin-top: 0;
  margin-bottom: 2rem;
}

.archive-header .archive-desc p {
  margin-bottom: 0;
}

.archive-header .page-title {
  font-size: 3rem;
}

.archive-header .avatar {
  border-radius: 50%;
}

.footer-branding {
  margin: 5rem 0;
  text-align: center;
}

.footer-text {
  padding: 2rem;
  text-align: center;
  margin: auto;
  font-size: 1.4rem;
  background-color: #1e1e1e;
  color: var(--white-color);
}

.footer-text .container {
  justify-content: space-between;
}

.footer-text .copyright {
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  .footer-text .copyright {
    flex: 0 0 48.7179487179%;
    margin-bottom: 0;
  }
}

.footer-text a {
  font-weight: 500;
}

.footer-text a:visited:hover {
  color: var(--primary-color);
}

.footer-text a:hover {
  color: var(--primary-color);
}

.sidebar-footer {
  padding: 4rem 0 0;
  color: var(--white-color);
  background-color: var(--black-color);
}

.sidebar-footer .container {
  justify-content: space-between;
}

@media (min-width: 768px) {
  .sidebar-footer.widget-column-2 .footer-column {
    width: 48.7179487179%;
  }
}

@media (min-width: 768px) {
  .sidebar-footer.widget-column-3 .footer-column {
    width: 31.6239316239%;
  }
}

@media (min-width: 768px) {
  .sidebar-footer.widget-column-4 .footer-column {
    width: 23.0769230769%;
  }
}

.sidebar-footer .widget a {
  color: #ccc;
  letter-spacing: 0;
  font-weight: 400;
}

.sidebar-footer .widget a:visited {
  color: #ccc;
  font-weight: 400;
}

.sidebar-footer .widget a:hover {
  color: var(--primary-color);
}

.sidebar-footer .widget li a {
  font-weight: 400;
}

.sidebar-footer .widget li a:visited {
  font-weight: 400;
}

.widget {
  margin-bottom: 6rem;
  word-break: break-word;
  font-size: 1.4rem;
}

.widget li {
  padding: 0.5rem 0;
}

.widget select {
  width: 100%;
  max-width: 100%;
  height: 4rem;
  padding: 1rem;
  border: 0.1rem solid var(--border-color);
  background-color: var(--white-color);
}

.widget.widget_text a,
.widget.widget_custom_html a {
  border-bottom: 0.1rem solid;
}

.widget a {
  color: var(--primary-text-color);
}

.widget a:hover {
  color: var(--primary-color);
}

.widget-title {
  margin-top: 0;
  margin-bottom: 2rem;
  font-size: 1.5rem;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--black-color);
  position: relative;
}

.widget_recent_entries .post-date {
  font-size: 1.2rem;
  display: block;
  color: var(--secondary-text-color);
}

.widget_categories ul,
.widget_archive ul {
  display: flex;
  flex-flow: row wrap;
}

.widget_categories li,
.widget_archive li {
  flex: 0 0 50%;
}

.widget_search form {
  display: inline-block;
  width: 100%;
  position: relative;
}

.widget_search form input[type='search'] {
  padding-right: 3.8rem;
  width: 100%;
}

.widget_search form button {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 4.8rem;
  margin-left: 0.2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  right: 0;
  top: 0;
  background-color: transparent;
  color: var(--black-color);
  font-size: 0;
  min-width: 3.8rem;
  padding: 0;
  margin: 0;
  min-height: 4.8rem;
  border: none;
}

.widget_search form button::before {
  content: '\e808';
  font-size: 1.6rem;
}

.widget_search form button:hover {
  color: var(--primary-color);
}

.widget_tag_cloud a {
  display: inline-block;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0.2rem 1rem;
  text-transform: lowercase;
  background-color: var(--primary-color);
  color: var(--white-color);
}

.widget_tag_cloud a:hover {
  background-color: var(--secondary-color);
  color: var(--primary-text-color);
}

.widget_pages .children {
  padding-left: calc(var(--line-height) / 2);
}

.widget_nav_menu .sub-menu {
  padding-left: calc(var(--line-height) / 2);
}

.widget_nav_menu .sub-menu li:last-child {
  padding-bottom: 0;
}

.widget-tj-contact-info .contact-info-widget li i,
.elementor-widget .contact-info-widget li i {
  color: var(--primary-text-color);
  border-color: var(--primary-text-color);
}

.widget-tj-contact-info .contact-info-widget li.skype a,
.elementor-widget .contact-info-widget li.skype a {
  background-color: var(--primary-color);
  border-radius: 5rem;
  padding: 1.7rem 2.8rem;
}

.widget-tj-contact-info .contact-info-widget li.skype a:hover,
.elementor-widget .contact-info-widget li.skype a:hover {
  background-color: var(--primary-text-color);
}

.widget-tj-contact-info .contact-info-widget li .tj-contact-title,
.elementor-widget .contact-info-widget li .tj-contact-title {
  color: inherit;
}

.sidebar-footer .widget-tj-contact-info li i,
.sidebar-footer .elementor-widget li i {
  color: var(--primary-text-color);
  border-color: var(--primary-text-color);
}

.sidebar-footer .widget-tj-contact-info .contact-info-widget .tj-contact-title,
.sidebar-footer .elementor-widget .contact-info-widget .tj-contact-title {
  color: var(--primary-text-color);
}

.widget-tj-recent-posts .tj-recent-posts li {
  border-color: var(--border-color);
  align-items: flex-start;
  margin-top: 0;
}

.widget-tj-recent-posts .tj-recent-posts .recent-posts-info {
  color: inherit;
}

.widget-tj-recent-posts .tj-recent-posts .recent-posts-comments a {
  color: inherit;
}

.widget-tj-recent-posts .tj-recent-posts .recent-posts-comments a:hover {
  color: var(--primary-color);
}

.widget-tj-social .tj-social-icons.style-light a {
  color: var(--primary-text-color);
  border-color: var(--border-color);
}

.widget-tj-social .tj-social-icons.style-dark a {
  color: var(--primary-text-color);
  border-color: var(--border-color);
}

/**
 * Tag cloud
 */
.widget-tj-tags .tagcloud a {
  border-color: var(--border-color);
  background-color: transparent;
  color: var(--primary-text-color);
}

.widget-tj-tags .tagcloud a:hover {
  border-color: var(--primary-color);
  background-color: transparent;
  color: var(--primary-color);
}

/**
 * About
 */
.widget-tj-about-me .tj-about-me-text {
  line-height: 2.2rem;
}

.outbuilt-recent-posts.grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.outbuilt-recent-posts.grid li {
  margin-bottom: 2rem;
  flex: 0 0 45.9459459459%;
  width: 0 0 45.9459459459%;
}

@media (min-width: 768px) {
  .outbuilt-recent-posts.grid li {
    flex: 0 0 100%;
    width: 0 0 100%;
    margin-bottom: 0;
  }
}

@media (min-width: 992px) {
  .outbuilt-recent-posts.grid li {
    flex: 0 0 45.9459459459%;
    width: 0 0 45.9459459459%;
  }
}

.outbuilt-recent-posts.grid li:nth-child(1),
.outbuilt-recent-posts.grid li:nth-child(2) {
  margin-top: 0;
  padding-top: 0;
}

.outbuilt-recent-posts.classic li {
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #e9e9e9;
}

.site-footer .outbuilt-recent-posts.classic li {
  border-color: #333;
}

.outbuilt-recent-posts.classic li:first-child {
  margin-top: 0;
  padding-top: 0;
  border: 0;
}

.outbuilt-recent-posts li {
  position: relative;
  line-height: 1.6;
  margin-top: 1rem;
  padding-top: 1rem;
  padding-bottom: 0;
}

.outbuilt-recent-posts .recent-posts-thumbnail {
  position: relative;
  width: 25%;
  min-width: 68px;
  margin-right: 5%;
}

.outbuilt-recent-posts .recent-posts-thumbnail img {
  width: 100%;
  display: block;
}

.outbuilt-recent-posts .recent-posts-details {
  width: 100%;
}

.outbuilt-recent-posts .recent-posts-title {
  font-weight: 500;
  font-size: 1.5rem;
}

.site-footer .outbuilt-recent-posts .recent-posts-title {
  font-size: 1.4rem;
}

.outbuilt-recent-posts .recent-posts-info {
  display: block;
  color: #aaa;
  margin-top: 6px;
  font-size: 10px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.2px;
}

.outbuilt-recent-posts .recent-posts-info .sep {
  padding: 0 3px;
}

.outbuilt-recent-posts .recent-posts-date,
.outbuilt-recent-posts .recent-posts-comments {
  display: inline-block;
}

.outbuilt-recent-posts .recent-posts-date i {
  margin-right: 4px;
}

.outbuilt-recent-posts .recent-posts-comments i {
  margin-right: 4px;
}

.outbuilt-recent-posts .recent-posts-comments a {
  color: #999;
}

.outbuilt-recent-posts .recent-posts-comments a:hover {
  color: var(--primary-color);
}

@media only screen and (max-width: 959px) {
  .outbuilt-recent-posts .recent-posts-thumbnail {
    width: 15%;
    margin-right: 3%;
  }
}

@media only screen and (max-width: 480px) {
  .outbuilt-recent-posts .recent-posts-thumbnail {
    width: 25%;
    margin-right: 4%;
  }
}

.posts .post-thumbnail {
  margin-bottom: 2rem;
}

.posts-grid {
  display: flex;
  flex-flow: column wrap;
}

@media (min-width: 576px) {
  .posts-grid {
    flex-flow: row wrap;
  }
}

.full-width .posts-grid .entry {
  flex: 0 0 31.6239316239%;
}

.posts-grid.two-columns .entry-grid {
  flex: 0 0 48.7179487179%;
  margin-right: 2.5641025641%;
}

.posts-grid.two-columns .entry-grid:nth-child(2n) {
  margin-right: 0;
}

.posts-grid.two-columns .entry-title,
.posts-grid.two-columns .page-title {
  font-size: 2.8rem;
  line-height: 1.4;
}

.posts-grid.three-columns .entry-grid {
  flex: 0 0 31.6239316239%;
  margin-right: 2.5641025641%;
  margin-bottom: 4rem;
}

.posts-grid.three-columns .entry-grid:nth-child(3n) {
  margin-right: 0;
}

.posts-grid.four-columns .entry-grid {
  flex: 0 0 23.0769230769%;
  margin-right: 2.5641025641%;
  margin-bottom: 4rem;
}

.posts-grid.four-columns .entry-grid:nth-child(4n) {
  margin-right: 0;
}

.posts-grid.four-columns .entry-title,
.posts-grid.four-columns .page-title {
  font-size: 1.8rem;
}

.posts-grid.overlay-style .thumbnail-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  padding: 3rem;
}

@media (max-width: 800px) and (min-width: 576px) {
  .posts-grid.overlay-style .thumbnail-content {
    padding: 2rem;
  }
}

.posts-grid.overlay-style .entry-header .entry-cat {
  color: var(--secondary-text-color);
}

.posts-grid.overlay-style .entry-header .entry-cat a,
.posts-grid.overlay-style .entry-header .entry-cat a:visited {
  color: var(--secondary-text-color);
}

.posts-grid.overlay-style .entry-header .entry-cat a:hover,
.posts-grid.overlay-style .entry-header .entry-cat a:visited:hover {
  color: var(--primary-color);
}

.posts-grid.overlay-style .entry-title,
.posts-grid.overlay-style .page-title {
  margin: 0;
}

@media (max-width: 800px) and (min-width: 576px) {

  .posts-grid.overlay-style .entry-title,
  .posts-grid.overlay-style .page-title {
    font-size: 2rem;
    line-height: 2.8rem;
  }
}

.posts-grid.overlay-style .entry-title a,
.posts-grid.overlay-style .page-title a {
  text-transform: uppercase;
  color: var(--secondary-text-color);
}

.posts-grid.overlay-style .entry-title a:hover,
.posts-grid.overlay-style .page-title a:hover {
  color: var(--primary-color);
}

.posts-grid.overlay-style .entry-meta,
.posts-grid.overlay-style .events.list-style .event-meta,
.events.list-style .posts-grid.overlay-style .event-meta,
.posts-grid.overlay-style .events.grid-style .event-meta,
.events.grid-style .posts-grid.overlay-style .event-meta,
.posts-grid.overlay-style .entry-header {
  color: var(--secondary-text-color);
}

.posts-grid.overlay-style .entry-meta a,
.posts-grid.overlay-style .events.list-style .event-meta a,
.events.list-style .posts-grid.overlay-style .event-meta a,
.posts-grid.overlay-style .events.grid-style .event-meta a,
.events.grid-style .posts-grid.overlay-style .event-meta a,
.posts-grid.overlay-style .entry-header a {
  color: var(--secondary-text-color);
}

.posts-grid.overlay-style .entry-meta a:hover,
.posts-grid.overlay-style .events.list-style .event-meta a:hover,
.events.list-style .posts-grid.overlay-style .event-meta a:hover,
.posts-grid.overlay-style .events.grid-style .event-meta a:hover,
.events.grid-style .posts-grid.overlay-style .event-meta a:hover,
.posts-grid.overlay-style .entry-header a:hover {
  color: var(--primary-color);
}

.posts-grid.overlay-style .entry-meta .cat-links,
.posts-grid.overlay-style .events.list-style .event-meta .cat-links,
.events.list-style .posts-grid.overlay-style .event-meta .cat-links,
.posts-grid.overlay-style .events.grid-style .event-meta .cat-links,
.events.grid-style .posts-grid.overlay-style .event-meta .cat-links,
.posts-grid.overlay-style .entry-header .cat-links {
  display: none;
}

.posts-list .entry-list,
.posts-alternate .entry-list {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
  align-items: center;
}

@media (min-width: 992px) {

  .posts-list .entry-list,
  .posts-alternate .entry-list {
    flex-flow: row wrap;
  }
}

.posts-list .entry-list .post-thumbnail,
.posts-alternate .entry-list .post-thumbnail {
  flex: 0 0 42.5287356322%;
  margin-bottom: 2rem;
}

@media (min-width: 992px) {

  .posts-list .entry-list .post-thumbnail,
  .posts-alternate .entry-list .post-thumbnail {
    margin-bottom: 0;
  }
}

.posts-list .entry-list .entry-wrapper,
.posts-alternate .entry-list .entry-wrapper {
  flex: 0 0 54.0229885057%;
}

.posts-alternate .entry:first-child() .post-thumbnail {
  margin-bottom: 2rem;
}

.posts-alternate .posts-small .entry {
  margin-bottom: 0;
}

.posts-alternate .posts-small .entry .post-thumbnail {
  margin-bottom: 0;
}

.posts-small .entry {
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .posts-small .entry {
    margin-bottom: 0;
  }
}

.posts-small .entry-header {
  margin-bottom: 0;
}

.posts-small .entry-title,
.posts-small .page-title {
  font-size: 1.8rem;
  line-height: 2.7rem;
  margin-top: 2rem;
  margin-bottom: 1rem;
  letter-spacing: 0;
}

.grid-posts .posts-small {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
}

@media (min-width: 576px) {
  .grid-posts .posts-small {
    flex-flow: row wrap;
  }
}

@media (min-width: 576px) {
  .grid-posts .entry {
    flex: 0 0 48.7179487179%;
  }
}

@media (min-width: 768px) {
  .grid-posts .entry {
    flex: 0 0 23.0769230769%;
  }
}

/*------------------------------------*
	$COMPONENTS
*------------------------------------*/
/*------------------------------------*
	$NAVIGATIONS
*------------------------------------*/
/**
 * Primary navigation
 */
.main-navigation {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  flex: 0 0 50%;
  justify-content: flex-end;
}

@media (min-width: 800px) {
  .main-navigation {
    justify-content: flex-end;
    flex: 0 0 74.358974359%;
    margin-bottom: 0;
  }
}

@media (min-width: 992px) {
  .main-navigation {
    flex: 0 0 82.905982906%;
  }
}

@media (min-width: 800px) {
  .main-navigation {
    justify-content: flex-start;
  }
}

.main-navigation .menu-primary-items {
  position: relative;
}

@media (max-width: 768px) {
  .main-navigation .megamenu-active {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .main-navigation .megamenu-active .wp-megamenu-wrap {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .main-navigation .megamenu-active {
    justify-content: center;
  }
}

.menu-primary-items {
  display: none;
}

@media (min-width: 800px) {
  .menu-primary-items {
    display: block;
  }
}

.menu-primary-items li.menu-item-has-children>a {
  padding-right: 1rem;
}

.menu-primary-items li.menu-item-has-children>a::after {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: 0.2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\e813';
  font-size: 1.2rem;
  position: absolute;
  top: 1.3rem;
  right: -1rem;
  display: inline-block;
}

.menu-primary-items li:hover.menu-item-has-children>a::after {
  content: '\e816';
}

.menu-primary-items li li.menu-item-has-children>a::after {
  content: '\e815';
  right: 1rem;
}

.menu-primary-items li li:hover.menu-item-has-children>a::after {
  content: '\e814';
}

.menu li {
  position: relative;
  display: inline-block;
  margin-right: 4rem;
}

.menu li:hover>.sub-menu,
.menu li.focus>.sub-menu {
  visibility: visible;
  opacity: 1;
  z-index: 9;
  transform: translateY(0%);
  transition-delay: 0s, 0s, 0.3s;
  left: 0;
}

.menu li:hover>.sub-menu ul,
.menu li.focus>.sub-menu ul {
  left: 100%;
}

.right-navigation .menu li:hover>.sub-menu,
.right-navigation .menu li.focus>.sub-menu {
  right: 0;
  left: auto;
}

.menu li:hover>a,
.menu li.focus>a {
  color: var(--primary-color);
}

.menu li li:hover>a {
  color: var(--black-color);
}

.menu li:last-child {
  margin-right: 0;
}

.menu li:last-child.btn {
  margin-left: 0;
}

.menu li.btn {
  float: right;
  margin-right: 0;
  margin-left: 4rem;
}

.menu li.btn a {
  padding: 0.8rem 2.1rem;
}

.menu>li.current-menu-item>a {
  color: var(--primary-color);
}

.menu a {
  font-family: var(--rubik);
  font-size: 1.6rem;
  display: block;
  padding: 0.5rem 0;
  color: var(--black-color);
  border-bottom: 0.2rem solid transparent;
}

.menu .sub-menu {
  padding: 1.3rem 0;
  text-align: left;
  border-top: 0;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  transform: translateY(2rem);
  transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s,
    z-index 0s linear 0.01s;
  min-width: 20rem;
  background-color: var(--white-color);
  box-shadow: 0 0 0.7rem rgba(0, 0, 0, 0.1);
  z-index: 999;
  border-radius: 0.5rem;
}

.right-navigation .menu .sub-menu {
  right: 0;
  left: auto;
}

.menu .sub-menu ul {
  top: -1.4rem;
  left: 100%;
}

.menu .sub-menu li {
  display: block;
  position: relative;
  border-left: 0.3rem solid transparent;
  margin-right: 0;
  padding: 0 2rem;
}

.menu .sub-menu li:hover {
  border-color: var(--primary-color);
}

.menu .sub-menu a {
  transition: all 200ms linear;
  font-weight: 400;
  padding: 0.8rem 0;
  color: var(--black-color);
  border-bottom: 0;
}

.menu .sub-menu a:hover {
  margin-left: 0.3rem;
  border-bottom: 0;
  color: var(--black-color);
}

/**
 * Mobile navigation
 */
.menu-mobile {
  display: block;
  font-size: 2.4rem;
  color: var(--primary-text-color);
}

.menu-mobile:visited {
  color: var(--primary-text-color);
}

@media (min-width: 800px) {
  .menu-mobile {
    display: none;
  }
}

.site {
  overflow: hidden;
}

@media (max-width: 800px) {
  .site.show-mobile-nav {
    position: relative;
  }

  .site.show-mobile-nav .mobile-navigation {
    transform: none;
    width: 100%;
  }
}

.mobile-navigation {
  width: 0;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  background: var(--white-color);
  color: var(--black-color);
  z-index: 99;
  transition: all 200ms ease;
  transform: translate3d(100%, 0, 0);
}

.mobile-navigation .menu-mobile {
  color: var(--white-color);
  font-size: 1.4rem;
  text-transform: uppercase;
  background: #ea6262;
  padding: 1rem;
  text-align: center;
}

.mobile-navigation .menu-mobile:hover {
  color: var(--white-color);
}

.mobile-navigation .icon-navigation {
  padding: 2rem 2rem;
  border-bottom: 1px solid var(--border-color);
  text-align: center;
}

.mobile-navigation .icon-navigation .search-field {
  width: 100%;
}

.menu-mobile-items {
  padding: 0 2rem 2rem;
}

.menu-mobile-items li {
  display: block;
  position: relative;
}

.menu-mobile-items li.submenu-open .submenu-expand i::before {
  content: '\e816';
}

.menu-mobile-items a {
  color: var(--primary-text-color);
  font-size: 1.6rem;
  font-weight: 500;
  display: block;
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  border-bottom: 0.1rem solid var(--border-color);
}

.menu-mobile-items a:hover {
  color: var(--primary-color);
}

.menu-mobile-items .submenu-expand {
  position: absolute;
  top: 15px;
  right: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--black-color);
}

.menu-mobile-items .submenu-expand:hover,
.menu-mobile-items .submenu-expand:active,
.menu-mobile-items .submenu-expand:focus {
  color: var(--black-color);
}

.menu-mobile-items .sub-menu {
  display: none;
  padding-left: 1.5rem;
}

/**
 * My Account Navigation
 */
.menu-account-items {
  margin-right: 0.3rem;
}

.menu-account-items>li>a {
  display: block;
  width: 2em;
  position: relative;
  padding: 0;
  border-bottom: 0;
}

.menu-account-items>li>a::before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: 0.2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\f2bd';
  height: 100%;
  width: 100%;
  text-align: center;
  text-indent: 0;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.4rem;
  margin: 0;
  line-height: 2.6;
}

.menu-account-items>li>a:hover {
  border-bottom: 0;
}

/**
 * Footer navigation
 */
.menu-footer-items {
  text-align: center;
}

@media (min-width: 768px) {
  .menu-footer-items {
    flex: 0 0 48.7179487179%;
    text-align: right;
  }
}

.menu-footer-items li {
  position: relative;
  display: inline-block;
  margin-right: 3rem;
}

.menu-footer-items li:last-child {
  margin-right: 0;
}

.menu-footer-items a {
  font-size: 1.2rem;
  text-transform: uppercase;
  font-weight: 500;
}

.menu-footer-items a:hover {
  color: var(--primary-color);
}

.menu-footer-items a:visited:hover {
  color: var(--primary-color);
}

/**
 * Top Navigation
 */
.top-navigation {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 100%;
  border-bottom: 0.1rem solid var(--border-color);
}

.top-navigation a {
  font-size: 1.2rem;
}

/**
 * Social navigation
 */
.menu-social-container {
  padding: 0.5rem 0;
}

@media (min-width: 576px) {
  .menu-social-container {
    text-align: right;
    padding: 0;
  }
}

.menu-social-container li {
  display: inline-block;
  padding: 0 0.2rem 0;
}

.menu-social-container li:last-child {
  margin-right: 0;
}

.menu-social-container a {
  display: inline-block;
  color: var(--white-color);
  font-size: 1.6rem;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  background: var(--black-color);
  border-radius: 50%;
  text-align: center;
}

.menu-social-container a::before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: 0.2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}

.menu-social-container a:hover {
  opacity: 0.6;
  color: var(--white-color) !important;
}

.menu-social-container a[href*='twitter.com'] {
  background-color: #1da1f2;
}

.menu-social-container a[href*='instagram.com'] {
  background-color: #405de6;
}

.menu-social-container a[href*='youtube.com'] {
  background-color: #D32F2F;
}

.menu-social-container a[href*='facebook.com'] {
  background-color: #3b5998;
}

.menu-social-container a[href*='pinterest.com'] {
  background-color: #bd081c;
}

.menu-social-container a[href*='linkedin.com'] {
  background-color: #0077b5;
}

.menu-social-container a[href*='dribbble.com'] {
  background-color: #ea4c89;
}

.menu-social-container a[href*='flickr.com'] {
  background-color: #0063dc;
}

.menu-social-container a[href*='vimeo.com'] {
  background-color: #1ab7ea;
}

.menu-social-container a[href*='spotify.com'] {
  background-color: #1db954;
}

.menu-social-container a[href*='snapchat.com'] {
  background-color: #fffc00;
}

.menu-social-container a[href*='twitter.com']::before {
  content: '\f099';
}

.menu-social-container a[href*='facebook.com']::before {
  content: '\f09a';
}

.menu-social-container a[href*='instagram.com']::before {
  content: '\f16d';
}

.menu-social-container a[href*='pinterest.com']::before {
  content: '\f231';
}

.menu-social-container a[href*='linkedin.com']::before {
  content: '\f0e1';
}

.menu-social-container a[href*='dribbble.com']::before {
  content: '\f17d';
}

.menu-social-container a[href*='codepen.io']::before {
  content: '\f32c';
}

.menu-social-container a[href*='github.com']::before {
  content: '\f09b';
}

.menu-social-container a[href*='medium.com']::before {
  content: '\f23a';
}

.menu-social-container a[href*='flickr.com']::before {
  content: '\f303';
}

.menu-social-container a[href*='wordpress.com']::before,
.menu-social-container a[href*='wordpress.org']::before {
  content: '\e804';
}

.menu-social-container a[href*='vimeo.com']::before {
  content: '\f27d';
}

.menu-social-container a[href*='youtube.com']::before {
  content: '\f16a';
}

.menu-social-container a[href*='/feed']::before,
.menu-social-container a[href*='feedburner.com']::before {
  content: '\e805';
}

.menu-social-container a[href*='mailto']::before {
  content: '\e802';
}

.menu-social-container a[href*='snapchat.com']::before {
  content: '\f2ac';
}

.menu-social-container a[href*='spotify.com']::before {
  content: '\f1bc';
}

.menu-social-container a[href*='apple.com']::before {
  content: '\f179';
}

/**
 * Mega menu
 */
@media (min-width: 576px) and (max-width: 768px) {
  #wp-megamenu-primary.wp-megamenu-wrap.wpmm-mobile-menu .wpmm-nav-wrap {
    text-align: right;
  }
}

/*------------------------------------*
	$CONTENT
*------------------------------------*/
.entry {
  /* margin-bottom: 6rem; */
  position: relative;
  word-break: break-word;
}

.post-type-archive-tribe_events .entry {
  margin-bottom: 0;
}

.posts-list .entry {
  margin-bottom: 6rem;
}

.post-thumbnail {
  display: block;
  position: relative;
}

.post-thumbnail img {
  display: block;
  border-radius: 0.5rem;
}

.single .post-thumbnail,
.page .post-thumbnail {
  margin-bottom: 4rem;
}

.post-thumbnail-overlay {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  background: rgba(20, 29, 44, 0.65);
}

.entry-header {
  margin-bottom: 1rem;
}

.page .entry-header,
.single .entry-header {
  flex: 100%;
  width: 100%;
}

@media (min-width: 768px) {
  .page.full-width-narrow .entry-header {
    flex: 0 0 66.9230769231%;
  }
}

.page .entry-header {
  margin-bottom: 2rem;
}

.single .entry-header {
  margin-bottom: 3rem;
}

.single.full-width-narrow .entry-header {
  margin-bottom: 4rem;
  text-align: center;
}

.posts-grid .entry-header {
  margin-bottom: 1.4rem;
}

.posts-list .entry-header {
  margin-bottom: 1rem;
}

.entry-title,
.page-title {
  margin-top: 0;
  margin-bottom: 2rem;
  line-height: 1.5;
}

@media (min-width: 576px) {

  .entry-title,
  .page-title {
    font-size: 3.8rem;
    line-height: 4.7rem;
  }
}

.single.full-width-narrow .entry-title,
.single.full-width-narrow .page-title {
  margin-bottom: 2rem;
}

.posts-grid .entry-title,
.posts-grid .page-title {
  font-size: 2.2rem;
  line-height: 1.5;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.posts-list .entry-title,
.posts-list .page-title,
.posts-alternate .entry-list .entry-title,
.posts-alternate .entry-list .page-title {
  font-size: 2.8rem;
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 1.5;
}

.entry-meta,
.events.list-style .event-meta,
.events.grid-style .event-meta,
.posts-grid.overlay-style .entry-header {
  font-size: 1.2rem;
  text-transform: uppercase;
  color: var(--secondary-text-color);
}

.entry-meta a,
.events.list-style .event-meta a,
.events.grid-style .event-meta a,
.posts-grid.overlay-style .entry-header a {
  color: var(--secondary-text-color);
}

.entry-meta a:hover,
.events.list-style .event-meta a:hover,
.events.grid-style .event-meta a:hover,
.posts-grid.overlay-style .entry-header a:hover,
.entry-meta a:visited:hover {
  color: var(--primary-color);
}

.entry-meta a:visited,
.events.list-style .event-meta a:visited,
.events.grid-style .event-meta a:visited,
.posts-grid.overlay-style .entry-header a:visited {
  color: var(--secondary-text-color);
}

.entry-meta .author-gravatar img,
.events.list-style .event-meta .author-gravatar img,
.events.grid-style .event-meta .author-gravatar img,
.posts-grid.overlay-style .entry-header .author-gravatar img {
  width: 2rem !important;
  height: 2rem !important;
  margin-right: 0.5rem;
  border-radius: 50%;
  display: inline-block !important;
  vertical-align: middle;
}

.entry-meta .posted-on,
.events.list-style .event-meta .posted-on,
.events.grid-style .event-meta .posted-on,
.posts-grid.overlay-style .entry-header .posted-on,
.entry-meta .cat-links,
.events.list-style .event-meta .cat-links,
.events.grid-style .event-meta .cat-links,
.posts-grid.overlay-style .entry-header .cat-links {
  position: relative;
}

.entry-meta .posted-on::before,
.events.list-style .event-meta .posted-on::before,
.events.grid-style .event-meta .posted-on::before,
.posts-grid.overlay-style .entry-header .posted-on::before,
.entry-meta .cat-links::before,
.events.list-style .event-meta .cat-links::before,
.events.grid-style .event-meta .cat-links::before,
.posts-grid.overlay-style .entry-header .cat-links::before {
  content: '/';
  display: inline-block;
  padding: 0 1rem;
}

.cat-links.cat-bg {
  margin-bottom: 2rem;
  display: inline-block;
}

.cat-links.cat-bg a {
  background-color: var(--primary-color);
  color: var(--white-color);
  display: inline-block;
  line-height: 0;
  padding: 1rem;
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 500;
}

@media (min-width: 576px) {
  .cat-links.cat-bg a {
    font-size: 1.2rem;
    padding: 1.2rem;
  }
}

.cat-links.cat-bg a:hover {
  color: var(--white-color);
  opacity: 0.8;
}

.entry-summary {
  font-size: 1.5rem;
  line-height: 2.6rem;
}

.entry-summary p {
  margin-bottom: 1rem;
}

.more-link {
  font-size: 1.2rem;
  text-transform: uppercase;
  color: var(--primary-color);
  border-bottom: 0.1rem solid var(--primary-color);
  letter-spacing: 0.1rem;
}

.more-link:visited {
  color: var(--primary-color);
}

.more-link:hover,
.more-link:visited:hover {
  color: var(--primary-text-color);
  border-color: var(--primary-text-color);
}

.tag-links .tag-title {
  margin-right: 2rem;
  font-size: 1.4rem;
  text-transform: uppercase;
  font-weight: 500;
}

.tag-links a {
  font-size: 1.4rem;
  text-transform: uppercase;
  color: var(--primary-color);
  margin-right: 3rem;
}

.tag-links a:hover {
  color: var(--primary-text-color);
}

/**
 * Post format image
 */
.posts-list .format-image,
.posts-alternate .format-image {
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}

@media (min-width: 576px) {

  .posts-list .format-image,
  .posts-alternate .format-image {
    flex-flow: row wrap;
  }
}

@media (min-width: 576px) {

  .posts-list .format-image,
  .posts-alternate .format-image {
    justify-content: flex-start;
    align-items: flex-end;
  }
}

.posts-list .format-image .entry-header,
.posts-alternate .format-image .entry-header {
  position: absolute;
  margin-bottom: 0;
  padding: 0;
}

@media (min-width: 576px) {

  .posts-list .format-image .entry-header,
  .posts-alternate .format-image .entry-header {
    padding: 4rem;
  }
}

.posts-list .format-image .entry-title,
.posts-list .format-image .page-title,
.posts-alternate .format-image .entry-title,
.posts-alternate .format-image .page-title {
  font-size: 1.8rem;
  line-height: 2.7rem;
}

@media (min-width: 576px) {

  .posts-list .format-image .entry-title,
  .posts-list .format-image .page-title,
  .posts-alternate .format-image .entry-title,
  .posts-alternate .format-image .page-title {
    font-size: 3.6rem;
    line-height: normal;
  }
}

.posts-list .format-image .entry-title a,
.posts-list .format-image .page-title a,
.posts-alternate .format-image .entry-title a,
.posts-alternate .format-image .page-title a {
  color: var(--white-color);
}

.posts-list .format-image .entry-title a:hover,
.posts-list .format-image .page-title a:hover,
.posts-alternate .format-image .entry-title a:hover,
.posts-alternate .format-image .page-title a:hover {
  color: var(--primary-color);
}

.posts-list .format-image .entry-meta,
.posts-list .format-image .events.list-style .event-meta,
.events.list-style .posts-list .format-image .event-meta,
.posts-list .format-image .events.grid-style .event-meta,
.events.grid-style .posts-list .format-image .event-meta,
.posts-list .format-image .posts-grid.overlay-style .entry-header,
.posts-grid.overlay-style .posts-list .format-image .entry-header,
.posts-alternate .format-image .entry-meta,
.posts-alternate .format-image .events.list-style .event-meta,
.events.list-style .posts-alternate .format-image .event-meta,
.posts-alternate .format-image .events.grid-style .event-meta,
.events.grid-style .posts-alternate .format-image .event-meta,
.posts-alternate .format-image .posts-grid.overlay-style .entry-header,
.posts-grid.overlay-style .posts-alternate .format-image .entry-header {
  color: var(--white-color);
  display: none;
}

@media (min-width: 576px) {

  .posts-list .format-image .entry-meta,
  .posts-list .format-image .events.list-style .event-meta,
  .events.list-style .posts-list .format-image .event-meta,
  .posts-list .format-image .events.grid-style .event-meta,
  .events.grid-style .posts-list .format-image .event-meta,
  .posts-list .format-image .posts-grid.overlay-style .entry-header,
  .posts-grid.overlay-style .posts-list .format-image .entry-header,
  .posts-alternate .format-image .entry-meta,
  .posts-alternate .format-image .events.list-style .event-meta,
  .events.list-style .posts-alternate .format-image .event-meta,
  .posts-alternate .format-image .events.grid-style .event-meta,
  .events.grid-style .posts-alternate .format-image .event-meta,
  .posts-alternate .format-image .posts-grid.overlay-style .entry-header,
  .posts-grid.overlay-style .posts-alternate .format-image .entry-header {
    display: block;
  }
}

.posts-list .format-image .entry-meta a,
.posts-list .format-image .events.list-style .event-meta a,
.events.list-style .posts-list .format-image .event-meta a,
.posts-list .format-image .events.grid-style .event-meta a,
.events.grid-style .posts-list .format-image .event-meta a,
.posts-list .format-image .posts-grid.overlay-style .entry-header a,
.posts-grid.overlay-style .posts-list .format-image .entry-header a,
.posts-alternate .format-image .entry-meta a,
.posts-alternate .format-image .events.list-style .event-meta a,
.events.list-style .posts-alternate .format-image .event-meta a,
.posts-alternate .format-image .events.grid-style .event-meta a,
.events.grid-style .posts-alternate .format-image .event-meta a,
.posts-alternate .format-image .posts-grid.overlay-style .entry-header a,
.posts-grid.overlay-style .posts-alternate .format-image .entry-header a {
  color: var(--white-color);
}

.posts-list .format-image .entry-meta a:hover,
.posts-list .format-image .events.list-style .event-meta a:hover,
.events.list-style .posts-list .format-image .event-meta a:hover,
.posts-list .format-image .events.grid-style .event-meta a:hover,
.events.grid-style .posts-list .format-image .event-meta a:hover,
.posts-list .format-image .posts-grid.overlay-style .entry-header a:hover,
.posts-grid.overlay-style .posts-list .format-image .entry-header a:hover,
.posts-alternate .format-image .entry-meta a:hover,
.posts-alternate .format-image .events.list-style .event-meta a:hover,
.events.list-style .posts-alternate .format-image .event-meta a:hover,
.posts-alternate .format-image .events.grid-style .event-meta a:hover,
.events.grid-style .posts-alternate .format-image .event-meta a:hover,
.posts-alternate .format-image .posts-grid.overlay-style .entry-header a:hover,
.posts-grid.overlay-style .posts-alternate .format-image .entry-header a:hover {
  color: var(--primary-color);
}

/**
 * 404 content
 */
.not-found {
  text-align: center;
}

.not-found-header {
  margin-top: 10rem;
}

.not-found-title {
  letter-spacing: 0.035rem;
  font-size: 15rem;
}

@media (min-width: 576px) {
  .not-found-title {
    font-size: 25rem;
  }
}

.not-found-content {
  margin-bottom: 5rem;
  margin-top: 10rem;
}

@media (min-width: 576px) {
  .not-found-content {
    margin-top: 15rem;
  }
}

.not-found-content h3 {
  letter-spacing: 0;
  line-height: normal;
  margin-bottom: 3rem;
}

@media (min-width: 576px) {
  .not-found-content h3 {
    font-size: 3.6rem;
  }
}

.not-found .search-field {
  width: calc(100% - 7rem);
  margin-right: 2rem;
  margin-bottom: 2rem;
}

@media (min-width: 992px) {
  .not-found .search-field {
    width: calc(100% - 30rem);
    margin-bottom: 0;
  }
}

.content-wrapper {
  padding: 3.5rem;
}

.content-wrapper.content-wrapper--small-gap {
  padding: 1rem 3rem;
}

.content-shadow {
  box-shadow: 0 0 13px 3px rgba(0, 0, 0, 0.05);
  transition: all 250ms ease-in-out;
}

.content-shadow:hover {
  box-shadow: 0 0 13px 3px rgba(0, 0, 0, 0.1);
}

.content-shadow .post-thumbnail img {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0;
}

.content-shadow .entry-title,
.content-shadow .page-title {
  margin-top: 0;
}

/*------------------------------------*
	$GUTENBERG
*------------------------------------*/
.entry-content figure {
  margin: 0 0 0;
}

@media (min-width: 768px) {
  .entry-content>.alignwide {
    margin: 3.2rem calc(25% - 25vw);
    max-width: 100vw;
  }
}

.entry-content>.alignfull {
  margin: 3.2rem calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
}

.entry-content ul,
.entry-content ol {
  margin: var(--font-size) 0;
  padding: 0 0 0 var(--line-height);
}

.entry-content blockquote {
  font-style: italic;
  margin: var(--line-height) 4rem;
  padding: 5rem;
  color: var(--black-color);
  border-top: 0.3rem solid #333;
  border-bottom: 0.3rem solid #333;
  border-left: 0;
  margin: 0 0 var(--line-height);
  font-size: 2.4rem;
  line-height: 4rem;
}

.entry-content blockquote cite {
  position: relative;
  display: block;
  padding: 0 0 0 2rem;
  color: #555;
  margin: 0;
  font-size: 1.6rem;
}

.entry-content blockquote cite:before {
  position: absolute;
  left: 0;
  content: '\2014';
}

.entry-content q:before,
.entry-content q:after,
.entry-content blockquote:before,
.entry-content blockquote:after {
  content: '';
}

.entry-content .wp-block-gallery ul {
  padding-left: 0;
  margin-bottom: 0;
}

.entry-content .wp-block-table td,
.entry-content .wp-block-table th {
  border-color: var(--border-color);
}

.wp-block-video video {
  max-width: 100%;
}

.wp-block-image img {
  display: block;
}

.wp-block-image.alignleft,
.wp-block-image.alignright {
  width: 100%;
}

.wp-block-image.alignfull img {
  width: 100vw;
}

.wp-block-gallery:not(.components-placeholder) {
  margin: 1.5em auto;
}

.wp-block-cover-text p {
  padding: 1.5em 1.4rem;
}

ul.wp-block-latest-posts.alignwide,
ul.wp-block-latest-posts.alignfull,
ul.wp-block-latest-posts.is-grid.alignwide,
ul.wp-block-latest-posts.is-grid.alignwide {
  padding: 0 1.4rem;
}

.wp-block-table {
  display: block;
  overflow-x: auto;
}

.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}

.wp-block-table td,
.wp-block-table th {
  padding: 0.5em;
}

.wp-block-embed.type-video>.wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.wp-block-embed.type-video>.wp-block-embed__wrapper>iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.wp-block-quote.is-large {
  margin: 0 auto 1.6rem;
}

.wp-block-pullquote>p:first-child {
  margin-top: 0;
}

.wp-block-separator {
  margin: 3em auto;
  padding: 0;
}

@media screen and (min-width: 768px) {
  .wp-block-cover-text p {
    padding: 1.5em 0;
  }

  .entry-content>* {
    padding-left: 0px;
    padding-right: 0px;
  }
}

/*--------------------------------------------------------------
# Block Color Palette Colors
--------------------------------------------------------------*/
.has-blue-color {
  color: var(--primary-color);
}

.has-blue-background-color {
  background-color: var(--primary-color);
}

.has-light-gray-color {
  color: var(--secondary-color);
}

.has-light-gray-background-color {
  background-color: var(--secondary-color);
}

.has-very-dark-gray-color {
  color: var(--black-color);
}

.has-very-dark-gray-background-color {
  background-color: var(--black-color);
}

/*--------------------------------------------------------------
# Block Color Palette Colors
--------------------------------------------------------------*/
.has-small-font-size {
  font-size: 1.4rem;
  line-height: 2.3rem;
}

.has-normal-font-size {
  font-size: 1.7rem;
  line-height: 2.6rem;
}

.has-medium-font-size {
  font-size: 2.4rem;
  line-height: 3.8rem;
}

.has-large-font-size {
  font-size: 3.6rem;
  line-height: 5.4rem;
}

.has-huge-font-size {
  font-size: 4.8rem;
  line-height: 7.2rem;
}

/*------------------------------------*
	$WIDGETS
*------------------------------------*/
.module-title {
  font-size: 2rem;
}

.outbuilt-social-icons {
  display: inline-block;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}

.outbuilt-social-icons.rotate a:hover {
  transform: rotate(360deg);
}

.outbuilt-social-icons.zoomout a:hover {
  transform: scale(0.8);
}

.outbuilt-social-icons.float a:hover {
  transform: translateY(-3px);
}

.outbuilt-social-icons li {
  display: inline-block;
  margin: 2px;
  padding: 0;
}

.outbuilt-social-icons li a {
  display: block;
  padding: 0;
  text-align: center;
}

.outbuilt-social-icons.style-light li a,
.outbuilt-social-icons.style-dark li a,
.outbuilt-social-icons.style-colored li a {
  width: 55px;
  height: 55px;
  line-height: 55px;
  font-size: 16px;
  border-radius: 2px;
}

.outbuilt-social-icons.style-light li a {
  color: #bbb;
  border: 1px solid #e9e9e9;
}

.outbuilt-social-icons.style-light li.outbuilt-twitter a:hover {
  color: #46d4fe !important;
  border-color: #46d4fe !important;
}

.outbuilt-social-icons.style-light li.outbuilt-facebook a:hover {
  color: #37589b !important;
  border-color: #37589b !important;
}

.outbuilt-social-icons.style-light li.outbuilt-google-plus a:hover {
  color: #de5a49 !important;
  border-color: #de5a49 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-pinterest a:hover {
  color: #cb2027 !important;
  border-color: #cb2027 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-dribbble a:hover {
  color: #ea4c89 !important;
  border-color: #ea4c89 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-vk a:hover {
  color: #597ba5 !important;
  border-color: #597ba5 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-instagram a:hover {
  color: #3f729b !important;
  border-color: #3f729b !important;
}

.outbuilt-social-icons.style-light li.outbuilt-linkedin a:hover {
  color: #3399cc !important;
  border-color: #3399cc !important;
}

.outbuilt-social-icons.style-light li.outbuilt-tumblr a:hover {
  color: #2c4762 !important;
  border-color: #2c4762 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-github a:hover {
  color: #60b044 !important;
  border-color: #60b044 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-flickr a:hover {
  color: #fa4086 !important;
  border-color: #fa4086 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-skype a:hover {
  color: #00aff0 !important;
  border-color: #00aff0 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-trello a:hover {
  color: #0079bf !important;
  border-color: #0079bf !important;
}

.outbuilt-social-icons.style-light li.outbuilt-foursquare a:hover {
  color: #2d5be3 !important;
  border-color: #2d5be3 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-youtube a:hover {
  color: #c4302b !important;
  border-color: #c4302b !important;
}

.outbuilt-social-icons.style-light li.outbuilt-vimeo a:hover {
  color: #1ab7ea !important;
  border-color: #1ab7ea !important;
}

.outbuilt-social-icons.style-light li.outbuilt-vine a:hover {
  color: #00bf8f !important;
  border-color: #00bf8f !important;
}

.outbuilt-social-icons.style-light li.outbuilt-xing a:hover {
  color: #006464 !important;
  border-color: #006464 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-yelp a:hover {
  color: #c41200 !important;
  border-color: #c41200 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-tripadvisor a:hover {
  color: #589442 !important;
  border-color: #589442 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-rss a:hover {
  color: #ff7900 !important;
  border-color: #ff7900 !important;
}

.outbuilt-social-icons.style-light li.outbuilt-email a:hover {
  color: #13aff0 !important;
  border-color: #13aff0 !important;
}

.outbuilt-social-icons.style-dark li a {
  color: #333;
  border: 1px solid #333;
}

.outbuilt-social-icons.style-dark li.outbuilt-twitter a:hover {
  color: #46d4fe !important;
  border-color: #46d4fe !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-facebook a:hover {
  color: #37589b !important;
  border-color: #37589b !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-google-plus a:hover {
  color: #de5a49 !important;
  border-color: #de5a49 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-pinterest a:hover {
  color: #cb2027 !important;
  border-color: #cb2027 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-dribbble a:hover {
  color: #ea4c89 !important;
  border-color: #ea4c89 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-vk a:hover {
  color: #597ba5 !important;
  border-color: #597ba5 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-instagram a:hover {
  color: #3f729b !important;
  border-color: #3f729b !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-linkedin a:hover {
  color: #3399cc !important;
  border-color: #3399cc !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-tumblr a:hover {
  color: #2c4762 !important;
  border-color: #2c4762 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-github a:hover {
  color: #60b044 !important;
  border-color: #60b044 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-flickr a:hover {
  color: #fa4086 !important;
  border-color: #fa4086 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-skype a:hover {
  color: #00aff0 !important;
  border-color: #00aff0 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-trello a:hover {
  color: #0079bf !important;
  border-color: #0079bf !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-foursquare a:hover {
  color: #2d5be3 !important;
  border-color: #2d5be3 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-youtube a:hover {
  color: #c4302b !important;
  border-color: #c4302b !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-vimeo a:hover {
  color: #1ab7ea !important;
  border-color: #1ab7ea !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-vine a:hover {
  color: #00bf8f !important;
  border-color: #00bf8f !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-xing a:hover {
  color: #006464 !important;
  border-color: #006464 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-yelp a:hover {
  color: #c41200 !important;
  border-color: #c41200 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-tripadvisor a:hover {
  color: #589442 !important;
  border-color: #589442 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-rss a:hover {
  color: #ff7900 !important;
  border-color: #ff7900 !important;
}

.outbuilt-social-icons.style-dark li.outbuilt-email a:hover {
  color: #13aff0 !important;
  border-color: #13aff0 !important;
}

.outbuilt-social-icons.style-colored li a {
  color: #fff;
}

.outbuilt-social-icons.style-colored li a:hover {
  color: #fff;
}

.outbuilt-social-icons.style-colored li.outbuilt-twitter a {
  background-color: #46d4fe;
}

.outbuilt-social-icons.style-colored li.outbuilt-twitter a:hover {
  background-color: #39b4d8;
}

.outbuilt-social-icons.style-colored li.outbuilt-facebook a {
  background-color: #37589b;
}

.outbuilt-social-icons.style-colored li.outbuilt-facebook a:hover {
  background-color: #2d477c;
}

.outbuilt-social-icons.style-colored li.outbuilt-google-plus a {
  background-color: #de5a49;
}

.outbuilt-social-icons.style-colored li.outbuilt-google-plus a:hover {
  background-color: #bb4c3e;
}

.outbuilt-social-icons.style-colored li.outbuilt-pinterest a {
  background-color: #cb2027;
}

.outbuilt-social-icons.style-colored li.outbuilt-pinterest a:hover {
  background-color: #a91d23;
}

.outbuilt-social-icons.style-colored li.outbuilt-dribbble a {
  background-color: #ea4c89;
}

.outbuilt-social-icons.style-colored li.outbuilt-dribbble a:hover {
  background-color: #c64174;
}

.outbuilt-social-icons.style-colored li.outbuilt-vk a {
  background-color: #597ba5;
}

.outbuilt-social-icons.style-colored li.outbuilt-vk a:hover {
  background-color: #486384;
}

.outbuilt-social-icons.style-colored li.outbuilt-instagram a {
  background-color: #3f729b;
}

.outbuilt-social-icons.style-colored li.outbuilt-instagram a:hover {
  background-color: #315a7c;
}

.outbuilt-social-icons.style-colored li.outbuilt-linkedin a {
  background-color: #3399cc;
}

.outbuilt-social-icons.style-colored li.outbuilt-linkedin a:hover {
  background-color: #2678a1;
}

.outbuilt-social-icons.style-colored li.outbuilt-tumblr a {
  background-color: #2c4762;
}

.outbuilt-social-icons.style-colored li.outbuilt-tumblr a:hover {
  background-color: #1d3042;
}

.outbuilt-social-icons.style-colored li.outbuilt-github a {
  background-color: #60b044;
}

.outbuilt-social-icons.style-colored li.outbuilt-github a:hover {
  background-color: #4f9237;
}

.outbuilt-social-icons.style-colored li.outbuilt-flickr a {
  background-color: #fa4086;
}

.outbuilt-social-icons.style-colored li.outbuilt-flickr a:hover {
  background-color: #c63169;
}

.outbuilt-social-icons.style-colored li.outbuilt-skype a {
  background-color: #00aff0;
}

.outbuilt-social-icons.style-colored li.outbuilt-skype a:hover {
  background-color: #0291c6;
}

.outbuilt-social-icons.style-colored li.outbuilt-trello a {
  background-color: #0079bf;
}

.outbuilt-social-icons.style-colored li.outbuilt-trello a:hover {
  background-color: #0079bf;
}

.outbuilt-social-icons.style-colored li.outbuilt-foursquare a {
  background-color: #2d5be3;
}

.outbuilt-social-icons.style-colored li.outbuilt-foursquare a:hover {
  background-color: #2d5be3;
}

.outbuilt-social-icons.style-colored li.outbuilt-youtube a {
  background-color: #c4302b;
}

.outbuilt-social-icons.style-colored li.outbuilt-youtube a:hover {
  background-color: #982420;
}

.outbuilt-social-icons.style-colored li.outbuilt-vimeo a {
  background-color: #1ab7ea;
}

.outbuilt-social-icons.style-colored li.outbuilt-vimeo a:hover {
  background-color: #1494bd;
}

.outbuilt-social-icons.style-colored li.outbuilt-vine a {
  background-color: #00bf8f;
}

.outbuilt-social-icons.style-colored li.outbuilt-vine a:hover {
  background-color: #01906c;
}

.outbuilt-social-icons.style-colored li.outbuilt-xing a {
  background-color: #006464;
}

.outbuilt-social-icons.style-colored li.outbuilt-xing a:hover {
  background-color: #014646;
}

.outbuilt-social-icons.style-colored li.outbuilt-yelp a {
  background-color: #c41200;
}

.outbuilt-social-icons.style-colored li.outbuilt-yelp a:hover {
  background-color: #940f01;
}

.outbuilt-social-icons.style-colored li.outbuilt-tripadvisor a {
  background-color: #589442;
}

.outbuilt-social-icons.style-colored li.outbuilt-tripadvisor a:hover {
  background-color: #426f32;
}

.outbuilt-social-icons.style-colored li.outbuilt-rss a {
  background-color: #ff7900;
}

.outbuilt-social-icons.style-colored li.outbuilt-rss a:hover {
  background-color: #d46603;
}

.outbuilt-social-icons.style-colored li.outbuilt-email a {
  background-color: #13aff0;
}

.outbuilt-social-icons.style-colored li.outbuilt-email a:hover {
  background-color: #0f8dc2;
}

.outbuilt-social-icons.style-simple li {
  margin: 0 6px;
}

.outbuilt-social-icons.style-simple li a {
  font-size: 16px;
}

/*------------------------------------*
	$POST
*------------------------------------*/
/*------------------------------------*
	$COMMENTS
*------------------------------------*/
.comments-title {
  text-align: center;
  margin-bottom: 3rem;
  letter-spacing: 0;
}

@media (min-width: 480px) {
  .comments-title {
    text-align: left;
  }
}

.comment-reply-title,
.comments-title {
  text-transform: uppercase;
  font-size: 1.8rem;
  font-family: var(--rubik);
}

/**
 * Comment list
 */
.commentlist {
  margin-bottom: 4rem;
}

.commentlist .comment {
  margin-bottom: 6rem;
}

.commentlist .children {
  margin: 6rem 0;
  padding-left: 0;
  list-style: none;
}

@media (min-width: 576px) {
  .commentlist .children {
    padding-left: 9rem;
  }
}

@media (min-width: 240px) and (max-width: 768px) {
  .commentlist .children .children {
    padding-left: 0;
  }
}

.commentlist .children .avatar {
  width: 7rem;
}

.comment-container {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
}

@media (min-width: 576px) {
  .comment-container {
    flex-flow: row wrap;
  }
}

@media (min-width: 576px) {
  .comment-container .comment-avatar {
    flex: 0 0 13.7931034483%;
  }

  .comment-container .comment-body {
    flex: 0 0 82.7586206897%;
  }
}

.comment-avatar {
  text-align: center;
  margin-bottom: 1rem;
}

@media (min-width: 576px) {
  .comment-avatar {
    margin-bottom: 0;
  }
}

.comment-avatar .avatar {
  border-radius: 50%;
}

.comment-avatar .name {
  font-weight: 500;
  text-transform: capitalize;
  display: block;
  line-height: 1.8rem;
}

.comment-avatar .name a {
  color: var(--black-color);
}

.comment-avatar .name a:hover {
  color: var(--secondary-text-color);
}

.comment-body {
  position: relative;
}

.comment-body .comment-wrapper {
  position: relative;
  padding: 2.5rem;
  background-color: var(--secondary-color);
  border-radius: 0.3rem;
}

.comment-body .comment-head {
  font-size: 1.4rem;
  margin-bottom: 2.4rem;
  color: var(--secondary-text-color);
}

.comment-body .comment-head a {
  color: var(--secondary-text-color);
}

.comment-body .comment-content p:last-of-type {
  margin-bottom: 0;
}

.comment-body .comment-content a {
  border-bottom: 0.1rem solid;
}

.comment-reply-link {
  line-height: 1.5;
  font-size: 1.2rem;
  text-transform: uppercase;
  position: relative;
  top: auto;
  right: auto;
  display: inline-block;
  padding-top: 2rem;
  transition: color 0.2s ease-in-out;
  color: var(--black-color);
}

@media (min-width: 480px) {
  .comment-reply-link {
    position: absolute;
    top: 2.5rem;
    right: 2.5rem;
    padding-top: 0;
  }
}

.comment-reply-link:hover {
  color: var(--primary-color);
}

.author-badge {
  border-radius: 0.3rem;
  font-size: 1.1rem;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  display: inline-block;
  margin-bottom: 2rem;
  padding: 0.4rem 0.6rem;
  color: var(--white-color);
  background-color: var(--primary-color);
}

@media (min-width: 480px) {
  .author-badge {
    margin-bottom: 0;
  }
}

.children .comment-respond,
.layout-right-sidebar .comment-respond {
  margin-top: 0;
}

@media (min-width: 601px) {

  .children .comment-respond,
  .layout-right-sidebar .comment-respond {
    margin-top: 6rem;
  }
}

.children .comment-form-author,
.children .comment-form-email,
.children .comment-form-url,
.layout-right-sidebar .comment-form-author,
.layout-right-sidebar .comment-form-email,
.layout-right-sidebar .comment-form-url {
  display: block;
  width: 100%;
}

/**
 * Comment form
 */
.comments-area {
  margin-bottom: 0;
  margin-top: 4rem;
  word-break: break-all;
}

.comment-notes {
  font-size: 1.4rem;
  font-style: italic;
  color: var(--primary-text-color);
}

form.comment-form label {
  font-size: 1.2rem;
  font-weight: 500;
  display: block;
  text-transform: uppercase;
}

form.comment-form input[type='text'],
form.comment-form input[type='email'],
form.comment-form input[type='url'],
form.comment-form textarea {
  font-size: 1.6rem;
}

form.comment-form .comment-form-comment {
  clear: both;
}

@media (min-width: 576px) {

  form.comment-form .comment-form-author,
  form.comment-form .comment-form-email,
  form.comment-form .comment-form-url {
    float: left;
    width: 32%;
    margin-right: 2%;
  }
}

form.comment-form .comment-form-author input,
form.comment-form .comment-form-email input,
form.comment-form .comment-form-url input {
  width: 100%;
}

form.comment-form .form-submit {
  clear: both;
  padding-top: 1rem;
}

form.comment-form .comment-form-cookies-consent {
  clear: both;
}

form.comment-form .comment-form-cookies-consent #wp-comment-cookies-consent {
  margin-right: 0.5rem;
}

form.comment-form .comment-form-cookies-consent label {
  display: inline-block;
  text-transform: inherit;
}

form.comment-form textarea {
  width: 100%;
  font-size: 1.6rem;
  line-height: 2.4rem;
}

form.comment-form .comment-form-url {
  margin-right: 0;
}

.required {
  color: #f00;
}

#cancel-comment-reply-link {
  font-size: 1.3rem;
}

#comment-nav-above {
  margin-bottom: 3rem;
}

.comment-navigation .nav-previous {
  display: inline;
  float: left;
}

.comment-navigation .nav-next {
  display: inline;
  float: right;
  text-align: right;
}

.comment-navigation a {
  color: var(--primary-text-color);
}

/*------------------------------------*
	$RELATED__POSTS
*------------------------------------*/
.related-posts {
  margin-top: 4rem;
}

.related-posts .related-title {
  margin-bottom: 2rem;
  text-transform: uppercase;
  font-size: 1.8rem;
  font-weight: 500;
}

.related-posts .posts-small {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
}

@media (min-width: 576px) {
  .related-posts .posts-small {
    flex-flow: row wrap;
  }
}

.related-posts .entry {
  flex: 0 0 31.0344827586%;
  margin-bottom: 3rem;
}

.related-posts .entry-title,
.related-posts .page-title {
  font-family: var(--rubik);
}

.related-posts .entry-title a,
.related-posts .page-title a {
  font-family: var(--rubik);
}

/*------------------------------------*
	$PAGINATION
*------------------------------------*/
.pagination {
  border-top: 0.1rem solid var(--border-color);
  padding-top: 2rem;
  flex: 0 0 100%;
  /**
  * Older / Newer
  */
  /**
  * Number
  */
}

.pagination .nav-page {
  justify-content: flex-end;
}

.pagination .nav-page a {
  font-size: 1.8rem;
  letter-spacing: 0;
  position: relative;
  color: var(--black-color);
}

.pagination .nav-page a:hover {
  color: var(--primary-color);
}

.pagination .nav-newer {
  flex: 1;
  order: 0;
}

.pagination .nav-newer a::after {
  content: '';
  border-bottom: 0.1rem solid var(--border-color);
  width: 3rem;
  display: inline-block;
  vertical-align: super;
  margin-left: 1.6rem;
}

.pagination .nav-older {
  flex: 1;
  order: 1;
  text-align: right;
}

.pagination .nav-older a::before {
  content: '';
  border-bottom: 0.1rem solid var(--border-color);
  width: 3rem;
  display: inline-block;
  vertical-align: super;
  margin-right: 1.6rem;
}

.pagination .nav-links {
  text-align: center;
}

.pagination .nav-links .next {
  float: right;
  padding-right: 0;
}

.pagination .nav-links .prev {
  float: left;
  padding-left: 0;
}

.pagination .page-numbers {
  font-size: 1.8rem;
  letter-spacing: 0;
  padding: 0 1rem;
  color: var(--primary-text-color);
  text-transform: uppercase;
}

.pagination .page-numbers:hover {
  color: var(--primary-color);
}

.pagination .page-numbers.current {
  color: var(--primary-color);
}

/**
 * Post pagination
 */
.post-pagination {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
  margin-top: 6rem;
  margin-bottom: 6rem;
  word-break: break-word;
}

@media (min-width: 576px) {
  .post-pagination {
    flex-flow: row wrap;
  }
}

.post-pagination .post-detail {
  overflow: hidden;
}

.post-pagination .post-detail span {
  display: inline-block;
  font-size: 1.2rem;
  color: var(--primary-text-color);
  text-transform: uppercase;
}

.post-pagination .post-detail a {
  font-size: 1.7rem;
  font-weight: 500;
  display: block;
  color: var(--black-color);
}

.post-pagination .post-detail a:hover {
  color: var(--primary-color);
}

.prev-post {
  margin-bottom: 3rem;
}

@media (min-width: 576px) {
  .prev-post {
    margin-bottom: 0;
    width: 48.275862069%;
  }
}

.prev-post .arrow {
  margin-right: 0.5rem;
}

.next-post {
  text-align: right;
}

@media (min-width: 576px) {
  .next-post {
    width: 48.275862069%;
  }
}

.next-post .arrow {
  margin-left: 0.5rem;
}

/*------------------------------------*
	$AUTHOR__BIO
*------------------------------------*/
.author-bio {
  justify-content: space-between;
  background-color: rgba(255, 255, 255, 0.9);
  color: var(--black-color);
  padding: 3rem;
  margin-bottom: 6rem;
  text-align: center;
}

@media (min-width: 768px) {
  .author-bio {
    text-align: initial;
  }
}

.author-bio .author-avatar {
  display: none;
}

@media (min-width: 576px) {
  .author-bio .author-avatar {
    display: block;
    flex: 0 0 13.7931034483%;
  }
}

.author-bio .author-avatar img {
  border-radius: 50%;
}

@media (min-width: 500px) {
  .author-bio .description {
    flex: 0 0 82.7586206897%;
  }
}

.author-bio .description .name {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.8rem;
  font-family: var(--rubik);
}

.author-bio .description .name a {
  color: var(--black-color);
  font-family: var(--rubik);
}

.author-bio .description .name a:hover {
  color: var(--primary-color);
}

.author-bio .description .bio {
  margin-bottom: 2rem;
}

.author-bio .author-social-links a {
  display: inline-block;
  color: var(--black-color);
  font-size: 1.6rem;
  margin-right: 1rem;
}

.author-bio .author-social-links a:hover {
  color: var(--primary-color);
}

/*------------------------------------*
	$CUSTOM__FEATURES
*------------------------------------*/
/*------------------------------------*
	$EDITORS__PICK
*------------------------------------*/
/**
 * Editor's pick
 */
.pick-posts {
  margin-top: 8rem;
}

.left-sidebar .pick-posts {
  order: 3;
}

.pick-posts-title {
  flex: 100%;
  max-width: 100%;
  font-family: var(--rubik);
  font-size: 1.8rem;
  text-transform: uppercase;
  margin-bottom: 5rem;
  text-align: center;
}

.pick-posts .entry-title,
.pick-posts .page-title {
  font-size: 1.6rem;
}

@media (min-width: 992px) {

  .pick-posts .entry-title,
  .pick-posts .page-title {
    font-size: 2.5rem;
  }
}

.pick-posts.posts-grid.three-columns .entry-grid {
  margin-bottom: 0;
}

/*------------------------------------*
	$FEATURED
*------------------------------------*/
.featured-posts {
  margin-bottom: 8rem;
}

.featured-posts-container {
  margin: auto;
}

.featured-posts-item {
  position: relative;
}

@media (min-width: 768px) {
  .featured-posts-item {
    flex: 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

.featured-posts-content {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 0 2rem 2rem 2rem;
}

.featured-posts .entry-title,
.featured-posts .page-title {
  font-size: 1.8rem;
  line-height: 1.35;
}

@media (min-width: 768px) {

  .featured-posts .entry-title,
  .featured-posts .page-title {
    font-size: 2rem;
  }
}

@media (min-width: 992px) {

  .featured-posts .entry-title,
  .featured-posts .page-title {
    font-size: 2.8rem;
  }
}

@media (min-width: 1440px) {

  .featured-posts .entry-title,
  .featured-posts .page-title {
    font-size: 3.8rem;
  }
}

.featured-posts .entry-title a,
.featured-posts .page-title a {
  color: var(--white-color);
}

.featured-posts .entry-meta,
.featured-posts .events.list-style .event-meta,
.events.list-style .featured-posts .event-meta,
.featured-posts .events.grid-style .event-meta,
.events.grid-style .featured-posts .event-meta,
.featured-posts .posts-grid.overlay-style .entry-header,
.posts-grid.overlay-style .featured-posts .entry-header {
  display: none;
  color: var(--white-color);
}

@media (min-width: 992px) {

  .featured-posts .entry-meta,
  .featured-posts .events.list-style .event-meta,
  .events.list-style .featured-posts .event-meta,
  .featured-posts .events.grid-style .event-meta,
  .events.grid-style .featured-posts .event-meta,
  .featured-posts .posts-grid.overlay-style .entry-header,
  .posts-grid.overlay-style .featured-posts .entry-header {
    display: block;
  }
}

.featured-posts .entry-meta a,
.featured-posts .events.list-style .event-meta a,
.events.list-style .featured-posts .event-meta a,
.featured-posts .events.grid-style .event-meta a,
.events.grid-style .featured-posts .event-meta a,
.featured-posts .posts-grid.overlay-style .entry-header a,
.posts-grid.overlay-style .featured-posts .entry-header a,
.featured-posts .entry-meta a:visited {
  color: var(--white-color);
}

.featured-posts .post-thumbnail {
  position: relative;
  margin-bottom: 0;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
}

.featured-posts .post-thumbnail img {
  border-radius: 0;
  transition: all 500ms;
}

.featured-posts .post-thumbnail:hover img {
  transform: scale(1.1);
  -webkit-perspective: 0;
  -webkit-backface-visibility: hidden;
}

.featured-posts .post-thumbnail-overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.15);
}

/*------------------------------------*
	$HOME__BLOCKS
*------------------------------------*/
.front-page-blocks .widget_media_image {
  text-align: center;
}

.block-widget {
  margin-bottom: 4rem;
}

.block-widget .widget-title {
  font-size: 3rem;
  margin-bottom: 4rem;
}

.block-widget .entry-meta a,
.block-widget .events.list-style .event-meta a,
.events.list-style .block-widget .event-meta a,
.block-widget .events.grid-style .event-meta a,
.events.grid-style .block-widget .event-meta a,
.block-widget .posts-grid.overlay-style .entry-header a,
.posts-grid.overlay-style .block-widget .entry-header a {
  color: var(--secondary-text-color);
}

.block-widget .posts-list {
  display: flex;
  flex-flow: column wrap;
}

@media (min-width: 576px) {
  .block-widget .posts-list {
    flex-flow: row wrap;
  }
}

.block-widget .posts-list.two-columns .entry-list {
  flex: 0 0 48.7179487179%;
  margin-right: 2.5641025641%;
}

.block-widget .posts-list.two-columns .entry-list:nth-child(2n) {
  margin-right: 0;
}

.block-widget .posts-list.two-columns .entry-title,
.block-widget .posts-list.two-columns .page-title {
  font-size: 1.8rem;
}

.block-widget .posts-list.no-thumbnail .entry-wrapper {
  flex: 0 0 100%;
}

/**
 * Block three
 */
.outbuilt-block-three .entry-grid {
  margin-bottom: 2.5641025641%;
}

.outbuilt-block-three .entry-grid:hover .entry-header {
  bottom: 1rem;
}

.outbuilt-block-three .post-thumbnail {
  margin-bottom: 0;
}

.outbuilt-block-three .post-thumbnail-overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 0.5rem;
}

.outbuilt-block-three .entry-header {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 0 2rem 2rem 2rem;
  margin-bottom: 0;
  transition: bottom 250ms ease-in-out;
}

.outbuilt-block-three .entry-title a,
.outbuilt-block-three .page-title a {
  color: var(--white-color);
}

.outbuilt-block-three .entry-meta,
.outbuilt-block-three .events.list-style .event-meta,
.events.list-style .outbuilt-block-three .event-meta,
.outbuilt-block-three .events.grid-style .event-meta,
.events.grid-style .outbuilt-block-three .event-meta,
.outbuilt-block-three .posts-grid.overlay-style .entry-header,
.posts-grid.overlay-style .outbuilt-block-three .entry-header {
  color: var(--white-color);
}

.outbuilt-block-three .entry-meta a,
.outbuilt-block-three .events.list-style .event-meta a,
.events.list-style .outbuilt-block-three .event-meta a,
.outbuilt-block-three .events.grid-style .event-meta a,
.events.grid-style .outbuilt-block-three .event-meta a,
.outbuilt-block-three .posts-grid.overlay-style .entry-header a,
.posts-grid.overlay-style .outbuilt-block-three .entry-header a {
  color: var(--white-color);
}

/**
 * Block four
 */
@media (min-width: 992px) {
  .outbuilt-block-four {
    display: flex;
  }
}

.outbuilt-block-four .left-post {
  margin-right: 2.5641025641%;
}

@media (min-width: 992px) {
  .outbuilt-block-four .left-post {
    flex: 0 0 48.7179487179%;
  }
}

@media (min-width: 992px) {
  .outbuilt-block-four .right-post {
    flex: 0 0 48.7179487179%;
  }
}

.outbuilt-block-four.small-big .left-post {
  order: 1;
  margin-right: 0;
  margin-left: 2.5641025641%;
}

.outbuilt-block-four.small-big .right-post {
  order: 0;
}

.outbuilt-block-four .small-post {
  display: flex;
  margin-bottom: 0;
}

.outbuilt-block-four .small-post .post-thumbnail {
  margin-bottom: 0;
  flex: 0 0 29.8245614035%;
  margin-right: 2.5641025641%;
}

.outbuilt-block-four .small-post .entry-header {
  flex: 0 0 64.9122807018%;
}

.outbuilt-block-four .small-post .entry-title,
.outbuilt-block-four .small-post .page-title {
  font-size: 1.6rem;
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: inherit;
}

.outbuilt-block-four .small-post .entry-meta,
.outbuilt-block-four .small-post .events.list-style .event-meta,
.events.list-style .outbuilt-block-four .small-post .event-meta,
.outbuilt-block-four .small-post .events.grid-style .event-meta,
.events.grid-style .outbuilt-block-four .small-post .event-meta,
.outbuilt-block-four .small-post .posts-grid.overlay-style .entry-header,
.posts-grid.overlay-style .outbuilt-block-four .small-post .entry-header {
  margin-bottom: 1rem;
}

/*------------------------------------*
	$SINGLE__POST
*------------------------------------*/
.post-header {
  margin-bottom: 4rem;
}

/**
 * - Side by side
 * - Full width side by side
 */
.single .side-by-side .post-thumbnail {
  margin-bottom: 0;
}

.side-by-side {
  background-color: #f5f5f5;
  border-radius: 0.5rem;
}

.side-by-side__wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media (min-width: 992px) {
  .side-by-side__wrapper {
    flex-direction: row;
  }
}

.side-by-side__content {
  padding: 3rem;
  order: 2;
}

@media (min-width: 992px) {
  .side-by-side__content {
    width: 50%;
    order: 1;
    padding: 5rem;
  }
}

.side-by-side__img {
  order: 1;
}

@media (min-width: 992px) {
  .side-by-side__img {
    width: 50%;
    order: 2;
  }
}

.side-by-side__img img {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.side-by-side .entry-title,
.side-by-side .page-title {
  font-size: 2rem;
  line-height: 3rem;
}

@media (min-width: 768px) {

  .side-by-side .entry-title,
  .side-by-side .page-title {
    font-size: 3.4rem;
    line-height: 4.7rem;
  }
}

.side-by-side .entry-meta,
.side-by-side .events.list-style .event-meta,
.events.list-style .side-by-side .event-meta,
.side-by-side .events.grid-style .event-meta,
.events.grid-style .side-by-side .event-meta,
.side-by-side .posts-grid.overlay-style .entry-header,
.posts-grid.overlay-style .side-by-side .entry-header {
  font-size: 1rem;
}

@media (min-width: 768px) {

  .side-by-side .entry-meta,
  .side-by-side .events.list-style .event-meta,
  .events.list-style .side-by-side .event-meta,
  .side-by-side .events.grid-style .event-meta,
  .events.grid-style .side-by-side .event-meta,
  .side-by-side .posts-grid.overlay-style .entry-header,
  .posts-grid.overlay-style .side-by-side .entry-header {
    font-size: 1.2rem;
  }
}

.style-full-width-side-by-side .site-header {
  margin-bottom: 0;
}

.style-full-width-side-by-side .side-by-side {
  max-width: 100vw;
  width: 100vw;
  margin: 0 calc(50% - 50vw) 4rem;
}

.style-full-width-side-by-side .post-thumbnail img {
  width: 100%;
}

/**
 * - Thumbnail overlay
 * - Full width Thumbnail overlay
 */
.thumbnail-overlay {
  display: flex;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  position: relative;
  border-radius: 0.5rem;
}

.thumbnail-overlay::after {
  content: '';
  height: 100%;
  width: 100%;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 0;
  border-radius: 0.5rem;
}

.thumbnail-overlay__wrapper {
  padding: 10rem 2rem;
  position: relative;
  z-index: 1;
  margin: auto;
  text-align: center;
}

@media (min-width: 768px) {
  .thumbnail-overlay__wrapper {
    max-width: 100rem;
    padding: 10rem;
  }
}

@media (min-width: 992px) {
  .thumbnail-overlay__wrapper {
    padding: 20rem 10rem;
  }
}

.thumbnail-overlay .entry-title,
.thumbnail-overlay .page-title {
  color: var(--white-color);
  margin-bottom: 4rem;
  font-size: 2rem;
  line-height: 3rem;
}

@media (min-width: 768px) {

  .thumbnail-overlay .entry-title,
  .thumbnail-overlay .page-title {
    font-size: 3.4rem;
    line-height: 4.7rem;
  }
}

.thumbnail-overlay .entry-meta,
.thumbnail-overlay .events.list-style .event-meta,
.events.list-style .thumbnail-overlay .event-meta,
.thumbnail-overlay .events.grid-style .event-meta,
.events.grid-style .thumbnail-overlay .event-meta,
.thumbnail-overlay .posts-grid.overlay-style .entry-header,
.posts-grid.overlay-style .thumbnail-overlay .entry-header {
  color: rgba(255, 255, 255, 0.6);
  font-size: 1rem;
}

@media (min-width: 768px) {

  .thumbnail-overlay .entry-meta,
  .thumbnail-overlay .events.list-style .event-meta,
  .events.list-style .thumbnail-overlay .event-meta,
  .thumbnail-overlay .events.grid-style .event-meta,
  .events.grid-style .thumbnail-overlay .event-meta,
  .thumbnail-overlay .posts-grid.overlay-style .entry-header,
  .posts-grid.overlay-style .thumbnail-overlay .entry-header {
    font-size: 1.2rem;
  }
}

.thumbnail-overlay .entry-meta a,
.thumbnail-overlay .events.list-style .event-meta a,
.events.list-style .thumbnail-overlay .event-meta a,
.thumbnail-overlay .events.grid-style .event-meta a,
.events.grid-style .thumbnail-overlay .event-meta a,
.thumbnail-overlay .posts-grid.overlay-style .entry-header a,
.posts-grid.overlay-style .thumbnail-overlay .entry-header a {
  color: rgba(255, 255, 255, 0.6);
}

.style-full-width-thumbnail-overlay .site-header {
  margin-bottom: 0;
}

.style-full-width-thumbnail-overlay .thumbnail-overlay {
  max-width: 100vw;
  width: 100vw;
  margin: 0 calc(50% - 50vw) 4rem;
}

/**
 * - Thumbnail on top
 * - Full width Thumbnail on top
 */
.thumbnail-on-top {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  position: relative;
  min-height: 35vh;
  border-radius: 0.5rem;
}

@media (min-width: 768px) {
  .thumbnail-on-top {
    min-height: 50rem;
  }
}

.style-full-width-thumbnail-on-top .site-header {
  margin-bottom: 0;
}

.style-full-width-thumbnail-on-top .thumbnail-on-top {
  max-width: 100vw;
  width: 100vw;
  margin: 0 calc(50% - 50vw) 4rem;
}

/*------------------------------------*
	$ADVERTISEMENT
*------------------------------------*/
.outbuilt-header-banner,
.outbuilt-footer-banner {
  text-align: center;
  margin-bottom: 1rem;
}

/*------------------------------------*
	$BACK__TO__TOP
*------------------------------------*/
.back-to-top {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 999;
  width: 4rem;
  height: 4rem;
  text-align: center;
  line-height: 4rem;
  background-color: var(--primary-color);
  color: var(--white-color);
  cursor: pointer;
  border: 0;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  font-size: 2rem;
}

.back-to-top:visited {
  color: var(--white-color);
}

.back-to-top:visited:hover {
  color: var(--white-color);
}

.back-to-top:hover {
  background-color: var(--black-color);
  color: var(--white-color);
}

.back-to-top.show {
  opacity: 1;
}

/*------------------------------------*
	$POPUP__SEARCH
*------------------------------------*/
.popup-content {
  position: relative;
  text-align: center;
}

.popup-content .search-field {
  color: var(--black-color);
  border: none;
  box-shadow: none;
  background: transparent;
  height: auto;
  width: 100%;
  font-size: 6rem;
  text-align: center;
}

@media (min-width: 500px) {
  .popup-content .search-field {
    font-size: 10rem;
  }
}

.popup-content .search-field::-webkit-input-placeholder {
  color: var(--black-color);
  text-align: center;
  text-transform: uppercase;
  font-weight: 500;
}

.popup-content .search-field::-moz-placeholder {
  color: var(--black-color);
  text-align: center;
  text-transform: uppercase;
  font-weight: 500;
}

.popup-content .search-field:-ms-input-placeholder {
  color: var(--black-color);
  text-align: center;
  text-transform: uppercase;
  font-weight: 500;
}

.popup-content .search-field:-moz-placeholder {
  color: var(--black-color);
  text-align: center;
  text-transform: uppercase;
  font-weight: 500;
}

.popup-content .search-field:focus {
  background: transparent;
}

button.mfp-close {
  opacity: 1;
  color: var(--white-color);
  background-color: var(--black-color);
  font-size: 4rem;
  border-radius: 0;
}

button.mfp-close:hover {
  color: var(--white-color);
  background-color: var(--primary-color);
}

.popup-fade {
  background: rgba(249, 249, 249, 0.85);
}

.popup-fade.mfp-bg {
  opacity: 0;
  transition: all 0.5s ease-out;
}

.popup-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}

.popup-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

.popup-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all 0.5s ease-out;
}

.popup-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

.popup-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

/*------------------------------------*
	$VENDORS
*------------------------------------*/
.wpcf7 textarea {
  width: 100%;
}

.wpcf7 input,
.wpcf7 textarea {
  margin-top: 1rem;
}

/**
 * Custom CF7 style
 */
@media (min-width: 567px) {
  .o-form__twocol {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 0 10px;
  }
}

.o-form input:not(.wpcf7-submit) {
  width: 100%;
}

.o-form p {
  margin-bottom: 0;
}

.elementor-page .site-header {
  margin-bottom: 0;
}

.elementor-page .content-area {
  width: 100%;
}

.elementor-page .site-content {
  margin-bottom: 0;
}

.elementor-page .gallery {
  margin-bottom: 0;
}

/**
 * single post type with elementor
 */
.single-class .elementor-page .site-header {
  margin-bottom: 4rem;
}

/**
 * Gallery
 */
.elementor-image-gallery a {
  display: block;
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
}

.elementor-image-gallery a:hover img {
  transform: scale(1.1);
  -webkit-perspective: 0;
  -webkit-backface-visibility: hidden;
}

.elementor-image-gallery a img {
  display: block;
  transition: all 1500ms;
}

/**
 * Events
 */
.events.simple-style .entry {
  margin-bottom: 0;
  padding: 4rem 0;
  border-bottom: 0.2rem solid var(--border-color);
}

.events.simple-style .entry div {
  flex: 0 0 25%;
}

.events.simple-style .entry div.event-city {
  font-weight: 500;
}

.events.simple-style .entry div.event-link {
  text-align: right;
}

.events.list-style .event-title,
.events.grid-style .event-title {
  margin-top: 0;
}

.events.list-style .event-meta,
.events.grid-style .event-meta {
  margin-bottom: 1rem;
}

.events.list-style .event-meta .event-city,
.events.list-style .event-meta .event-venue,
.events.grid-style .event-meta .event-city,
.events.grid-style .event-meta .event-venue {
  position: relative;
}

.events.list-style .event-meta .event-city::before,
.events.list-style .event-meta .event-venue::before,
.events.grid-style .event-meta .event-city::before,
.events.grid-style .event-meta .event-venue::before {
  content: '/';
  display: inline-block;
  padding: 0 1rem;
}

.events.list-style .entry {
  align-items: center;
}

@media (min-width: 768px) {
  .events.list-style .entry .post-thumbnail {
    flex: 0 0 31.6239316239%;
    margin-right: 2.5641025641%;
  }
}

@media (min-width: 768px) {
  .events.list-style .entry .event-wrapper {
    flex: 0 0 65.811965812%;
  }
}

.events.list-style .event-summary {
  margin-bottom: 5rem;
}

.events.grid-style {
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
}

@media (min-width: 576px) {
  .events.grid-style {
    flex-flow: row wrap;
  }
}

.events.grid-style .event-grid {
  flex: 0 0 31.6239316239%;
  margin-bottom: 6rem;
}

.events.grid-style .event-grid:nth-child(3n) {
  margin-right: 0;
}

.events.grid-style .post-thumbnail {
  margin-bottom: 3rem;
}

.events .event-link .button,
.events .event-link .menu li.btn a,
.menu li.btn .events .event-link a {
  display: inline-block;
  color: var(--white-color);
}

.events .event-link .button:hover,
.events .event-link .menu li.btn a:hover,
.menu li.btn .events .event-link a:hover {
  color: var(--white-color);
}

/**
 * Post carousel
 */
.post-carousel .post-thumbnail {
  margin-bottom: 1rem;
}

.post-carousel .entry {
  margin-bottom: 0;
}

.post-carousel .cat-links a {
  font-size: 1.2rem;
  text-transform: uppercase;
  font-weight: 500;
}

.post-carousel .cat-links a:hover {
  color: var(--black-color);
}

.post-carousel .entry-title,
.post-carousel .page-title {
  font-size: 1.6rem;
  line-height: 2.4rem;
}

.post-carousel .slick-slide {
  margin: 10px;
}

/**
 * Post slider
 */
.post-slider {
  position: relative;
}

.post-slider .entry {
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
}

.post-slider .post-thumbnail {
  position: relative;
}

.post-slider .post-thumbnail-overlay {
  height: 100%;
}

.post-slider .entry-header {
  position: absolute;
  text-align: center;
  width: 60%;
}

.post-slider .cat-links {
  margin-bottom: 1rem;
}

@media (min-width: 576px) {
  .post-slider .cat-links {
    margin-bottom: 2.5rem;
  }
}

.post-slider .entry-title,
.post-slider .page-title {
  font-size: 1.8rem;
  line-height: 2.7rem;
  margin-bottom: 0;
}

@media (min-width: 576px) {

  .post-slider .entry-title,
  .post-slider .page-title {
    font-size: 3.8rem;
    line-height: 5rem;
    margin-bottom: 2rem;
  }
}

.post-slider .entry-title a,
.post-slider .page-title a {
  color: var(--white-color);
}

.post-slider .entry-title a:hover,
.post-slider .page-title a:hover {
  color: var(--primary-color);
}

.post-slider .entry-meta,
.post-slider .posts-grid.overlay-style .entry-header,
.posts-grid.overlay-style .post-slider .entry-header,
.post-slider .events.list-style .event-meta,
.events.list-style .post-slider .event-meta,
.post-slider .events.grid-style .event-meta,
.events.grid-style .post-slider .event-meta {
  color: var(--white-color);
  display: none;
}

@media (min-width: 576px) {

  .post-slider .entry-meta,
  .post-slider .posts-grid.overlay-style .entry-header,
  .posts-grid.overlay-style .post-slider .entry-header,
  .post-slider .events.list-style .event-meta,
  .events.list-style .post-slider .event-meta,
  .post-slider .events.grid-style .event-meta,
  .events.grid-style .post-slider .event-meta {
    display: block;
  }
}

.post-slider .entry-meta a,
.post-slider .posts-grid.overlay-style .entry-header a,
.posts-grid.overlay-style .post-slider .entry-header a,
.post-slider .events.list-style .event-meta a,
.events.list-style .post-slider .event-meta a,
.post-slider .events.grid-style .event-meta a,
.events.grid-style .post-slider .event-meta a {
  color: var(--white-color);
}

.post-slider .entry-meta a:hover,
.post-slider .posts-grid.overlay-style .entry-header a:hover,
.posts-grid.overlay-style .post-slider .entry-header a:hover,
.post-slider .events.list-style .event-meta a:hover,
.events.list-style .post-slider .event-meta a:hover,
.post-slider .events.grid-style .event-meta a:hover,
.events.grid-style .post-slider .event-meta a:hover {
  color: var(--primary-color);
}

.owl-carousel.post-slider .owl-nav {
  position: initial;
  display: none;
}

@media (min-width: 768px) {
  .owl-carousel.post-slider .owl-nav {
    display: block;
  }
}

.owl-carousel.post-slider .owl-nav button.owl-next,
.owl-carousel.post-slider .owl-nav button.owl-prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 0.2rem solid var(--white-color);
  transition: all 200ms ease-in-out;
  color: var(--white-color);
}

.owl-carousel.post-slider .owl-nav button.owl-next:hover,
.owl-carousel.post-slider .owl-nav button.owl-prev:hover {
  background-color: var(--black-color);
  border-color: var(--black-color);
  color: var(--white-color);
}

.owl-carousel.post-slider .owl-prev {
  left: 1rem;
  display: flex;
  background-color: white;
}

.owl-carousel.post-slider .owl-next {
  right: 1rem;
  display: flex;
  background-color: white;
}

.owl-carousel.post-slider .owl-prev i,
.owl-carousel.post-slider body .owl-next i {
  margin: auto;
}

.post-slider.zoom-effect .owl-item.active img {
  -webkit-animation: zoom 20s;
  animation: zoom 20s;
}

@-webkit-keyframes zoom {
  from {
    -webkit-transform: scale(1, 1);
  }

  to {
    -webkit-transform: scale(1.5, 1.5);
  }
}

@keyframes zoom {
  from {
    transform: scale(1, 1);
  }

  to {
    transform: scale(1.5, 1.5);
  }
}

/**
 * Post type
 */
.page .post-type-grid .post-thumbnail {
  margin-bottom: 0;
}

.post-carousel .owl-item {
  padding: 0 0 20px;
}

.post-carousel .entry-title,
.post-carousel .page-title {
  font-size: 2.2rem;
  line-height: 1.5;
}

.elementor-widget-container .posts-grid .post-thumbnail img,
.elementor-widget-container .posts-list .post-thumbnail img,
.elementor-widget-container .posts-alternate .post-thumbnail img,
.elementor-widget-container .posts .post-thumbnail img {
  border-radius: 0.5rem;
}

.elementor-widget-container .posts-grid.post-type-grid .post-thumbnail img {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.post-carousel .content-shadow .post-thumbnail img {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.post-carousel .slick-prev,
.post-carousel .slick-next {
  background: transparent none repeat scroll 0 0;
  border: medium none;
  color: #7d7d7d;
  cursor: pointer;
  display: block;
  font-size: 24px;
  height: auto;
  line-height: 1;
  outline: medium none;
  padding: 0;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(0px, -50%);
  width: auto;
}

.post-carousel .slick-next {
  right: 0;
}

.post-carousel .slick-dots {
  list-style: none;
}

.post-carousel .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 12px;
  height: 12px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: #e3e3e3;
  border-radius: 100%;
}

.post-carousel .slick-dots li.slick-active button {
  background: #000;
}

.post-carousel .slick-dots li button:before {
  display: none;
}

.post-carousel .slick-dots {
  bottom: -30px;
}

.post-carousel .slick-dots li {
  margin: 0 7px;
  width: 12px;
  height: 12px;
}

.post-carousel .slick-prev::before,
.post-carousel .slick-next::before {
  display: none;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
  padding-top: 0;
  padding-bottom: 80px;
}

.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-events .tribe-events-c-ical__link:active,
.tribe-events .tribe-events-c-ical__link:focus,
.tribe-events .tribe-events-c-ical__link:hover {
  background-color: var(--primary-color);
}

.tribe-common .tribe-common-c-btn:focus,
.tribe-common .tribe-common-c-btn:hover,
.tribe-common a.tribe-common-c-btn:focus,
.tribe-common a.tribe-common-c-btn:hover {
  background-color: #cc1921;
}

.tribe-events .tribe-events-c-view-selector__content {
  width: 200px;
}

.tribe-events .tribe-events-c-ical__link {
  border-color: var(--primary-color);
  color: var(--primary-color);
}

/**
 * Widgets
 */
.tribe-events-list-widget .tribe-list-widget {
  padding-left: 0;
}

.tribe-events-list-widget .tribe-events-list-widget-events {
  padding: 0 0 0.5em !important;
}

.tribe-events-list-widget .tribe-event-title,
.tribe-events-list-widget .tribe-event-title a {
  font-family: var(--rubik);
  font-size: 1.4rem;
}

#tribe-events-pg-template,
.tribe-events-pg-template {
  max-width: 117rem;
}

.single-tribe_events a.tribe-events-gcal,
.tribe-events-schedule h2,
.tribe-events-meta-group .tribe-events-single-section-title,
.single-tribe_events #tribe-events-content .tribe-events-event-meta dt,
.tribe-events-adv-list-widget .tribe-events-widget-link a,
.tribe-events-back a,
.tribe-events-list-widget .tribe-events-widget-link a,
ul.tribe-events-sub-nav a,
.single-tribe_events a.tribe-events-gcal,
.single-tribe_events a.tribe-events-gcal:hover,
.single-tribe_events a.tribe-events-ical,
.single-tribe_events a.tribe-events-ical:hover {
  font-weight: 500;
}

.single-tribe_events .tribe-events-schedule {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0rem;
  margin-bottom: 5rem;
}

.single-tribe_events .tribe-events-schedule .tribe-events-cost {
  margin-left: auto;
  font-size: 30px;
  font-weight: 500;
}

.single-tribe_events #tribe-events-content .tribe-events-event-meta dd {
  margin-bottom: 3rem;
}

.style-full-width-title .entry-header .scriptlesssocialsharing {
  margin-left: 0;
}

@media (min-width: 768px) {
  .style-full-width-title .entry-header .scriptlesssocialsharing {
    max-width: 60rem;
  }
}

.owl-carousel .owl-item img {
  border-radius: 0.5rem;
}

.owl-carousel .owl-item .content-shadow .post-thumbnail img {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.owl-carousel .owl-stage-outer {
  transform: translate3d(0, 0, 0);
}

/**
 * Shop tables
 */
/**
 * Shop tables
 */
table.shop_table_responsive {
  font-size: 1.5rem;
}

table.shop_table_responsive.my_account_orders {
  font-size: 1.3rem;
}

table.shop_table_responsive.my_account_orders th,
table.shop_table_responsive.my_account_orders td {
  padding: 2rem;
}

table.shop_table_responsive thead {
  display: none;
}

table.shop_table_responsive tbody th {
  display: none;
  white-space: nowrap;
}

table.shop_table_responsive tr td {
  display: block;
  text-align: right;
  clear: both;
  vertical-align: top;
}

table.shop_table_responsive tr td:before {
  content: attr(data-title) ': ';
  float: left;
}

table.shop_table_responsive tr td.product-remove a {
  text-align: left;
}

table.shop_table_responsive tr td.product-remove:before {
  display: none;
}

table.shop_table_responsive tr td.product-thumbnail img {
  max-width: 7rem;
}

table.shop_table_responsive tr td.product-name a {
  font-weight: 500;
  color: var(--primary-text-color);
  font-size: 1.5rem;
}

table.shop_table_responsive tr td.actions:before,
table.shop_table_responsive tr td.download-actions:before {
  display: none;
}

table.shop_table_responsive tr td.download-actions .button,
table.shop_table_responsive tr td.download-actions .menu li.btn a,
.menu li.btn table.shop_table_responsive tr td.download-actions a {
  display: block;
  text-align: center;
}

@media screen and (min-width: 48em) {
  table.shop_table_responsive thead {
    display: table-header-group;
  }

  table.shop_table_responsive tbody th {
    display: table-cell;
  }

  table.shop_table_responsive tr th,
  table.shop_table_responsive tr td {
    text-align: left;
  }

  table.shop_table_responsive tr td {
    display: table-cell;
  }

  table.shop_table_responsive tr td:before {
    display: none;
  }
}

/**
 * Products
 */
/**
 * Products
 */
ul.products {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  ul.products {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

ul.products li.product {
  list-style: none;
  position: relative;
  margin-bottom: 4rem;
  text-align: center;
}

ul.products li.product .woocommerce-loop-product__link {
  display: block;
  text-align: center;
}

ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.6rem;
  margin-top: 2rem;
  margin-bottom: 0.6rem;
}

@media (min-width: 992px) {
  ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.8rem;
  }
}

ul.products li.product .price {
  color: var(--primary-text-color);
  display: block;
  margin-bottom: 1rem;
  font-size: 1.4rem;
}

ul.products li.product .price del {
  padding-right: 0.5rem;
}

ul.products li.product .price ins {
  text-decoration: none;
}

ul.products li.product img {
  display: block;
}

ul.products li.product .wc-product-details .added_to_cart {
  color: var(--black-color);
  font-size: 1.2rem;
  font-weight: 500;
  text-transform: uppercase;
  display: inline-block;
  margin-left: 0.5rem;
}

ul.products li.product .wc-product-details .added_to_cart:hover {
  color: var(--primary-color);
}

@media screen and (min-width: 48em) {
  ul.products li.product {
    flex: 0 0 30.7966666667%;
    margin-right: 3.8%;
  }

  ul.products li.product.first {
    clear: both;
  }

  ul.products li.product.last {
    margin-right: 0;
  }

  .columns-1 ul.products li.product {
    float: none;
    width: 100%;
  }

  ul.products.columns-1 li.product {
    float: none;
    width: 100%;
  }

  .columns-2 ul.products li.product {
    flex: 0 0 48.1%;
  }

  .columns-3 ul.products li.product {
    flex: 0 0 30.7966666667%;
  }

  .columns-4 ul.products li.product {
    flex: 0 0 22.15%;
  }

  .columns-5 ul.products li.product {
    flex: 0 0 16.96%;
  }

  .columns-6 ul.products li.product {
    flex: 0 0 13.4933333333%;
  }

  ul.products.columns-2 li.product {
    flex: 0 0 48.1%;
  }

  ul.products.columns-3 li.product {
    flex: 0 0 30.7966666667%;
  }

  ul.products.columns-4 li.product {
    flex: 0 0 22.15%;
  }

  ul.products.columns-5 li.product {
    flex: 0 0 16.96%;
  }

  ul.products.columns-6 li.product {
    flex: 0 0 13.4933333333%;
  }
}

/**
 * On sale badge
 */
.onsale {
  position: absolute;
  z-index: 9;
  font-size: 1rem;
  font-weight: 500;
  padding: 12px 5px;
  line-height: 2rem;
  text-align: center;
  background-color: #ffc7c7;
  color: var(--white-color);
  top: 2rem;
  left: 2rem;
  border-radius: 50%;
  min-width: 4.2rem;
  height: 4.2rem;
  text-transform: uppercase;
}

/**
 * Image area
 */
.wc-product-image {
  position: relative;
}

.wc-product-image:hover .wc-button-actions {
  opacity: 1;
  bottom: 1.8rem;
}

.wc-product-image .wc-button-actions {
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  bottom: 0;
  z-index: 9;
  left: 0;
  right: 0;
  opacity: 0;
  transition: all 300ms ease-in-out;
}

/**
 * Image swap
 */
.wc-product-thumbnail {
  position: relative;
  overflow: hidden;
}

.wc-product-thumbnail img {
  width: 100%;
  overflow: hidden;
  transition: opacity 0.25s ease-in-out;
}

.wc-product-thumbnail .wc-product-image-main {
  position: relative;
  z-index: 2;
}

.wc-product-thumbnail .wc-product-image-secondary {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  opacity: 0;
  overflow: hidden;
  z-index: 1;
}

.wc-product-image:hover .thumbnail-swap .wc-product-image-main {
  opacity: 0;
}

.wc-product-image:hover .thumbnail-swap .wc-product-image-secondary {
  opacity: 1;
}

.wc-button-actions li {
  display: inline-block;
  margin-right: 0.6rem;
}

.wc-button-actions li i {
  display: inline-block;
  font-size: 14px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  background-color: var(--secondary-color);
  color: var(--black-color);
  margin: 0;
  text-align: center;
  transition: all 0.3s ease;
  border-radius: 50%;
}

.wc-button-actions li i:hover {
  background-color: var(--primary-color);
  color: var(--white-color);
}

/**
 * Single product
 */
/**
 * Single Product
 */
.single-product div.product {
  position: relative;
}

.single-product div.product .woocommerce-product-gallery {
  position: relative;
  margin-bottom: 3rem;
}

@media (min-width: 992px) {
  .single-product div.product .woocommerce-product-gallery {
    flex: 0 0 48.7179487179%;
    margin-right: 0;
    margin-bottom: 0;
  }
}

@media (min-width: 1200px) {
  .single-product div.product .woocommerce-product-gallery {
    margin-right: 2.5641025641%;
  }
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 1em;
  right: 1em;
  display: block;
  height: 3.5rem;
  width: 3.5rem;
  border-radius: 50%;
  z-index: 2;
  text-align: center;
  background-color: var(--white-color);
  color: var(--black-color);
  box-shadow: 0 3px 2px rgba(0, 0, 0, 0.02);
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
  background-color: var(--secondary-color);
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before {
  content: '\e808';
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 3.5rem;
  font-size: 1.4rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-left: 0.2rem;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger img {
  display: none !important;
}

.single-product div.product .woocommerce-product-gallery figure {
  margin: 0;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
  margin-bottom: 1em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex;
  flex-flow: column wrap;
  margin: 0;
  padding: 0;
}

@media (min-width: 320px) {
  .single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    flex-flow: row wrap;
  }
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
  list-style: none;
  cursor: pointer;
  float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
  opacity: 0.5;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
  opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
  flex: 0 0 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n + 1) {
  clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
  flex: 0 0 30.7966666667%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n + 1) {
  clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
  flex: 0 0 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n + 1) {
  clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
  flex: 0 0 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
  margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n + 1) {
  clear: both;
}

@media (min-width: 992px) {
  .single-product div.product .summary {
    flex: 0 0 48.7179487179%;
    padding-left: 2.5641025641%;
  }
}

.single-product div.product .summary .product_title {
  font-size: 3rem;
  margin-top: 0;
  margin-bottom: 0;
}

.single-product div.product .summary .price ins {
  text-decoration: none;
}

.single-product div.product .summary .star-rating {
  vertical-align: middle;
  margin-right: 0.5rem;
}

.single-product div.product .summary .woocommerce-review-link {
  font-size: 1.2rem;
  color: var(--black-color);
  font-style: italic;
}

.single-product div.product .summary .woocommerce-product-details__short-description {
  font-size: 1.5rem;
  line-height: 2.5rem;
}

.single-product div.product .summary .cart {
  border-bottom: 0.1rem solid var(--border-color);
  padding-bottom: 3rem;
  margin-bottom: 3rem;
}

.single-product div.product .summary .cart .quantity {
  display: inline-block;
}

.single-product div.product .summary .cart .wc-button-actions {
  display: none;
}

@media (min-width: 576px) {
  .single-product div.product .summary .cart .wc-button-actions {
    display: inline-block;
    float: right;
  }
}

.single-product div.product .summary .cart .wc-quick-view,
.single-product div.product .summary .cart .wc-smart-compare {
  display: none;
}

.single-product div.product .summary .cart .variations select {
  width: 100%;
}

.single-product div.product .summary .cart .variations td.value {
  position: relative;
}

.single-product div.product .summary .cart .reset_variations {
  color: var(--black-color);
  font-weight: 500;
  font-size: 1.2rem;
  text-transform: uppercase;
  position: absolute;
  bottom: -3px;
  left: 25px;
}

.single-product div.product .summary .cart .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label {
  line-height: 1.8rem;
}

.single-product div.product .summary .cart .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label a {
  color: var(--black-color);
  font-weight: 500;
  font-size: 1.2rem;
}

.single-product div.product .summary .cart .woocommerce-variation {
  margin-bottom: 2rem;
}

.single-product div.product .summary>.yith-wcwl-add-to-wishlist {
  display: none;
}

.single-product div.product .summary .product_meta {
  font-size: 1.4rem;
  line-height: 2.5rem;
}

.single-product div.product .summary .product_meta>span {
  display: block;
}

.single-product div.product .summary .product_meta a {
  color: var(--primary-text-color);
  font-weight: 500;
}

.single-product div.product .summary .product_meta a:hover {
  color: var(--primary-color);
}

.single-product div.product .upsells>h2,
.single-product div.product .related>h2 {
  font-size: 2.4rem;
  margin-bottom: 4rem;
}

.single-product div.product .upsells {
  margin-bottom: 6rem;
}

.single-product.framed-container div.product .woocommerce-product-gallery,
.single-product.boxed-container div.product .woocommerce-product-gallery {
  margin-right: 0;
}

.single-product.full-width-narrow div.product .woocommerce-product-gallery {
  margin-right: 0;
}

.full-width .product .upsells,
.full-width .product .related {
  flex: 0 0 74.358974359%;
  padding-right: 3rem;
  margin: auto;
}

.stock:empty:before {
  display: none;
}

.stock.in-stock {
  color: #0f834d;
}

.stock.out-of-stock {
  color: #e88a8a;
}

/**
 * Cart
 */
.woocommerce-cart .entry-header {
  display: none;
}

.woocommerce-cart-form {
  margin-bottom: 6rem;
}

.woocommerce-cart-form .coupon {
  display: block;
  border-bottom: 0.1rem solid var(--border-color);
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  overflow: hidden;
}

@media (min-width: 576px) {
  .woocommerce-cart-form .coupon {
    display: inline-block;
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}

.woocommerce-cart-form .coupon label {
  display: none;
}

.woocommerce-cart-form .coupon .input-text {
  margin-right: 1rem;
  height: 3.8rem;
  font-size: 1.3rem;
  width: 100%;
  margin-bottom: 1rem;
}

@media (min-width: 576px) {
  .woocommerce-cart-form .coupon .input-text {
    margin-bottom: 0;
    width: auto;
  }
}

.woocommerce-cart-form .actions>.button,
.woocommerce-cart-form .menu li.btn .actions>a,
.menu li.btn .woocommerce-cart-form .actions>a {
  margin-bottom: 2rem;
}

@media (min-width: 576px) {

  .woocommerce-cart-form .actions>.button,
  .woocommerce-cart-form .menu li.btn .actions>a,
  .menu li.btn .woocommerce-cart-form .actions>a {
    margin-bottom: 0;
  }
}

.woocommerce-cart-form .button,
.woocommerce-cart-form .menu li.btn a,
.menu li.btn .woocommerce-cart-form a {
  float: right;
}

.cart-collaterals .cross-sells>h2,
.cart-collaterals .cart_totals>h2 {
  font-size: 2.4rem;
  margin-bottom: 4rem;
}

.cart-collaterals .cross-sells {
  flex: 0 0 48.7179487179%;
  margin-right: 2.5641025641%;
  padding-right: 2.5641025641%;
}

.cart-collaterals .cart_totals {
  flex: 0 0 48.7179487179%;
}

.cart-collaterals .cart_totals input {
  width: 100%;
}

.wc-proceed-to-checkout {
  text-align: right;
}

.woocommerce .wc-proceed-to-checkout .button,
.woocommerce .wc-proceed-to-checkout .menu li.btn a,
.menu li.btn .woocommerce .wc-proceed-to-checkout a {
  font-size: 1.4rem;
  padding: 1.4rem 2.4rem;
  color: #fff;
}

/**
 * Checkout
 */
.woocommerce-checkout .entry-header {
  display: none;
}

.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .woocommerce-form-coupon {
  width: 45%;
}

@media (min-width: 768px) {

  form.woocommerce-checkout #customer_details,
  form.woocommerce-checkout .review-order-wrapper {
    flex: 0 0 48.7179487179%;
  }
}

form.woocommerce-checkout #customer_details h3,
form.woocommerce-checkout .review-order-wrapper h3 {
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  form.woocommerce-checkout #customer_details {
    margin-right: 2.5641025641%;
  }
}

@media (min-width: 768px) {
  form.woocommerce-checkout .review-order-wrapper {
    padding-left: 3rem;
  }
}

form.woocommerce-checkout #ship-to-different-address span {
  font-size: 1.5rem;
}

form.woocommerce-checkout #ship-to-different-address .input-checkbox {
  margin-right: 0.5rem;
}

@media (min-width: 768px) {
  .col2-set .form-row-first {
    float: left;
    margin-right: 3.8%;
  }

  .col2-set .form-row-last {
    float: right;
    margin-right: 0;
  }

  .col2-set .form-row-first,
  .col2-set .form-row-last {
    flex: 0 0 48.1%;
  }
}

.col2-set#customer_login,
.col2-set.addresses {
  justify-content: space-between;
  width: 100%;
}

.col2-set#customer_login .col-1,
.col2-set#customer_login .col-2,
.col2-set.addresses .col-1,
.col2-set.addresses .col-2 {
  flex: 0 0 48.7179487179%;
}

.form-row {
  margin-bottom: 2rem;
}

.form-row em {
  font-size: 1.4rem;
}

.form-row label {
  display: block;
}

.form-row input,
.form-row textarea,
.form-row select {
  width: 100%;
}

.form-row input[type='checkbox'],
.form-row input[type='radio'] {
  width: auto;
}

.form-row-wide {
  clear: both;
  width: 100%;
}

.payment_methods {
  margin-bottom: 3rem;
}

.payment_methods li .payment_method_bacs {
  margin-top: 1rem;
}

.payment_methods li p {
  margin-bottom: 1rem;
}

.payment_methods li .input-radio {
  margin-right: 1rem;
}

.payment_methods li label {
  font-size: 1.5rem;
  font-weight: 500;
}

.woocommerce .place-order .button,
.woocommerce .place-order .menu li.btn a,
.menu li.btn .woocommerce .place-order a {
  font-size: 1.6rem;
  padding: 1.6rem 4.6rem;
}

.woocommerce-order-received .entry-content .woocommerce-order {
  width: 65.811965812%;
  margin: auto;
}

.woocommerce-order-received .entry-content .woocommerce-order h2 {
  font-size: 2.4rem;
  margin-bottom: 3rem;
}

.woocommerce-order-received .entry-content .woocommerce-order-details {
  margin-bottom: 6rem;
}

.woocommerce-checkout-payment ul.wc_payment_methods {
  padding: 0;
  margin-bottom: 2rem;
}

.woocommerce-thankyou-order-details {
  position: relative;
  background-color: var(--secondary-color);
  margin-bottom: 6rem;
}

.woocommerce-thankyou-order-details>li {
  border-bottom: 1px dotted var(--secondary-color);
}

.woocommerce-thankyou-order-details li {
  font-size: 1.2rem;
  padding: 1.2rem 2rem;
  text-transform: uppercase;
}

.woocommerce-thankyou-order-details li strong {
  display: block;
  font-size: 1.6rem;
  text-transform: none;
}

.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout {
  flex: 0 0 100%;
}

.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout .woocommerce-error {
  padding: 2rem 4rem;
}

/**
 * Account
 */
.woocommerce-account.right-sidebar .content-area {
  padding: 0;
}

.woocommerce-account .page-title {
  font-size: 2.4rem;
  margin-bottom: 3rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  margin-bottom: 6rem;
}

@media (min-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 23.0769230769%;
    margin-bottom: 0;
  }
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  border-top: 0.1rem solid var(--border-color);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 0.1rem solid var(--border-color);
  position: relative;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: var(--primary-color);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard a::before {
  content: '\e811';
}

.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--orders a::before {
  content: '\e808';
}

.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--downloads a::before {
  content: '\f0ed';
}

.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-address a::before {
  content: '\e80f';
}

.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-account a::before {
  content: '\f303';
}

.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
  content: '\e815';
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  padding: 1.4rem 0;
  display: block;
  color: var(--primary-text-color);
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  color: var(--primary-color);
}

.woocommerce-account .woocommerce-MyAccount-navigation a::before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: right;
  font-variant: normal;
  text-transform: none;
  font-size: 1.4rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  float: right;
}

@media (min-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-content {
    flex: 0 0 74.358974359%;
    padding-left: 5.9829059829%;
  }
}

.woocommerce-column__title,
.woocommerce-Address-title h3 {
  font-size: 1.8rem;
}

/**
 * General WooCommerce components
 */
/**
 * Header cart
 */
.site-header-cart {
  position: relative;
  margin-right: 1.5rem;
  text-align: left;
}

.site-header-cart .cart-contents {
  text-decoration: none;
  color: var(--black-color);
}

.site-header-cart .cart-contents .count {
  position: absolute;
  top: 0;
  right: -8px;
  width: 1.8rem;
  height: 1.8rem;
  line-height: 1.8rem;
  font-weight: bold;
  font-size: 1rem;
  background-color: #fb918b;
  color: var(--white-color);
  text-align: center;
  border-radius: 50%;
}

.site-header-cart .cart-contents i {
  font-size: 2rem;
}

.site-header-cart .widget_shopping_cart {
  display: none;
  margin-bottom: 0;
}

.site-header-cart .widget_shopping_cart .total {
  margin-bottom: 1.5rem;
}

.site-header-cart .widget_shopping_cart .total .amount {
  float: right;
}

.site-header-cart .widget_shopping_cart .woocommerce-mini-cart__empty-message {
  margin-bottom: 0;
}

.site-header-cart .widget_shopping_cart .widgettitle {
  display: none;
}

.site-header-cart .product_list_widget {
  margin-bottom: 2rem;
}

.site-header-cart .product_list_widget li {
  border-bottom: 0.1rem solid var(--border-color);
  padding: 2rem 0;
}

.site-header-cart .woocommerce-mini-cart__buttons {
  margin-bottom: 0;
}

.site-header-cart .woocommerce-mini-cart__buttons a {
  font-size: 1.2rem;
  padding: 1.2rem 2.6rem;
  margin-right: 1rem;
  color: var(--white-color);
}

.site-header-cart .woocommerce-mini-cart__buttons a:visited {
  color: var(--white-color);
}

.site-header-cart .woocommerce-mini-cart__buttons a:visited:hover {
  opacity: 0.8;
}

.site-header-cart .woocommerce-mini-cart__buttons a:hover {
  opacity: 0.8;
}

.site-header-cart .woocommerce-mini-cart__buttons a.checkout {
  margin-right: 0;
  background-color: var(--primary-color);
  color: var(--white-color);
  border-color: var(--primary-color);
}

.site-header-cart .woocommerce-mini-cart__buttons a.checkout:hover {
  opacity: 0.8;
}

@media screen and (min-width: 48em) {

  /**
  * Header cart
  */
  .site-header-cart .widget_shopping_cart {
    position: absolute;
    top: 100%;
    right: 0;
    width: 30rem;
    display: block;
    box-shadow: 0 0 0.7rem rgba(0, 0, 0, 0.1);
    background-color: var(--white-color);
    color: var(--black-color);
    padding: 2rem;
    visibility: hidden;
    opacity: 0;
    transform: translateY(2rem);
    transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s,
      z-index 0s linear 0.01s;
  }

  .site-header-cart:hover .widget_shopping_cart,
  .site-header-cart.focus .widget_shopping_cart {
    visibility: visible;
    opacity: 1;
    z-index: 9;
    transform: translateY(0%);
    transition-delay: 0s, 0s, 0.3s;
  }
}

/**
 * Button
 */
.woocommerce .selectric .button,
.woocommerce .selectric .menu li.btn a,
.menu li.btn .woocommerce .selectric a {
  padding: 0;
}

.woocommerce .button,
.woocommerce .menu li.btn a,
.menu li.btn .woocommerce a {
  display: inline-block;
  padding: 1rem 2rem;
  font-size: 1rem;
}

.woocommerce .button:visited,
.woocommerce .menu li.btn a:visited,
.menu li.btn .woocommerce a:visited {
  color: var(--white-color);
}

.woocommerce .button:visited:hover,
.woocommerce .menu li.btn a:visited:hover,
.menu li.btn .woocommerce a:visited:hover {
  color: var(--white-color);
}

.woocommerce .button:active,
.woocommerce .menu li.btn a:active,
.menu li.btn .woocommerce a:active {
  background-color: var(--white-color);
  color: var(--white-color);
}

.woocommerce .button:focus,
.woocommerce .menu li.btn a:focus,
.menu li.btn .woocommerce a:focus {
  color: var(--white-color);
}

/**
 * Toolbar
 */
.wc-toolbar {
  margin-bottom: 6rem;
}

.wc-toolbar-left {
  margin-bottom: 2rem;
}

@media (min-width: 576px) {
  .wc-toolbar-left {
    float: left;
    padding-top: 1rem;
    margin-bottom: 0;
  }
}

@media (min-width: 576px) {
  .wc-toolbar-right {
    float: right;
  }
}

/**
 * Result count & product per page
 */
.woocommerce-result-count,
.wc-products-per-page {
  font-size: 1.4rem;
  margin-bottom: 0;
  display: inline-block;
}

@media (max-width: 992px) {
  .woocommerce-result-count {
    display: none;
  }
}

@media (min-width: 992px) {
  .wc-products-per-page {
    margin-left: 3rem;
  }
}

.wc-products-per-page .view-title {
  opacity: 0.5;
}

.wc-products-per-page a {
  color: var(--primary-text-color);
  margin: 0 0.3rem;
  opacity: 0.5;
}

.wc-products-per-page a:hover {
  color: var(--primary-text-color);
  opacity: 1;
}

.wc-products-per-page a.active {
  border-bottom: 0.1rem solid var(--primary-text-color);
  opacity: 1;
}

/**
 * Star rating
 */
.star-rating {
  overflow: hidden;
  position: relative;
  height: 1.618em;
  line-height: 1.618;
  font-size: 0.7em;
  width: 5.3em;
  font-family: 'star';
  font-weight: 400;
  display: inline-block;
}

.wc-product-details .star-rating {
  margin: 0 auto 0.6rem;
}

.star-rating:before {
  content: 'SSSSS';
  opacity: 0.25;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}

.star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}

.star-rating span:before {
  content: 'SSSSS';
  top: 0;
  position: absolute;
  left: 0;
  color: #f5b223;
}

p.stars a {
  position: relative;
  height: 1em;
  width: 1em;
  text-indent: -999em;
  display: inline-block;
  text-decoration: none;
  margin-right: 1px;
  font-weight: 400;
  color: var(--secondary-text-color);
}

p.stars a:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-family: 'star';
  content: 'S';
  text-indent: 0;
  opacity: 0.25;
}

p.stars a:hover~a:before {
  content: 'S';
  opacity: 0.25;
}

p.stars:hover a:before {
  content: 'S';
  color: #f5b223;
  opacity: 1;
}

p.stars.selected a.active:before {
  content: 'S';
  color: #f5b223;
  opacity: 1;
}

p.stars.selected a.active~a:before {
  content: 'S';
  opacity: 0.25;
}

p.stars.selected a:not(.active):before {
  content: 'S';
  color: #f5b223;
  opacity: 1;
}

/**
 * Quantity
 */
.quantity {
  margin-right: 1rem;
}

.quantity .qty {
  height: 4rem;
  width: 6rem;
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
}

/**
 * Tabs
 */
.woocommerce-tabs {
  clear: both;
  padding: 6rem 0;
  flex: 0 0 100%;
}

.full-width .woocommerce-tabs {
  flex: 0 0 74.358974359%;
  padding-right: 3rem;
  margin: auto;
}

.woocommerce-tabs ul.tabs {
  list-style: none;
  margin: 0 0 4rem;
  padding: 0;
  text-align: left;
  border-bottom: 0.1rem solid var(--tertiary-color);
}

.woocommerce-tabs ul.tabs li {
  display: inline-block;
  margin: 0;
  position: relative;
}

.woocommerce-tabs ul.tabs li.active a {
  background-color: var(--tertiary-color);
  color: var(--black-color);
  border-radius: 0.3rem 0.3rem 0 0;
  box-shadow: 0 3px 2px rgba(0, 0, 0, 0.02);
}

.woocommerce-tabs ul.tabs li a {
  font-weight: 500;
  display: block;
  color: var(--primary-text-color);
  text-transform: uppercase;
  font-size: 1.3rem;
  padding: 1rem 2rem;
}

.woocommerce-tabs .woocommerce-Tabs-panel--description.panel h2:first-of-type {
  margin-bottom: 2.4rem;
}

.woocommerce-tabs .panel h2:first-of-type {
  margin-bottom: 4.8rem;
  font-size: 2.4rem;
}

.woocommerce-tabs .panel .commentlist {
  margin-top: 4rem;
}

.woocommerce-tabs .panel #reviews #comments {
  margin-top: 0;
  overflow: hidden;
}

.woocommerce-tabs .panel #reviews #comments .add_review:after {
  content: '';
  display: block;
  clear: both;
}

.woocommerce-tabs .panel #reviews .comment-form-rating {
  clear: both;
}

.woocommerce-tabs .panel #reviews .star-rating,
.woocommerce-tabs .panel #reviews p.meta {
  display: inline-block;
  vertical-align: top;
  font-size: 1.5rem;
  line-height: 2.4rem;
}

.woocommerce-tabs .panel #reviews .star-rating {
  float: right;
}

.woocommerce-tabs .panel #reviews .description {
  font-size: 1.5rem;
  line-height: 2.4rem;
}

.woocommerce-tabs #review_form #respond .comment-reply-title {
  margin-bottom: 2rem;
  display: inline-block;
}

.woocommerce-tabs #review_form #respond .selectric-wrapper {
  display: none;
}

@media (min-width: 576px) {

  .woocommerce-tabs #review_form #respond .comment-form-author,
  .woocommerce-tabs #review_form #respond .comment-form-email {
    width: 48.7179487179%;
  }
}

.woocommerce-tabs #review_form #respond .comment-form-email {
  margin-right: 0;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
  text-align: right;
}

.woocommerce-password-strength.strong {
  color: #0f834d;
}

.woocommerce-password-strength.short {
  color: #e88a8a;
}

.woocommerce-password-strength.bad {
  color: #e88a8a;
}

.woocommerce-password-strength.good {
  color: var(--black-color);
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
  box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
  box-shadow: inset 2px 0 0 #e88a8a;
}

.required {
  color: red;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  background-color: #eee;
  clear: both;
  color: var(--black-color);
  padding: 1rem 2rem;
  border-radius: 0.3rem;
  margin-bottom: 4rem;
  line-height: 3.6rem;
}

.woocommerce-message .button,
.woocommerce-message .menu li.btn a,
.menu li.btn .woocommerce-message a,
.woocommerce-info .button,
.woocommerce-info .menu li.btn a,
.menu li.btn .woocommerce-info a,
.woocommerce-error .button,
.woocommerce-error .menu li.btn a,
.menu li.btn .woocommerce-error a,
.woocommerce-noreviews .button,
.woocommerce-noreviews .menu li.btn a,
.menu li.btn .woocommerce-noreviews a,
p.no-comments .button,
p.no-comments .menu li.btn a,
.menu li.btn p.no-comments a {
  display: inline-block;
  padding: 1rem 2rem;
  font-size: 1.2rem;
  color: var(--white-color);
  background-color: var(--primary-color);
}

.woocommerce-message .button:hover,
.woocommerce-message .menu li.btn a:hover,
.menu li.btn .woocommerce-message a:hover,
.woocommerce-info .button:hover,
.woocommerce-info .menu li.btn a:hover,
.menu li.btn .woocommerce-info a:hover,
.woocommerce-error .button:hover,
.woocommerce-error .menu li.btn a:hover,
.menu li.btn .woocommerce-error a:hover,
.woocommerce-noreviews .button:hover,
.woocommerce-noreviews .menu li.btn a:hover,
.menu li.btn .woocommerce-noreviews a:hover,
p.no-comments .button:hover,
p.no-comments .menu li.btn a:hover,
.menu li.btn p.no-comments a:hover {
  opacity: 0.7;
}

.woocommerce-message .button:visited,
.woocommerce-message .menu li.btn a:visited,
.menu li.btn .woocommerce-message a:visited,
.woocommerce-info .button:visited,
.woocommerce-info .menu li.btn a:visited,
.menu li.btn .woocommerce-info a:visited,
.woocommerce-error .button:visited,
.woocommerce-error .menu li.btn a:visited,
.menu li.btn .woocommerce-error a:visited,
.woocommerce-noreviews .button:visited,
.woocommerce-noreviews .menu li.btn a:visited,
.menu li.btn .woocommerce-noreviews a:visited,
p.no-comments .button:visited,
p.no-comments .menu li.btn a:visited,
.menu li.btn p.no-comments a:visited {
  color: var(--white-color);
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a,
.woocommerce-noreviews a,
p.no-comments a {
  color: var(--white-color);
  font-weight: 500;
}

.woocommerce-message .button,
.woocommerce-message .menu li.btn a,
.menu li.btn .woocommerce-message a {
  float: right;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background-color: var(--black-color);
  color: var(--white-color);
}

.woocommerce-info a,
.woocommerce-noreviews a,
p.no-comments a {
  font-weight: 700;
  color: var(--white-color);
}

.woocommerce-error {
  background-color: #e88a8a;
}

/**
 * Pagination
 */
.woocommerce-pagination {
  margin-bottom: 6rem;
}

.woocommerce-pagination ul.page-numbers {
  list-style: none;
  text-align: center;
}

.woocommerce-pagination ul.page-numbers li {
  display: inline-block;
}

.woocommerce-pagination ul.page-numbers li:last-child a {
  margin: 0;
}

.woocommerce-pagination ul.page-numbers a,
.woocommerce-pagination ul.page-numbers span {
  position: relative;
  display: inline-block;
  width: 4rem;
  height: 4rem;
  line-height: 4rem;
  margin: 0 0.8rem 0 0;
  text-align: center;
  font-size: 1.4rem;
  cursor: pointer;
  white-space: nowrap;
  border: 0.1rem solid var(--tertiary-color);
  box-shadow: 0 3px 2px rgba(0, 0, 0, 0.02);
  border-radius: 0.3rem;
  transition: all 0.3s ease-in-out;
  background-color: var(--white-color);
  color: var(--black-color);
}

.woocommerce-pagination ul.page-numbers a span {
  padding: 0;
}

.woocommerce-pagination ul.page-numbers a i {
  padding: 0;
}

.woocommerce-pagination ul.page-numbers a:hover,
.woocommerce-pagination ul.page-numbers .page-numbers.current,
.woocommerce-pagination ul.page-numbers .page-numbers.current:hover {
  background: var(--tertiary-color);
}

.demo_store {
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0;
  padding: 1em;
  background-color: var(--black-color);
  z-index: 9999;
}

/**
 * YITH Woocommerce Wishlist
 */
.yith-wcwl-add-to-wishlist {
  margin-top: 0;
  position: relative;
}

.yith-wcwl-add-to-wishlist .ajax-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -9px 0 0 -9px;
  width: 18px !important;
  height: 18px !important;
  z-index: 100;
}

.woocommerce .wc-loader {
  position: relative;
  width: 100%;
  height: 100%;
}

.woocommerce .wc-loader::before {
  content: '';
  height: 1em;
  width: 1em;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -0.5em;
  margin-top: -0.5em;
  display: block;
  background: url('../../plugins/woocommerce/assets/images/icons/loader.svg') center center;
  background-size: cover;
  line-height: 1;
  text-align: center;
  font-size: 2em;
  color: rgba(0, 0, 0, 0.75);
  -webkit-animation: spin 1s ease-in-out infinite;
  animation: spin 1s ease-in-out infinite;
}

.woocommerce .wc-loader .wc-path {
  stroke-dasharray: 2, 200;
  stroke-dashoffset: 2;
  -webkit-animation: loader-dash 1.5s ease-in-out infinite;
  animation: loader-dash 1.5s ease-in-out infinite;
  stroke-linecap: round;
  fill: none;
  stroke: #fff;
  stroke-width: 10;
}

.woocommerce .single-product .loader .path {
  stroke: #ddd;
}

.woocommerce .product-wrap:hover .loader {
  -webkit-animation: loader-rotate 2s ease-in-out infinite;
  animation: loader-rotate 2s ease-in-out infinite;
}

@-webkit-keyframes loader-rotate {
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes loader-rotate {
  100% {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes loader-dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35;
  }

  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124;
  }
}

@keyframes loader-dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35;
  }

  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124;
  }
}

/**
 * Woo Smart Compare
 */
.wooscp-btn.wooscp-btn-added::before {
  content: '';
  margin: 0;
}

.wooscp-btn.wooscp-btn-added .fa-compress::before {
  content: '\f00c';
}

/**
 * Woo Quick View
 */
#woosq-popup .single-product .product {
  background-color: var(--white-color);
}

#woosq-popup .single-product .product .summary {
  background-color: var(--white-color);
}

#woosq-popup .mfp-close {
  background: transparent;
}

#woosq-popup .slick-slider .slick-arrow.slick-next {
  margin-right: 1rem;
}

#woosq-popup .slick-slider .slick-arrow.slick-prev {
  margin-left: 1rem;
}

#woosq-popup .slick-slider .slick-arrow {
  color: var(--white-color);
}

/**
 * Hide edit link
 */
.woocommerce-page .entry .entry-footer {
  display: none;
}

/**
 * Custom select 2 style
 */
.select2-dropdown {
  border-color: var(--border-color);
}

.select2-container--default .select2-selection--single {
  height: 4.8rem;
  padding: 1rem 1.5rem;
  border-radius: 0.3rem;
  border: 0.1rem solid var(--border-color);
  box-shadow: 0 3px 2px rgba(0, 0, 0, 0.02);
  font-size: 1.4rem;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 4.8rem;
  right: 1.2rem;
}

/**
 * WooCommerce widgets
 */
/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
  margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
  text-align: right;
  line-height: 2.4em;
}

.widget_price_filter .price_slider_amount .button,
.widget_price_filter .price_slider_amount .menu li.btn a,
.menu li.btn .widget_price_filter .price_slider_amount a {
  float: left;
  padding: 1rem 2rem;
  font-size: 1rem;
}

.widget_price_filter .ui-slider {
  position: relative;
  text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1em;
  height: 1em;
  cursor: ew-resize;
  outline: none;
  background: var(--border-color);
  box-sizing: border-box;
  margin-top: -0.25em;
  opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
  margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
  box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  display: block;
  border: 0;
  background: var(--secondary-color);
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
  height: 0.5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  height: 100%;
}

/**
 * WooCommerce Product Search
 */
.widget_product_search form {
  display: inline-block;
  width: 100%;
  position: relative;
}

.widget_product_search form input[type='search'] {
  padding-right: 3.8rem;
  width: 100%;
}

.widget_product_search form button {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 4.8rem;
  margin-left: 0.2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  right: 0;
  top: 0;
  background-color: transparent;
  color: var(--black-color);
  font-size: 0;
  min-width: 3.8rem;
  padding: 0;
  margin: 0;
  min-height: 4.8rem;
  border: none;
}

.widget_product_search form button::before {
  content: '\e808';
  font-size: 1.6rem;
}

.widget_product_search form button:hover {
  color: var(--primary-color);
}

/**
 * Widget list:
 * - Category
 * - Filters
 */
.widget_product_categories ul li,
.widget_layered_nav ul li,
.widget_layered_nav_filters ul li {
  padding-bottom: 0;
}

.widget_product_categories ul li a:not(.button),
.widget_layered_nav ul li a:not(.button),
.widget_layered_nav_filters ul li a:not(.button) {
  font-weight: 500;
  text-decoration: underline;
}

.widget_product_categories ul li::before,
.widget_layered_nav ul li::before,
.widget_layered_nav_filters ul li::before {
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--border-color);
  content: '\f096';
}

.widget_product_categories ul li .count,
.widget_layered_nav ul li .count,
.widget_layered_nav_filters ul li .count {
  font-size: 1em;
  float: right;
}

.widget_product_categories .current-cat::before {
  content: '\f14a';
}

.widget_layered_nav .chosen::before {
  content: '\f14a';
}

.widget_layered_nav_filters .chosen::before {
  content: '\e80d';
  color: #e88a8a;
}

.widget_product_categories .children {
  padding-left: 2rem;
}

/**
 * Widget rating
 */
.widget_rating_filter .wc-layered-nav-rating {
  margin-bottom: 1rem;
}

.widget_rating_filter .wc-layered-nav-rating .star-rating {
  display: inline-block;
  height: 1em;
  line-height: 1;
  margin-right: 0.5rem;
}

/**
 * Product list
 */
.product_list_widget {
  position: relative;
  display: block;
  margin: 0;
}

.product_list_widget li {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 1.5rem 0;
}

.product_list_widget li:first-child {
  padding-top: 0;
}

.product_list_widget li img {
  float: left;
  max-width: 8rem;
  margin-right: 1.5rem;
}

.product_list_widget li a {
  font-size: 1.4rem;
  display: block;
  line-height: 1.6rem;
  margin-bottom: 0.6rem;
}

.product_list_widget li a .product-title {
  font-weight: 500;
}

.product_list_widget li a.remove {
  display: inline-block;
  position: absolute;
  top: 45%;
  transform: translateY(-45%);
  right: 0;
  font-size: 1.4rem;
  color: #fff;
  height: 1.4rem;
  width: 1.4rem;
  line-height: 1.4rem;
  text-align: center;
  border-radius: 50%;
  z-index: 1;
  background-color: #e88a8a;
  margin: 0 0 -1rem;
}

.product_list_widget li ins {
  text-decoration: none;
}

.product_list_widget li.empty {
  float: none;
  margin: 0;
  border: none;
  padding: 0;
  min-height: inherit;
}






/* External Styles*/


@font-face {
  font-display: swap;
  font-family: "sharp-sans-medium";
  src: url("https://d1uhlocgth3qyq.cloudfront.net/fonts/SharpSans-Medium-v1.002.woff2") format("woff2"),
    url("https://d1uhlocgth3qyq.cloudfront.net/fonts/SharpSans-Medium-v1.002.woff") format("woff");
}

@font-face {
  font-display: swap;
  font-family: "sharp-sans-semibold";
  src: url("https://d1uhlocgth3qyq.cloudfront.net/fonts/SharpSans-Semibold-v1.002.woff2") format("woff2"),
    url("https://d1uhlocgth3qyq.cloudfront.net/fonts/SharpSans-Semibold-v1.002.woff") format("woff");
}

@font-face {
  font-display: swap;
  font-family: "sharp-sans-bold";
  src: url("https://d1uhlocgth3qyq.cloudfront.net/fonts/SharpSans-Bold-v1.002.woff2") format("woff2"),
    url("https://d1uhlocgth3qyq.cloudfront.net/fonts/SharpSans-Bold-v1.002.woff") format("woff");
}


body {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif !important;
}

h1,
h1 a,
h1 a:visited,
h2,
h2 a,
h2 a:visited,
h3,
h3 a,
h3 a:visited,
h4,
h4 a,
h4 a:visited,
h5,
h5 a,
h5 a:visited,
h6,
h6 a,
h6 a:visited {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif !important;
  font-weight: 600 !important;

}

.button,
.contact-info-widget li.skype a,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif !important;
}

.elementor-button {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif !important;
  font-weight: 600 !important;

}


.topheader {
  background-color: #fff;
  height: 38px;
}

.topheaderitems {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  height: 38px;
}

.topheaderleft {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 1.25rem;
}

.topheaderright {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 1.25rem;
}

.headerinfo {
  display: flex;
  align-items: center;
  gap: .5rem;
  position: relative;
  line-height: 1;
}

.headerinfo a,
.headersocial a {
  position: absolute;
  width: 100%;
  height: 100%;
}

.headersocial {
  width: 24px;
  height: 24px;
  position: relative;
}

.bottomheaderitems {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 56px;
  /*height: 72px;*/
}

.logocontainer .logo {
  /*height: 56px;*/
  height: 40px;
}

button.headerbtn {
  color: #209acf !important;
  padding: 8px 16px;
  border-radius: 30px;
  background: #fff;
  border: 0;
  line-height: 1;
  font-size: 1.25rem;
  font-weight: 700;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bottomheaderleft {
  display: flex;
  align-items: center;
}

.headerinfo span {
  font-size: 1.25rem;
  color: #666;
}

span.headerinfoicon {
  width: 26px;
  height: 26px;
  background: #00d4b1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  font-size: 1.2rem !important;
}

.bottomheader {
  background: #fff;
  box-shadow: rgb(5 91 78 / 20%) 0px 6px 12px -2px, rgb(0 0 0 / 13%) 0px 3px 7px -3px;
}

.bottomheaderleft a {
  display: flex;
  align-items: center;
}

@media screen and (max-width:600px) {
  .topheaderleft {
    display: none;
  }

  .topheaderitems {
    justify-content: center;
  }
}

button.headerbtn:hover {
  background-color: #117faf;
  color: #fff !important;
}

.oc-testimonial-style-2 .slick-dots {
  bottom: -45px !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  color: rgb(219 17 17 / 41%) !important;
  text-decoration: line-through;
}

div.mpa-booking-step-period p.mpa-shortcode-title {
  display: none;
}

p.mpa-cart-total {
  display: none;
}

section.mpa-order-details p.mpa-shortcode-title {
  display: none;
}

table.mpa-order td.column-price {
  display: none;
}

table.mpa-order tr.mpa-order-subtotal {
  display: none;
}

table.mpa-order tr.mpa-order-total {
  display: none;
}

@media screen and (min-width: 992px) {

  .appointment-form-shortcode .mpa-booking-step-service-form,
  .appointment-form-widget>.widget-body .mpa-booking-step-service-form {
    width: 70% !important;
  }
}


.flatpickr-innerContainer {
  margin-left: 14px;
}

.mpa-shortcode-title {
  font-family: sharp-sans-bold, fallback-font, Arial, sans-serif !important;
  font-size: 20px !important;
}

.e-con-inner img {
  width: 50% !important;
}

abbr[title] {

  text-decoration: none;
  cursor: none;
}

/* Doctors page styles */

.appointmentSection {
  /* background-color: #fdfaee; */
  background-color: #f9f9f9;
}

.appointmentContainer {
  display: flex;
  padding: 48px 0;
}

.appointmentContainerItem {
  flex: 1 1 50%;
}

.appointmentDoctorSection {
  margin-right: 40px;
}

.doctorDataCard {
  display: flex;
}

.doctorImageContainer {
  position: relative;
  /*margin-right: 16px;*/
}

.doctorImageDiv {
  height: 96px;
  width: 96px;
  border-radius: 50%;
  border: 1px solid rgb(226, 226, 226);
  cursor: pointer;
  display: block;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.doctorImageDiv picture.doctorCardPicture {
  display: block !important;
  width: 96px !important;
  height: 96px !important;
}

picture.doctorCardPicture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.doctors_search_result .doctorDetailsContainerDiv {
  display: flex;
}

.doctorDetailsContainerDiv {
  /*display: flex;*/
  /*flex-direction: column;*/
  /*flex: 1 1 0%;*/
  margin-left: 16px;
  width: 100%;
}

.doctorDetailsDiv {
  width: 35%;
}

.appoinment_details {
  width: 65%;
}

.serch-result-container .top-search-bar-container,
.serch-result-container div[style="display:flex;"] {
  margin: 0 24px;
}

h1.doctorName {
  color: #333;
  font-family: sharp-sans-bold, fallback-font, Arial, sans-serif;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: 0em;
  text-transform: none;
  margin: 0;
}

.doctorSpecialty {
  display: inline-flex;
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0em;
  text-transform: none;
  color: #333;
}

.doctorAddress {
  color: #707070;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0em;
  text-transform: none;
}

.doctorRatingSectionContainer {
  background-color: #fff;
  /* background-color: #f5f0e2; */
  display: flex;
  padding: 20px;
  flex-direction: row;
  margin-bottom: 0px;
  margin-top: 24px;
  border: 1px solid #e3e3e3;
  border-radius: 6px;
}

.doctorRatingStarsContainer {
  border-bottom: 0px;
  border-right: 1px solid #e2e2e2;
  padding-right: 20px;
}

.doctorRatingStars {
  display: flex;
  flex-direction: row;
  -webkit-box-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  align-items: center;
}

.doctorRating {
  padding: 0px 0px 8px;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 60px;
  line-height: 72px;
  letter-spacing: 0em;
  text-transform: none;
}

.doctorStars {
  display: inline-flex;
  flex-direction: row;
  -webkit-box-align: center;
  align-items: center;
  gap: 2px;
}

.ratingStar {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #064acb;
  /* color: #FC5B54; */
}

.doctorHighlightPointIcon i,
.inNetworkInsurancesIcon i {
  color: #064acb;
  font-size: 1.75rem;
}

.doctorRatingReviewContainer {
  padding: 0px 0px 0px 30px;
  display: flex;
  flex-direction: column;
  -webkit-box-pack: justify;
  justify-content: space-between;
}

.doctorRatingReviewMessage {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0em;
  text-transform: none;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-bottom: 6px;
  color: #333;
}

.doctorRatingReviewMoreContainer {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0em;
  text-transform: none;
  display: flex;
  -webkit-box-pack: start;
  justify-content: flex-start;
}

.doctorRatingReviewer {
  color: #707070;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0em;
  text-transform: none;
}

.doctorRatingReviewMore a,
.inNetworkInsurancesTextLink,
.collapseWords,
.viewAllNetworks {
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  text-decoration: underline;
  color: #2c64db;
  font-size: 16px;
}

.doctorRatingReviewMore a:hover,
.inNetworkInsurancesTextLink:hover,
.collapseWords:hover,
.viewAllNetworks:hover {
  color: #2755b6;
}

.doctorTabSectionContainer {
  padding-top: 16px;
  gap: 32px;
  flex-direction: column;
  margin-bottom: 32px;
}

.doctorinNetworkSearchSectionContainer {
  margin-top: 24px;
}

.doctorinNetworkSearchSectionHeader {
  font-family: sharp-sans-bold, fallback-font, Arial, sans-serif;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: 0em;
  text-transform: none;
  margin-bottom: 8px;
  margin-top: 0;
}

.doctorinNetworkSearchSectionLabel {
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0em;
  text-transform: none;
}

.doctorTabSection {
  display: flex;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  /* justify-content: space-between; */
  white-space: nowrap;
  max-width: 100%;
  overflow: auto;
  /* overflow-x: hidden; */
}

.doctorTabSectionBtn {
  color: #707070;
  display: inline-block;
  margin-right: 24px;
  padding: 0px 0px 8px;
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0em;
  text-transform: none;
  text-decoration: unset;
}

.doctorHighlightsWrapper {
  padding: 0px 0px 18px;
  margin-bottom: 32px;
  border-bottom: 1px solid rgb(226, 226, 226);
}

select {
  display: block;
  width: 100%;
  padding: 0.5rem 2.25rem 0.5rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333;
  border: 1px solid #e3e3e3;
  border-radius: 0.375rem;
  background-size: 16px 12px;
  background-color: #ffffff;
  margin-top: 8px;
  height: 40px;
}

.doctorHighlightPointsDiv {
  display: flex;
  flex-flow: wrap;
}

.doctorHighlightPoint {
  flex: 1 1 50%;
  display: flex;
}

.doctorHighlightPoint:not(:last-child) {
  margin-bottom: 16px;
}

.doctorHighlightPointIcon {
  display: inline-flex;
  /* display: inline-block; */
  vertical-align: top;
  font-size: 41px;
  width: 42px;
  height: 42px;
}

.doctorHighlightPointText {
  display: inline-block;
  margin-left: 12px;
  /* margin-top: 6px; */
  width: calc(100% - 54px);
}

.doctorHighlightPointTextTitle,
.inNetworkInsurancesTextTitle {
  color: #333;
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0em;
  text-transform: none;
}

.doctorHighlightPointTextData,
.inNetworkInsurancesTextContent {
  color: #707070;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0em;
  text-transform: none;
}

.inNetworkInsurancesWrapper {
  display: flex;
}

.inNetworkInsurancesIcon {
  display: inline-block;
  vertical-align: top;
  font-size: 41px;
  width: 42px;
  height: 42px;
}

.inNetworkInsurancesText {
  display: flex;
  margin-left: 12px;
  flex-direction: column;
  /* margin-top: 6px; */
  width: calc(100% - 54px);
}

.appointmentBookingSection {
  border: 0px;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 4px 0px;
  border-radius: 6px;
  background: rgb(255, 255, 255);
  /* padding: 40px; */
  height: auto;
  position: relative;
}



.aboutSection {
  background-color: #fff;
}

.aboutHeader {
  font-family: sharp-sans-bold, fallback-font, Arial, sans-serif;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: 0em;
  text-transform: none;
  margin-bottom: 8px;
  margin-top: 0px;
  font-weight: 500 !important;
}

.aboutContent {
  color: #333;
  line-height: 1.75;
}

.previewContent::after {
  content: "... ";
}

.previewContent {
  display: inline;
}

.aboutContainer {
  padding: 56px 0;
}

.collapseWords,
.viewAllNetworks {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.doctorNPI span {
  color: #707070;
}

span.doctorNPINO {
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  color: #333;
}

.doctorTabSectionBtn.active {
  color: #064acb;
  border-bottom: 2px solid #064acb;
}

.educationContainerWrapper {
  margin-top: 32px;
  display: flex;
  align-items: start;
}

.educationDataPoints ul {
  padding-left: 16px;
}

.educationData {
  margin-left: 16px;
}

.educationDataPoints ul li {
  margin: 8px 0;
  color: #707070;
}

.educationContainerWrapper h2.aboutHeader {
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  font-size: 18px;
  line-height: 24px;
}

span.insuranceGiven {
  color: #4fad75;
}

.insuranceContentLogos {
  width: 100%;
  display: flex;
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0em;
  text-transform: none;
  flex-wrap: wrap;
}

.insuranceContentLogosItems {
  flex: 1 1 33.33333333%;
  max-width: 33.33333333%;
}

.insuranceContentLogo {
  width: 45px;
  height: 45px;
  margin-left: 0px;
  margin-right: 16px;
  background-repeat: no-repeat;
  background-size: contain;
}

.insuranceContentLogosItem {
  display: flex;
  padding: 14px 0;
  align-items: center;
}

@media screen and (min-width: 1024px) {
  .doctorRating {
    font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
    font-size: 48px;
    line-height: 56px;
    letter-spacing: 0em;
    text-transform: none;
    padding: 0px 0px 8px;
  }

  .doctorRatingStars {
    display: flex;
    flex-direction: column;
  }

  .doctorRatingReviewMessage {
    -webkit-line-clamp: 3;
  }

  .doctorRatingReviewMoreContainer {
    -webkit-box-pack: justify;
    justify-content: space-between;
  }

  .doctorTabSectionBtn {
    padding: 12px 0;
  }

  .appointmentBookingSection {
    max-width: 600px;
  }

  .aboutSection {
    /* max-width: 80%;
            margin-left: 10%; */
  }

  .profileContentWrapper {
    padding-left: 0px;
    padding-right: 0px;
    /* margin-left: 42px;
            margin-right: 42px; */
  }
}

@media screen and (min-width: 768px) {
  .appointmentBookingSection {
    min-height: 400px;
  }
}

@media screen and (max-width: 960px) {
  .appointmentContainer {
    flex-direction: column;
  }

  .appointmentBookingSection {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .appointmentContainer {
    flex-direction: column;
  }

  .doctorRatingSectionContainer {
    flex-direction: column;
  }

  .appointmentDoctorSection {
    margin-right: 0;
  }

  .doctorRating {
    font-size: 28px;
    line-height: 36px;
    padding: 0;
    margin-right: 8px;
  }

  .doctorRatingReviewContainer {
    padding: 0;
  }

  .doctorRatingReviewMessage {
    line-height: 22px;
    font-size: 14px;
  }

  .doctorRatingReviewer {
    display: none;
  }

  .doctorHighlightPoint:not(:last-child) {
    margin-bottom: 16px;
  }

  .doctorHighlightPoint {
    flex: 1 1 100%;
  }

  .appointmentBookingSection {
    min-height: 400px;
    margin-top: 32px;
  }

  .insuranceContentLogosItems {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .elementor-745 .elementor-element.elementor-element-639ff39 .elementor-heading-title {
    font-size: 40px;
    line-height: 48px;
  }

  .elementor-745 .elementor-element.elementor-element-a259fcd {
    font-size: 20px;
    line-height: 28px;
  }

  .elementor-background-overlay {
    background-color: #285e77 !important;
  }
}

@media screen and (max-width: 420px) {
  .appointmentBookingSection {
    padding: 8px !important;
  }

  .container {
    padding: 0 8px !important;
  }

  .appointment-form-shortcode .mpa-booking-step-period .flatpickr-calendar {
    width: 100%;
  }

  .appointment-form-shortcode .flatpickr-days {
    width: 100% !important;
  }

  .appointment-form-shortcode .flatpickr-days .dayContainer {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  .appointment-form-shortcode .flatpickr-innerContainer {
    margin: 0 7px;
  }

  .appointment-form-shortcode .flatpickr-days .dayContainer span.flatpickr-day {
    max-width: 14.2857143%;
    height: 14.2857143%;
    line-height: 32px;
  }
}

@media screen and (max-width: 425px) {
  .doctorDataCard {
    flex-direction: column;
    align-items: start;
    gap: 1.5rem;
  }

  .doctors_search_result .doctorDetailsContainerDiv {
    width: calc(100% - 16px) !important;
    margin: 0 !important;
  }

  .appoinment_details {
    margin-left: 0 !important;
    width: 100% !important;
  }

  .appts_section_container {
    justify-content: unset !important;
  }

  .appts_section_container {
    width: auto !important;
  }

}

@media screen and (min-width: 426px) {
  .appointment-form-shortcode .flatpickr-days {
    width: 100% !important;
  }

  .appointment-form-shortcode .flatpickr-days .dayContainer {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  .flatpickr-calendar .flatpickr-day {
    max-width: 14.2857143% !important;
    height: 14.2857143% !important;
    line-height: 37px !important;
  }

  .appointment-form-shortcode .mpa-booking-step-period .flatpickr-calendar {
    width: 100% !important;
  }

  .flatpickr-innerContainer {
    min-width: 100% !important;
  }

  .flatpickr-rContainer {
    width: 100%;
  }
}


.appointment-form-shortcode .mpa-booking-step-period .flatpickr-calendar {
  margin: auto !important;
}

.appointmentSection .container {
  display: block !important;
}

.aboutSection .container {
  display: block !important;
}

.insuranceSection .container {
  display: block !important;
}

.locationSection .container {
  display: block !important;
}

/* End of doctors page styles*/


.appointmentDoctorSection {
  margin-top: 10px;
}

.appointmentBookingSection {
  /*padding: 15px;*/
  padding: 24px;
}

.aboutSection {
  /*margin: 0px 25px;*/
}

.insuranceSection {
  margin: 0;
  background-color: #f3f9ff;
}

.insuranceContentWrapper {
  padding: 56px 0;
}

.locationSection {
  margin: 0;
}

.doctorRating {
  font-size: 30px;
}

.reviewsSection .container {
  display: block !important;
}

.reviewsSection {
  background: #f9f9f9;
}

.reviewsSection h2.aboutHeader.insuranceContentHeader {
  margin-bottom: 28px;
}

.reviewsSection span.glsr-tag-value {
  color: #707070;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0em;
  text-transform: none;
  font-style: normal;
}

.reviewsSection .glsr-review-content p {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0em;
  text-transform: none;
  margin-bottom: 0;
  color: #333;
}

.reviewsSection .glsr-reviews {
  gap: 24px;
}

.reviewsSection .glsr.glsr-default.glsr-ltr:last-child {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid #dddddd;
  width: 100%;
}

.reviewsSection .glsr-form-wrap label span {
  color: #707070;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-weight: 400;
}

.reviewsSection .glsr-form-wrap input,
.reviewsSection .glsr-form-wrap textarea {
  box-shadow: unset !important;
  border: 1px solid #cecece !important;
  font-weight: 400;
  color: #333 !important;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif !important;
}

.reviewsSection .glsr-form-wrap input::placeholder,
.reviewsSection .glsr-form-wrap textarea::placeholder,
.reviewsSection .glsr-form-wrap input::-ms-input-placeholder,
.reviewsSection .glsr-form-wrap textarea::-ms-input-placeholder {
  font-weight: 400;
  color: #707070 !important;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif !important;
}

.glsr-default form.glsr-form .wp-block-button {
  text-align: right;
}

.glsr-default form.glsr-form .wp-block-button button.glsr-button {
  background: #00d4b1;
  border-radius: 6px;
  padding: 12px 16px;
  font-size: 16px;
}

.appointmentBookingSection .mpa-shortcode.appointment-form-shortcode .mpa-booking-step.mpa-booking-step-service-form {
  width: 100% !important;
}

.appointmentBookingSection .mpa-booking-step.mpa-booking-step-service-form p.mpa-shortcode-title {
  margin-bottom: 24px;
}

.appointmentBookingSection .mpa-booking-step.mpa-booking-step-service-form label {
  color: #707070;
  font-size: 14px;
}

.appointmentBookingSection .mpa-booking-step.mpa-booking-step-service-form label strong abbr {
  color: #db1111;
}

.appointmentBookingSection .mpa-input-container {
  flex-direction: column;
  gap: 2rem;
}

.appointmentBookingSection .mpa-input-container .mpa-times {
  position: unset !important;
}

.appointment-form-shortcode button:focus {
  background: #3B78C2;
}

.appointment-form-shortcode .mpa-actions button.button.button-primary.mpa-button-next {
  background: #099f87;
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-header {
  flex-direction: column;
  padding: 0;
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .cell {
  /*padding-left: 0 !important;*/
  /*padding-right: 0 !important;*/
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .cell.cell-service {
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif !important;
  color: #333;
  font-size: 18px;
  /*padding: 0 !important;*/
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-header .cell {
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-body {
  /*padding: 0 !important;*/
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .cell.cell-date {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif !important;
  font-weight: 400;
  color: #333;
  font-size: 16px;
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-body .cell {
  width: 100%;
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-body p.cell-title {
  /*font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif !important;*/
  color: #333;
  font-size: 18px;
  line-height: 1;
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-body span.cell-value {
  font-size: 14px;
  color: #333;
  /*font-family: sharp-sans-medium, fallback-font, Arial, sans-serif !important;*/
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-footer {
  justify-content: end;
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-footer .cell.cell-actions {
  text-align: right;
  padding-top: 0;
  padding-bottom: 0;
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-footer .cell.cell-actions button {
  padding: 1rem 3rem;
  background: #fff;
  border: 1px solid #064acb;
  color: #064acb;
  font-weight: 600;
  transition: background-color linear 200ms, color linear 200ms;
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-footer .cell.cell-actions button:hover {
  background: #064acb;
  color: #fff;
  transition: background-color linear 200ms, color linear 200ms;
}

p.mpa-actions {
  text-align: right;
}

.mpa-booking-step.mpa-booking-step-checkout section.mpa-customer-details.mpa-checkout-section p.mpa-input-wrapper.mpa-customer-notes-wrapper {
  display: flex;
  flex-direction: column;
}

.mpa-booking-step.mpa-booking-step-checkout form.mpa-checkout-form label {
  font-size: 14px;
  color: #333;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif !important;
}

.mpa-booking-step.mpa-booking-step-checkout form.mpa-checkout-form label strong {
  color: red;
}

section.mpa-checkout-section.mpa-order-details tr.mpa-order-service td {
  padding: 1.5rem;
  font-size: 1.4rem;
  line-height: 1;
}

.appointment-form-shortcode .mpa-phone-field-error {
  font-size: 12px !important;
  line-height: 1;
}

section.faqsection .container {
  display: block !important;
}

.faqcontainer h2.aboutHeader.faqContentHeader {
  margin-bottom: 28px;
}

#yourFixedDivId.header-active {
  top: 32px;
}

.viewAvailabilityData .glsr-summary-rating span {
  font-size: 16px !important;
  line-height: 24px;
  padding: 0 !important;
}

.viewAvailabilityData span.glsr-star {
  width: 16px !important;
  height: 16px !important;
  background-size: 16px !important;
}



/* footer style */

.appointmentFooter {
  padding: 1.75rem 1.75rem;
  background: #055b4e;
  border-top: 1px solid #dedede;
  /*margin-top: 56px;*/
  color: #fff;
}

.footerContainer {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.footerLogo {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0.5rem 0;
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
}

p.copyright {
  font-size: .75em;
  line-height: 1;
  text-align: center;
  margin: .5rem 0 0;
}

.footerSocialIcons {
  display: flex;
  align-items: center;
  justify-content: center;
}

.footerSocialIcons a {
  color: #fff;
  font-size: 1.5rem;
}

.footerSocialIcons a {
  color: #fff;
  font-size: 1.25em;
  margin: 0rem 0.5rem 0;
}

/* end footer style*/

.glsr-summary {
  justify-content: center;
}

.glsr-summary-rating span.glsr-tag-value {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 48px;
  line-height: 56px;
  letter-spacing: 0em;
  text-transform: none;
  padding: 0px 0px 8px;
}

.doctorRatingStarsContainer {
  display: flex;
  align-items: center;
}

.doctorRatingReviewMessage .glsr-tag-value {
  -webkit-line-clamp: 3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.doctorRatingReviewMessage .glsr-review-author span.glsr-tag-value {
  color: #707070;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0em;
  text-transform: none;
}



.faqcontainer {
  padding: 56px 0;
}

.faqItem .faqTitle h3 {
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0em;
  text-transform: none;
  margin: 0 0 8px;
}

.faqItem .faqAnswer {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0em;
  text-transform: none;
}

.faqItem .faqAnswer p {
  margin: 0;
}

.faqItem {
  margin-bottom: 24px;
}

button.button.button-primary.mpa-button-next:disabled {
  cursor: not-allowed;
  opacity: .5;
}


.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2;
}

.modal-content {
  position: absolute;
  /*top: 55%;*/
  /*left: 50%;*/
  /*transform: translate(-50%, -50%);*/
  background: white;
  /* padding: 20px; */
  border-radius: 8px;
  text-align: center;
  width: 90vw;
  max-width: 600px;
  max-height: calc(100vh - 200px);
  /*overflow: auto;*/

  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: fit-content;
  margin: auto;
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid #dee2e6;
}

.modal-header .insuranceContentLogosItem {
  padding: 0;
}

.insuranceContentItemData ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.insuranceContentItemData ul li {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0em;
  text-transform: none;
  text-align: left;
  margin: 4px 0;
  color: #707070;
}

.insuranceContentLogosItemsData {
  display: none;
}

.modal-body {
  padding: 16px;
  max-height: calc(-272px + 99vh);
  overflow: auto;
}

.close {
  /* position: absolute;
    top: 10px;
    right: 10px; */
  font-size: 20px;
  cursor: pointer;
}

.insuranceContentLogosItems:hover {
  text-decoration: underline;
  cursor: pointer;
  text-decoration-color: #064acb;
}


@media screen and (max-width: 767.9px) {
  .pmpro_billing_gateway-braintree form#pmpro_form {
    margin: 0 !important;
  }

  .pmpro_billing_gateway-braintree div#pmpro_billing_address_fields {
    margin: 30px 0 !important;
  }

  .pmpro_billing_wrap {
    font-size: 16px;
  }

  .pmpro_billing_wrap {
    margin: 32px 16px;
  }

  .pmpro_billing_wrap div#pmpro_payment_information_fields {
    margin-left: 0;
    margin-right: 0;
  }

  .pmpro_billing_wrap .pmpro_submit {
    margin-left: 0;
    margin-right: 0;
  }

  .pmpro_checkout-fields {
    padding: 16px !important;
  }

  .pmpro_checkout-fields .pmpro_checkout-field {
    padding-right: 0 !important;
  }

  .pmpro_invoice_wrap p.pmpro_actions_nav {
    display: flex;
    flex-direction: column;
  }

  .pmpro_invoice_wrap p.pmpro_actions_nav span {
    width: 100%;
    font-size: 16px;
    text-align: left !important;
    margin-bottom: 8px;
  }

  .pmpro_invoice_wrap h3 {
    font-size: 20px !important;
  }

  .pmpro_invoice_wrap {
    font-size: 16px;
  }

  .wide-container:has(.pmpro_invoice_wrap) div#primary {
    margin-bottom: 0 !important;
  }

  .wide-container:has(.pmpro_invoice_wrap) article {
    margin-bottom: 0;
  }
}

.wide-container:has(.pmpro_invoice_wrap) {
  display: flex;
  flex-direction: column;
}

/*.wide-container:has(.woocommerce-MyAccount-content) .entry-content {*/
/*    margin: 16px;*/
/*}*/
/*.wide-container:has(.woocommerce-MyAccount-content) article, .wide-container:has(.woocommerce-MyAccount-content) div#primary {*/
/*    margin-bottom: 0;*/
/*}*/
/*.wide-container:has(.woocommerce-MyAccount-content) {*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*}*/
/*.wide-container:has(.woocommerce-MyAccount-content) div#content {*/
/*    flex: 1;*/
/*    display: flex;*/
/*    margin-bottom: 0;*/
/*}*/
.wide-container:has(.pmpro_invoice_wrap) div#content {
  display: flex;
  flex: 1;
}

div#pmpro_payment_information_fields span.pmpro_checkout-h3-msg {
  color: #646464;
  line-height: 1.75;
}


#yourFixedDivId {
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 75px;
  border-bottom: 1px solid #cecece;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 3px 12px 3px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
  z-index: 2;
}

.viewAvailabilityFixed {
  display: flex;
  justify-content: end;
  height: 75px;
}

.viewAvailabilityFixed a {
  display: flex;
  margin-left: auto;
  align-items: center;
  text-decoration: unset;
  padding-right: 16px;
}

.viewAvailabilityImage {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
}

.viewAvailabilityImage img {
  width: 100%;
  object-fit: cover;
  height: 100%;
}

.viewAvailabilityData {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  color: #707070;
}

.viewAvailabilityDataName {
  font-family: sharp-sans-bold, fallback-font, Arial, sans-serif;
  font-size: 17px;
  line-height: 24px;
  letter-spacing: 0em;
  text-transform: none;
  margin-bottom: 3px;
  color: #333;
}

.viewAvailabilityDataBtn {
  /*width: 162px;*/
  padding: 17px;
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  font-size: 16px;
  /*line-height: 24px;*/
  line-height: 1;
  letter-spacing: 0em;
  text-transform: none;
  background-color: rgb(86 159 247);
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  color: #fff;
  margin-left: 16px;
  height: 100%;
  max-height: 48px;
}

.elementor-background-overlay {
  background: unset !important;
}

.elementor-745 .elementor-element.elementor-element-6bf9ec7:not(.elementor-motion-effects-element-type-background) {
  background-color: #dcf4ff;
  background-size: auto 90% !important;
  background-position: right bottom !important;
}

.elementor-745 .elementor-element.elementor-element-639ff39 .elementor-heading-title {
  color: #099f87 !important;
}

.elementor-745 .elementor-element.elementor-element-a259fcd {
  color: #209acf !important;
  font-weight: 300 !important;
  font-size: 18px !important;
}

.elementor-745 .elementor-element.elementor-element-2794814 {
  margin-top: 96px;
}

.viewAvailabilityFixed .viewAvailabilityDataRating {
  display: flex;
  align-items: center;
  font-size: 14px;
  gap: 4px;
}

html {
  scroll-behavior: smooth;
  scroll-duration: 1s;
}

body.patient-portal-active.account-page-container .woocommerce-MyAccount-content,
body.pmpro-login.logged-in .woocommerce-MyAccount-content {
  max-width: 97vw !important;
  width: 100% !important;
  flex: 1 !important;
  margin: 0 auto 16px auto !important;
}

@media screen and (max-width: 900px) {
  .elementor-745 .elementor-element.elementor-element-639ff39 .elementor-heading-title {
    font-size: 48px !important;
  }
}

@media screen and (max-width: 768px) {
  .elementor-background-overlay {
    /*background-color: #285e77 !important;*/
  }

  .doctorRatingStarsContainer {
    border-right: 0;
  }
}

a.footer_page_links {
  color: #707070;
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  font-size: 16px;
}

header.entry-header {
  display: none;
}

@media screen and (max-width: 600px) {
  .elementor-745 .elementor-element.elementor-element-6bf9ec7>.elementor-container {
    min-height: 94vh !important;
  }

  .elementor-745 .elementor-element.elementor-element-6bf9ec7>.elementor-container .elementor-column.elementor-col-100.elementor-top-column.elementor-element {
    min-height: 94vh;
  }

  .elementor-745 .elementor-element.elementor-element-e394845 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .elementor-745 .elementor-element.elementor-element-639ff39 .elementor-heading-title {
    font-size: 40px !important;
    line-height: 48px !important;
    text-align: center;
  }

  .elementor-745 .elementor-element.elementor-element-a259fcd {
    font-size: 16px !important;
    line-height: 24px !important;
    text-align: center !important;
    margin-bottom: 0 !important;
  }

  .elementor-745 .elementor-element.elementor-element-6bf9ec7>.elementor-container .elementor-button-wrapper {
    text-align: center;
  }

  .elementor-745 .elementor-element.elementor-element-6bf9ec7:not(.elementor-motion-effects-element-type-background) {
    background-size: auto 55% !important;
    background-position: center bottom !important;
    padding-top: 120px;
  }

  .elementor-745 .elementor-element.elementor-element-6bf9ec7>.elementor-container .elementor-button-wrapper a.elementor-button {
    padding: 0 20px;
    font-size: 14px;
    height: 40px;
    line-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .elementor-745 .elementor-element.elementor-element-55ffc60>.elementor-element-populated,
  .elementor-745 .elementor-element.elementor-element-78e8d22>.elementor-element-populated,
  .elementor-745 .elementor-element.elementor-element-c201680>.elementor-element-populated {
    padding: 24px !important;
  }

  h3.elementor-image-box-title {
    margin-top: 0 !important;
    font-size: 24px !important;
    font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif !important;
  }

  .elementor-745 .elementor-element.elementor-element-49bfe82 .elementor-image-box-description {
    font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  }

  .aboutContainer,
  .insuranceContentWrapper,
  .insuranceContentWrapper,
  .faqcontainer,
  .appointmentContainer {
    padding: 24px 0;
  }

  .educationDataPoints ul,
  .educationDataPoints ul li:last-child {
    margin-bottom: 0;
  }

  .insuranceContentLogosItems:last-child .insuranceContentLogosItem {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 500px) {
  .elementor-745 .elementor-element.elementor-element-639ff39 .elementor-heading-title {
    font-size: 32px !important;
    line-height: 40px !important;
  }

  .elementor-745 .elementor-element.elementor-element-6bf9ec7>.elementor-container {
    min-height: 600px !important;
  }

  .elementor-745 .elementor-element.elementor-element-6bf9ec7>.elementor-container .elementor-column.elementor-col-100.elementor-top-column.elementor-element {
    min-height: 600px;
  }

  .viewAvailabilityDataBtn {
    width: auto;
    padding: 12px;
    font-size: 14px;
    /*line-height: 22px;*/
    line-height: 1;
    margin-left: 8px;
  }
}

@media screen and (max-width: 400px) {
  .elementor-745 .elementor-element.elementor-element-639ff39 .elementor-heading-title {
    font-size: 24px !important;
    line-height: 32px !important;
  }

  .elementor-745 .elementor-element.elementor-element-a259fcd {
    font-size: 14px !important;
    line-height: 20px !important;
  }

  .viewAvailabilityDataName {
    font-size: 14px;
  }

  .viewAvailabilityDataBtn {
    padding: 8px;
    font-size: 13px;
  }

  .viewAvailabilityFixed a {
    padding-right: 0;
  }
}

.booking-view-more {
  background-color: #fff !important;
  border: 1px solid #00d4b1;
  margin: 5px 10px 5px 0;
  padding: 5px;
  font-weight: 500 !important;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
}

.booking-view-more i {
  margin: 0 !important;
}

.booking-view-more:hover {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.booking-view-more:focus {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.bottomheaderright {
  display: flex;
  align-items: center;
  gap: 3rem;
}

.bottomheaderright a.footer_page_links {
  color: #00d4b1;
  text-decoration: unset !important;
  display: block;
  width: fit-content;
  height: fit-content !important;
  margin: 0 !important;
}

.bottomheaderright a.footer_page_links:hover {
  color: #099f87 !important;
  /*color: #212145;*/
}

.bottomheaderright a.footer_page_links:last-child:hover {
  /* border-color: #099f87 !important;
  background: #099f87 !important; */
  color: #099f87 !important;
}

.a.dropdown-btn.footer_page_links {
  position: relative;
}

a.dropdown-btn.footer_page_links::before {
  content: '\f107';
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  position: absolute;
  right: -14px;
  color: #fff;
  font-size: 12px;
  top: 1px;
}

@media screen and (max-width: 420px) {
  .bottomheaderright {
    margin-right: 16px;
  }
}

.elementor-widget-image-box .elementor-image-box-wrapper figure.elementor-image-box-img {
  display: none;
}


/*Patient Portal*/
.mpa-account-login-form {
  max-width: 330px;
  padding: 1rem;
  margin: auto;
}

.mpa-account-login-form form#loginform p {
  display: flex;
  flex-direction: column;
}

body,
div.site,
.wide-container {
  min-height: 100vh !important;
  /* min-height: 100svh !important; */
}

.mpa-account-login-form form#loginform p label {
  font-size: 14px !important;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  color: #707070;
}

.mpa-account-login-form form#loginform p.login-remember label {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.mpa-account-login-form form#loginform p.login-submit {
  margin-bottom: 0;
}

.mpa-account-login-form a {
  font-size: 14px;
  line-height: 1;
}

.mpa-account-login-form form#loginform p.login-remember {
  margin-bottom: 8px;
}

.mpa-account-login-form form#loginform p.login-password {
  margin-bottom: 16px;
}

.upcoming-message {
  padding: 6px 10px;
  border: 1px solid #a3b9cf;
  text-align: center;
  border-radius: 6px;
  background: #dff6ff;
  color: #12304e;
  line-height: 1.2;
  width: max-content;
  font-size: 13px;
  margin-bottom: 2px;
}

.edit-account-details {
  text-decoration: underline;
  font-style: italic;
}

nav.mpa-account-menu ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  gap: 16px;
  justify-content: end;
}

nav.mpa-account-menu .container {
  display: block !important;
}

.elementor-2669 .elementor-element.elementor-element-31056af,
.elementor-2669 .elementor-element.elementor-element-31056af .e-con-inner {
  padding: 0 !important;
}

nav.mpa-account-menu {
  background: #099f87;
  padding: 8px 0;
}

nav.mpa-account-menu ul li a {
  color: #fff;
  font-size: 15px;
  /*margin: 0 4px;*/
}

nav.mpa-account-menu ul li a:hover {
  color: #c3edff;
}

table.mpa-account-bookings thead th {
  font-size: 18px;
  padding-left: 10px;
  padding-right: 10px;
  text-wrap: nowrap;
  white-space: nowrap;
  background: #e3f1ff;
}

table.mpa-account-bookings tbody td {
  font-size: 14px;
  color: #707070;
  text-wrap: nowrap;
  white-space: nowrap;
}

table.mpa-account-bookings tbody td {
  font-size: 14px;
  color: #707070;
  padding: 12px 10px;
}

table.mpa-account-past-bookings thead th {
  font-size: 18px;
  padding-left: 10px;
  padding-right: 10px;
  text-wrap: nowrap;
  white-space: nowrap;
  background: #e3fff4;
}

.booking_pagination button {
  background: #00d4b1;
}

.booking_pagination button.active {
  background-color: #099f87 !important;
}

form.mpa-patient-edit-form button {
  background: #00d4b1;
}

form.mpa-patient-edit-form button:hover {
  background: #099f87;
}

table.mpa-account-past-bookings tbody td {
  font-size: 14px;
  color: #707070;
  text-wrap: nowrap;
  white-space: nowrap;
}

table.mpa-account-past-bookings tbody td {
  font-size: 14px;
  color: #707070;
  padding: 12px 10px;
}

.mpa-booking-container {
  /*overflow: auto;*/
}

.mpa-account-details {
  margin: 56px auto 24px;
  max-width: 500px;
}

.mpa-account-details .mpa-customer-details span.label {
  font-weight: 500;
  color: #707070;
  margin-right: 4px;
}

.mpa-account-details .mpa-customer-details span.value,
.mpa-account-details .mpa-customer-details span.value a {
  color: #212121;
  font-weight: 700;
}

.testimonial {
  margin: 0 20px 40px;
}

.testimonial .testimonial-content {
  padding: 35px 25px 35px 50px;
  margin-bottom: 35px;
  background: #e6f7ff;
  position: relative;
}

.testimonial .testimonial-content:before {
  /*content: "";*/
  position: absolute;
  bottom: -30px;
  left: 0;
  border-top: 15px solid #718076;
  border-left: 15px solid transparent;
  border-bottom: 15px solid transparent;
}

.testimonial .testimonial-content:after {
  /*content: "";*/
  position: absolute;
  bottom: -30px;
  right: 0;
  border-top: 15px solid #718076;
  border-right: 15px solid transparent;
  border-bottom: 15px solid transparent;
}

.testimonial-content .testimonial-icon {
  width: 50px;
  height: 45px;
  background: #064acb;
  text-align: center;
  font-size: 22px;
  color: #fff;
  line-height: 42px;
  position: absolute;
  top: 37px;
  left: -19px;
}

.testimonial-content .testimonial-icon:before {
  content: "";
  border-bottom: 16px solid #050ba7;
  border-left: 18px solid transparent;
  position: absolute;
  top: -16px;
  left: 1px;
}

.testimonial .description {
  font-size: 16px;
  font-style: italic;
  color: #8a8a8a;
  line-height: 23px;
  margin: 0 0 8px;
}

.testimonial .title {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #000;
  text-transform: capitalize;
  letter-spacing: 1px;
  margin: 0 0 5px 0;
}

.testimonial .post {
  display: block;
  font-size: 14px;
  color: #064acb;
}

.owl-theme .owl-controls {
  margin-top: 20px;
}

.owl-theme .owl-controls .owl-page span {
  background: #ccc;
  opacity: 1;
  transition: all 0.4s ease 0s;
}

.owl-theme .owl-controls .owl-page.active span,
.owl-theme .owl-controls.clickable .owl-page:hover span {
  background: #064acb;
}

.mpa-account-booking {
  margin: 56px auto;
  max-width: 500px;
}

.mpa-patient-details {
  margin: 56px auto;
  max-width: 400px;
  padding: 0px 10px;
}

.appointment-form-shortcode .mpa-booking-step-booking p.mpa-message {
  text-align: center;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #333;
  margin-bottom: 24px !important;
}

.appointment-form-shortcode .mpa-booking-step-booking p.mpa-message p {
  margin-bottom: 0;
  margin-top: 8px;
}

.appointment-form-shortcode .mpa-booking-step-booking .mpa-booking-details .item-header {
  flex-direction: column !important;
}

.appointment-form-shortcode .mpa-booking-step-booking .mpa-booking-details .item-header .cell {
  width: 100% !important;
  padding-top: 0;
  padding-bottom: 0;
}

.appointment-form-shortcode .mpa-booking-step-booking .mpa-booking-details .item-header .cell:first-child {
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif !important;
  color: #333;
  font-size: 18px;
}

.appointment-form-shortcode .mpa-booking-step-booking .mpa-booking-details .item-header .cell:last-child {
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif !important;
  font-weight: 400;
  color: #333;
  font-size: 16px;
}

.appointment-form-shortcode .mpa-booking-step-booking .mpa-cart-item {
  margin-bottom: 16px !important;
}

.elementor-2669 .elementor-element.elementor-element-31056af .e-con-inner {
  min-width: 100% !important;
}

.mpa-booking-container.container {
  display: block !important;
}

.mpa-booking-container table.mpa-account-bookings {
  border: 1px solid #dee2e6;
  margin-top: 0px;
}

.mpa-booking-container table.mpa-account-bookings tr td {
  border-bottom: 1px solid #dee2e6;
  padding-top: 4px;
  padding-bottom: 4px;
}

.mpa-booking-container table.mpa-account-bookings tr td.booking-time .booking-reservation {
  font-weight: 600;
}

.mpa-booking-container table.mpa-account-past-bookings {
  border: 1px solid #dee2e6;
  margin-top: 0px;
}

.mpa-booking-container table.mpa-account-past-bookings tr td {
  border-bottom: 1px solid #dee2e6;
  padding-top: 4px;
  padding-bottom: 4px;
}

.mpa-booking-container table.mpa-account-past-bookings tr td.booking-time .booking-reservation {
  font-weight: 500;
}

body.patient-portal-active .mpa-booking-container.container {
  min-height: calc(100vh - 405px);
}

body.patient-portal-active .mpa-account-details {
  min-height: calc(100vh - 510px);
  display: block !important;
  width: auto;
}

body.patient-portal-active .mpa-customer-details {
  margin-bottom: 10px;
  font-size: 16px;
}

body.patient-portal-active p.mpa-account-container-heading a {
  margin-left: 8px;
  font-size: 18px;
}

body.patient-portal-active p.mpa-account-container-heading a {
  margin-left: 8px;
  font-size: 20px;
}

body.patient-portal-active p.mpa-account-container-heading a {
  margin-left: 8px;
  font-size: 20px;
}

.appointment-details-modal-header span#closeModalBtn {
  font-size: 26px !important;
}

body:has(div#AppointmentDetailsModal[style="display: block;"]) {
  overflow: hidden;
}

/* Hide elements based on screen size */
@media screen and (max-width: 960px) {
  .appointmentBookingPC {
    display: none;
  }
}

@media screen and (min-width: 961px) {
  .AppointmentBookingSectionMobile {
    display: none;
  }
}

/* Dropdown container */
.dropdown {
  position: relative;
  display: inline-block;
}

/* Dropdown button */
.dropdown-btn {
  background-color: #099f87;
  color: white;
  padding: 0;
  border: none;
  cursor: pointer;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

/* Dropdown content (hidden by default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #fff;
  min-width: 160px;
  /*box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);*/
  box-shadow: 0 0.25rem 0.625rem #14141475;
  z-index: 1;
  right: 0;
  top: 55px;
  border-radius: 6px;
  border: 1px solid #f3f3f3;
}

/* Links inside the dropdown */
.dropdown-content a {
  color: #099f87;
  padding: 8px;
  text-decoration: none;
  display: block;
  font-size: 14px;
  line-height: 1.5;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif !important;
  -webkit-user-select: none;
  /* Safari */
  -ms-user-select: none;
  /* IE 10 and IE 11 */
  user-select: none;
  /* Standard syntax */
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {
  background-color: #f1f1f1;
}

/* Show the dropdown menu */
.show {
  display: block;
}

.appointment-details-modal-header {
  padding: 16px;
  border-bottom: 1px solid #dee2e6;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.appointment-details-modal-heading {
  align-items: center;
  font-weight: 700;
}

.details-modal-close {
  /*float: right;*/
  /*position: relative;*/
  /*top: -28px;*/
}

.appointment-details-modal-body {
  text-align: left;
}

.appointment-details-modal-body span.label {
  /*font-weight: 700;*/
}

.mpa-account-login-form {
  min-height: calc(100vh - 355px);
}

form.woocommerce-ResetPassword.lost_reset_password {
  max-width: 330px;
  padding: 1rem;
  margin: auto;
  /*margin-top: 56px;*/
  /*min-height: calc(100svh - 410px);*/
}

form.lost_reset_password p.woocommerce-form-row.form-row:has(.wc_reset_submit_button) {
  margin-bottom: 0 !important;
}

form.lost_reset_password button.woocommerce-Button.button:last-child {
  margin-bottom: 0 !important;
  background-color: transparent !important;
  color: #055b4e;
  font-size: 13px !important;
  text-transform: unset !important;
  padding: 0;
}

form.woocommerce-ResetPassword.lost_reset_password p {
  font-size: 14px;
  line-height: 1.5;
  color: #6a6a6a;
  /*text-align: center;*/
}

form.woocommerce-ResetPassword.lost_reset_password label {
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.25;
  text-align: left;
}

input,
textarea {
  font-size: 16px !important;
}

form.woocommerce-ResetPassword.lost_reset_password1 {
  max-width: 330px;
  padding: 1rem;
  margin: auto;
  margin-top: 56px;
  min-height: calc(100vh - 410px);
}

form.woocommerce-ResetPassword.lost_reset_password1 p {
  font-size: 13px;
  line-height: 1.5;
  color: #707070;
  /*text-align: center;*/
}

.wide-container .container {
  /*display: block !important;*/
}

.lost-password-message-div.container {
  margin-top: 56px;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-height: calc(100vh - 410px);
}

.lost-password-message-div .wc-block-components-notice-banner.is-success {
  width: fit-content;
}

.lost-password-message-div p {
  font-size: 16px;
  color: #707070;
}

.appointment-details-modal-body {
  width: 100%;
  padding: 0;
}

.appointment-details-modal-body .mpa-booking-details-section {
  border-bottom: 1px solid #dee2e6;
  padding: 8px 16px;
}

.appointment-details-modal-body .mpa-booking-details-section:last-child {
  border: 0;
}

.appointment-details-modal-body .mpa-booking-details-section div span:last-child {
  color: #707070;
}

.appointment-details-modal-body .mpa-booking-details-section.booking-reservations .reservation-details div {
  display: flex;
  flex-direction: column;
  margin-bottom: 8px;
}

.appointment-details-modal-body .mpa-booking-details-section.booking-reservations .reservation-details div span:first-child {
  font-size: 14px;
  line-height: 1.25;
}

.appointment-details-modal-heading {
  font-size: 20px;
}

.appointment-details-modal-body span {
  font-size: 16px;
}

.appointment-details-modal-body .mpa-booking-details-section div {
  line-height: 1.5;
}

form.woocommerce-ResetPassword.lost_reset_password label {
  font-weight: 600;
  font-size: 14px;
}

form.woocommerce-ResetPassword.lost_reset_password input#user_login {
  padding: 8px 16px;
  font-size: 16px !important;
}

form.woocommerce-ResetPassword.lost_reset_password p.woocommerce-form-row.form-row {
  text-align: right;
}

form.woocommerce-ResetPassword.lost_reset_password button.woocommerce-Button.button {
  font-size: 14px;
  width: 100%;
  line-height: 1.5;
  background: #00d4b1;
}


/* search result page style */

.top-search-bar-div {
  display: flex;
  width: 100%;
  justify-content: space-between;
}

.top-search-bar-div .select2-container {
  margin: 0px 5px 0px 0px;
}

.serch-result-container {
  margin: 20px 0px;
}

.serch-result-title {
  margin: 30px 0px 0px 0px;
  color: #064acb;
}

.serch-result-container-div .doctorDataCard {
  /*margin:30px -16px;*/
  padding: 24px 0px 24px 24px;
}

.serch-result-div {
  flex-direction: row;
}

.top-search-bar-div .select2-container .select2-selection--single {
  height: 61px;
}

.top-search-bar-div .select2-selection--single .select2-selection__rendered {
  height: 100%;
  display: flex !important;
  align-items: center;
}

.top-search-bar-div .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 10px;
}

.select2-results__option--selectable {
  font-size: 14px;
}

@media screen and (min-width: 992px) {

  span.select2-container--default {
    width: 25% !important;
  }
}

.serch-result-container-div {
  display: flex;
}

@media screen and (max-width: 960px) {
  .serch-result-container-div {
    flex-direction: column;
  }
}

#map {
  /*width: 58%;*/
  /*max-width: 25vw;*/
  width: 100%;
  min-height: -webkit-fill-available;
  position: absolute !important;
}

#map1 {
  /*width: 87%;*/
  width: 100vw;
  min-height: -webkit-fill-available;
  position: absolute !important;
  z-index: 2;
}

.results_top_search_container {
  margin: 20px 100px;
}

@media screen and (min-width: 1026px) {
  .doctors_search_result {
    /*max-width: 1020px;*/
    max-width: 956px;
    width: 100%;
    margin: 0;
  }

  div.search-result-map {
    max-width: calc(100% - 956px);
    width: 100%;
    margin: 0;
  }

  div#map>div:first-of-type {
    max-width: calc(100% - 956px);
  }

  .Map_section {
    display: none;
  }
}

@media screen and (max-width: 1025px) {
  .doctors_search_result {
    /*max-width: 1020px;*/
    width: 100%;
    margin: 0;
  }

  .appts_section_container {
    justify-content: end;
  }
}

@media screen and (max-width: 1025px) {

  .search-result-map {
    display: none;
  }

  a#show-map {
    margin-bottom: 16px !important;
  }
}

@media screen and (width: 1026px) {

  .search-result-map {
    display: block;
  }
}

@media screen and (min-width: 1025px) {

  .doctors_search_result {
    /*width: 100%;*/
  }

  #show-map {
    display: none;
  }

  div#map>div:first-of-type {
    max-width: calc(100% - 956px);
  }

  div.search-result-map {
    max-width: calc(100% - 956px);
    width: 100%;
    margin: 0;
  }

  .doctors_search_result {
    max-width: 956px;
    width: 100%;
    margin: 0;
  }
}

@media screen and (max-width: 1024px) {
  .doctorDataCard {
    /*flex-direction: column;*/
    /*align-items: start;*/
    /*flex-wrap: wrap;*/
  }

  .results_top_search_container {
    margin: 20px 20px;
  }

  .doctors_search_result .doctorDetailsContainerDiv {
    flex-wrap: wrap;
    margin: 0 0 0 16px;
    width: calc(100% - 136px);
  }

  .appoinment_details {
    width: 100%;
  }

  .appoinment_details {
    display: flex;
    overflow-y: hidden;
    overflow-x: auto;
    width: calc(100% + 112px);
    margin-left: -112px;
  }

  .appts_section_details.row,
  .appts_section_details.row2 {
    margin: 0 !important;
  }

  .doctorDetailsDiv {
    width: 100%;
    margin-bottom: 16px;
  }
}


/* search result page style END */

.insurnace_details_item_title {
  text-align: left;
  padding: 0 10px 10px 0;
  /*border-bottom: 1px solid #DDD;*/
  display: flex;
  justify-content: space-between;
}

#myInput {
  font-family: sharp-sans-semibold, fallback-font, Arial, sans-serif;
  font-size: 17px;
}

.appts_section_container {
  display: flex;
  width: 100%;
}

@media screen and (min-width: 1024px) {

  .appts_section:nth-child(-n+7) {
    display: block;
  }
}

.appts_section {
  min-width: 65px;
  /*display: none;*/
  margin: 3px;

}

.appts_section_details {
  justify-content: left;
  padding: 4px 8px;
  -webkit-box-align: center;
  align-items: center;
  box-sizing: border-box;
  height: 100px;
  -webkit-box-pack: center;
  justify-content: center;
  padding: 0px;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0em;
  text-transform: none;
  /*animation: 0.1s ease-out 0s 1 normal forwards running ehLtDs;*/
  /*cursor: pointer;*/
  border-radius: 4px;
  margin-top: 5px;
}

.iEgLeT {

  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0em;
  text-transform: none;
}

.ddPnjz {

  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0em;
  text-transform: none;
  /*margin-top: 5px;*/
}

.bSGdIJ {

  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0em;
  text-transform: none;
  /*margin-top: 5px;*/
}

.ilHQbN {

  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0em;
  text-transform: none;
}

.appts_section_value {
  background-color: #00d4b1;
  border: 1px solid #00d4b1;
  color: rgb(51, 51, 51);
  text-align: center;
  padding-top: 5px;
  padding-bottom: 5px;
  color: #fff;
}

.appts_section_value:hover {
  background-color: #064acb;
  color: #fff;
}

.appts_section_no_value {
  background: rgb(236, 236, 236);
  color: rgb(148, 148, 148);
  border: rgb(236, 236, 236);
  text-align: center;
  padding-top: 5px;
  padding-bottom: 7px;
}


div.row2 {
  margin-top: -2px;
}

@media screen and (max-width: 540px) {
  .appoinment_details {
    /*width: 350px;*/
    overflow-x: auto;
  }

  .top-search-bar-div {
    display: inline;
    height: auto !important;
  }

  .elementor-widget-wrap.elementor-element-populated section.elementor-section.elementor-inner-section.elementor-section-boxed.elementor-section-height-default {
    /*margin: -140px 0 0 !important;*/
    margin: 0 !important;
    display: none;
  }

  .top-search-bar-div .select2-container {
    margin: 5px 5px;
    width: 100% !important;
  }

  .top-search-button {
    width: 50%;
  }

  .top-search-button {
    width: 100% !important;
    margin-left: 5px;
  }

  .top-search-bar-container form {
    width: 100%;
    /*margin-left: -5px;*/
  }

  .serch-result-container {
    margin: 0;
  }

  .appts_section {
    min-width: 65px;
  }

  div.woocommerce-MyAccount-content {
    max-width: 92%;
  }

  nav.woocommerce-MyAccount-navigation {
    margin-bottom: 20px !important;
  }

  .serch-result-container .top-search-bar-container,
  .serch-result-container div[style="display:flex;"] {
    margin: 16px;
  }

  .serch-result-container-div .doctorDataCard {
    padding: 16px 0px 16px 16px;
  }

  .doctors_search_result .doctorDetailsContainerDiv {
    width: calc(100% - 128px);
  }

  .appoinment_details {
    width: calc(100% + 112px);
  }

}

@media screen and (min-width: 768px) {
  .appts_section {
    min-width: 90px;
  }

  .top-search-button {
    width: 44% !important;
  }

  #show-map {
    margin: 30px 0px 0px auto !important;
  }

  div.woocommerce-MyAccount-content {
    max-width: 65%;
  }

}

@media screen and (min-width: 550px) {
  .appoinment_details {
    /*margin-top: 10px;*/
  }

  .doctorDataCard {
    /*flex-direction: column;*/
    /*align-items: start;*/
    /*gap: 1.5rem;*/
  }

}

@media screen and (max-width: 550px) {
  .appts_section_container {
    width: auto !important;
  }
}

.top-search-button {
  width: 50%;
}


@media screen and (max-width: 840px) {
  .search-result-map {
    display: none;
  }
}


@media screen and (min-width: 820px) {
  .top-search-bar-div .select2-container {
    width: 100% !important;
  }

  .top-search-button {
    width: 41%;
  }

  .top-search-button button {
    padding: 15px 30px;
  }

  .appts_section {
    min-width: 95px;
  }

  #show-map {
    margin: 30px 0px 0px auto !important;
  }

  div.woocommerce-MyAccount-content {
    max-width: 66%;
  }

}

@media screen and (min-width: 1024px) {
  .appts_section {
    min-width: 68px;
  }

  .top-search-bar-div .select2-container {
    width: 42% !important;
  }


  div.woocommerce-MyAccount-content {
    max-width: 68%;
  }
}

@media screen and (min-width: 1350px) {
  div.woocommerce-MyAccount-content {
    max-width: 71%;
  }

  .calender_month_filter_label {

    margin-right: 10px;
  }

  table.calendar {
    width: 99%;
  }
}

#show-map {
  margin: 30px 0px 0px auto;
  color: #064acb;
  text-decoration: underline;
}

div.gm-style-iw-chr {
  margin: -10px;
}

.gm-style-iw .gm-style-iw-d div .doctorDataCard {
  margin: 0px 0px;
  padding: 5px 5px;
}

button.gm-ui-hover-effect {
  margin: 10px !important;
}

form#loginform input[type='text'],
form#loginform input[type='password'],
form#loginform input[type='email'],
form#loginform input[type='tel'] {
  border: 0.1rem solid #0000000f;
  box-shadow: 0 3px 2px rgb(0 0 0 / 10%);
}

form.mpa-patient-edit-form input[type='text'],
form.mpa-patient-edit-form input[type='email'] {
  width: 60%;
  border: 0.1rem solid #0000000f;
  box-shadow: 0 3px 2px rgb(0 0 0 / 10%);
}

form.mpa-patient-edit-form input[type='tel'] {
  width: calc(100% + 0px);
  border: 0.1rem solid #0000000f;
  box-shadow: 0 3px 2px rgb(0 0 0 / 10%);
}

.mpa-account-login-form {
  min-width: 400px;
}

#loginform .wc-block-components-notice-banner {
  font-size: 14px;
  margin: 20px 0;
  padding: 8px !important;
}

nav.woocommerce-MyAccount-navigation {
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 20px;
  box-shadow: rgb(0 0 0 / 35%) 0px 5px 15px !important;
  padding: 0px 20px;
  height: 50%;
}

div.woocommerce-MyAccount-content {
  margin-top: 20px;
  box-shadow: rgb(0 0 0 / 35%) 9px 5px 15px 0px !important;
  padding: 16px !important;
  /*padding-top: 15px;*/
  margin: 20px 20px 0px 20px;
}

.appointment-details-modal-body .booking-reservations .reservations .reservation {
  /*border-bottom: 1px solid #dee2e6;*/
}

.specialities-gallery img {
  width: 70% !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--appointment_calender a::before {
  content: '\e815';
}

.appointment_calender_heading {
  font-size: 22px;
  text-align: center;
  font-weight: 400 !important;
  margin-top: 0;
}

.mpa-calender-container {
  width: 100%;
  overflow-x: auto;
}

.mpa-slot-calender-container {
  width: 100%;
  overflow-x: auto;
}

.calendar {
  width: max-content;
  border-collapse: collapse;
}

.calendar th {
  padding: 20px;
  text-align: center;
  border: 1px solid #ccc;
  font-size: 16px;
}

.calendar td {
  padding: 30px 17px 20px 17px;
  border: 1px solid #e1e1e1;
  /* width: 149px; */
  width: 100%;
  max-width: 14.28%;
  min-width: 14.28%;
}

td p.day-notation {
  margin-top: -32px;
  /*position: absolute;*/
  font-size: 14px;
}

.calender-date-heading {
  text-align: center;
}

.calender_doctor_filter {
  width: auto;
  margin-bottom: 15px;
  font-size: 13px;
  font-weight: 600;
  border-color: #00000069;
  margin-right: 5px;
}

.calender_doctor_filter:focus,
.calender_doctor_filter:active {
  border-color: #00000069;
}


.slot_calender_doctor_filter {
  width: auto;
  margin-bottom: 15px;
  font-size: 13px;
  font-weight: 600;
  border-color: #00000069;
  margin-right: 5px;
}

.slot_calender_doctor_filter:focus,
.slot_calender_doctor_filter:active {
  border-color: #00000069;
}

.calender_month_filter {
  width: auto;
  margin-bottom: 15px;
  font-size: 13px;
  font-weight: 600;
  border-color: #00000069;
  margin-right: 5px;
}

.calender_month_filter:focus,
.calender_month_filter:active {
  border-color: #00000069;
}

.slot_calender_month_filter {
  width: auto;
  margin-bottom: 15px;
  font-size: 13px;
  font-weight: 600;
  border-color: #00000069;
  margin-right: 5px;
}

.slot_calender_month_filter:focus,
.slot_calender_month_filter:active {
  border-color: #00000069;
}

.calender_year_filter {
  width: auto;
  margin-bottom: 15px;
  font-size: 13px;
  font-weight: 600;
  border-color: #00000069;
}

.slot_calender_year_filter {
  width: auto;
  margin-bottom: 15px;
  font-size: 13px;
  font-weight: 600;
  border-color: #00000069;
}

.calender_month_filter_label {
  display: flex;
  justify-content: end;
  background-color: #e9e9e9;
}

/* Styles for the loader */
.loader {
  border: 4px solid #f3f3f3;
  /* Light grey */
  border-top: 4px solid #3498db;
  /* Blue */
  border-radius: 50%;
  width: 30px;
  height: 30px;
  animation: spin 1s linear infinite;
  margin: auto;
  display: none;
  /* Initially hidden */
  position: fixed;
  top: 0;
    left: 0;
    bottom: 0;
    right: 0;
  /* transform: translate(-50%, -50%); */
  z-index: 9999;
  /* Ensure the loader is above other elements */
}

/* Loader animation */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.mpa-appointment-event {
  display: block;
  /*width:90px;*/
  text-overflow: ellipsis;
  cursor: pointer;
  overflow: hidden;
  white-space: nowrap;
}

.mpa-appointment-event:hover,
.mpa-appointment-event:active {
  overflow: hidden;
  white-space: normal;
  height: auto;
}

/* CSS for the hover state on mobile */
@media (hover: none) {
  .mpa-appointment-event:active {
    overflow: hidden;
    white-space: normal;
    height: auto;
  }
}

.woocommerce-form-login__submit {
  padding: 1.5rem 5.3rem !important;
  font-size: 1.3rem !important;
  max-width: 90% !important;
}

@media screen and (min-width: 412px) {

  form input[type='text'],
  form input[type='password'] {
    max-width: 100% !important;
  }

  .woocommerce-form-login__submit {
    max-width: 100% !important;
  }

}

@media screen and (max-width: 395px) {

  form input[type="submit"] {
    max-width: 90% !important;
  }

}

/*pmpro checkout page design*/

.pmpro_table thead tr th {
  text-align: left;
}

#pmpro_account {
  /*margin-left: 35px;*/
}

#pmpro_form {
  margin: 20px;
}

form.pmpro_form>div {
  margin: 30px 10px;
}

#pmpro_form .pmpro_checkout h3 {
  display: block;
  font-size: 1.5rem;
  color: #000;
  /*background: rgba(26, 131, 190, 0.7);*/
  padding: 0px;
  line-height: 1;
}

.pmpro_checkout h3 span {
  color: #000;
  margin: 0px !important;
}

hr {
  display: none;
}

.pmpro_checkout-fields {
  margin: 20px 10px;
}

form.pmpro_form .pmpro_checkout-field {
  width: 45%;
  margin-left: 1%;
  display: inline-block;
  /*height: 35px;*/
}

.pmpro_checkout .pmpro_checkout-fields .pmpro_checkout-field label {
  text-align: left;
  /*margin-top: 15px;*/
  font-weight: 500 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px;
  line-height: 1;
  color: #212529;
  font-weight: 400 !important;
}

.pmpro_checkout_gateway-braintree .pmpro_checkout .pmpro_checkout-field label span {
  color: red;
  margin-left: 1px;
}

form.pmpro_form .input {
  font-size: 16px;
  border-radius: 2px;
  /*border:none;
    border-bottom: 1px solid #1a83be;*/
  border: 1px solid #1a83be;
}

form.pmpro_form .input:focus,
form.pmpro_form select {
  outline: none;
}

form.pmpro_form .pmpro_submit {
  text-align: right;
  margin-bottom: 0 !Important;
}



.pmpro_btn.pmpro_btn-submit-checkout,
form.pmpro_form .pmpro_btn-cancel,
a.pmpro_btn.pmpro_btn-submit.pmpro_yeslink.yeslink,
a.pmpro_btn.pmpro_btn-cancel.pmpro_nolink.nolink,
.pmpro_btn-submit,
.pmpro_btn-cancel,
#other_discount_code_button,
#discount_code_button {
  /*font-family: 'Roboto' !important;*/
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 13px 29px !important;
  line-height: 17px !important;
  text-transform: uppercase !important;
  background: rgb(0 212 177) !important;
  box-shadow: 0 3px 0 0 rgba(23, 115, 166, 0.7) !important;
  border-radius: 2px !important;
  border: none !important;
  color: #fff !important;
  cursor: pointer !important;
  /*display: block;*/
  outline: none !important;
}

#other_discount_code_button,
#discount_code_button {
  background-color: cadetblue !important;
}

a.pmpro_btn.pmpro_btn-cancel.pmpro_nolink.nolink {
  background-color: forestgreen !important;
}

.pmpro_btn.pmpro_btn-submit-checkout:hover {
  background: rgb(26, 131, 190);
  box-shadow: 0 3px 0 0 rgb(23, 115, 166);
}

form.pmpro_form select {
  width: 50%;
  display: inline-block;
  /*border: none;
    border-bottom: 1px solid #1a83be;*/
  border: 1px solid #1a83be;
  box-shadow: none;
}

.seller-items .filter_item.mpStyle.placeholder_area {
  padding: 0;
}

.pmpro_checkout-field.pmpro_checkout-field-username {
  display: block !important;
}

.pmpro_checkout-field.pmpro_payment-cvv {
  clear: right;
}

#pmpro_form .pmpro_checkout h3 {
  /*font-size: 20px !important;*/
  font-size: 1.75rem !important;
  padding: 0px !important;
  line-height: 1;
}

.pmpro_checkout-fields {
  background: white;
  padding: 1.5rem;
  border: 1px solid #e9dede;
  margin: 1rem 0 0;
  box-shadow: rgba(55, 73, 87, 0.1) 0px 1px 2px, rgba(55, 73, 87, 0.15) 0px 2px 5px;
}

.pmpro_checkout-fields p {
  font-size: 1.5rem;
  margin-bottom: 0 !important;
}

div#pmpro_level_cost,
.pmpro_level_description_text,
.pmpro_level_cost_text {
  margin: 0 !important;
}

.pmpro_level_description_text {
  font-size: 1.5rem;
}

/*New Changes for Height Width Padding and Allocation*/
div#pmpro_user_fields .pmpro_checkout-fields,
div#pmpro_billing_address_fields .pmpro_checkout-fields,
div#pmpro_payment_information_fields .pmpro_checkout-fields {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.pmpro_checkout-fields input,
.pmpro_checkout-fields select,
div#pmpro_payment_information_fields .pmpro_checkout-fields input {
  border: 1px solid #d0d0d0 !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  min-height: 38px !important;
  height: 38px !important;
  box-shadow: unset !important;
  margin-top: .25rem !important;
}

div#pmpro_user_fields .pmpro_checkout-field,
div#pmpro_billing_address_fields .pmpro_checkout-field,
div#pmpro_payment_information_fields .pmpro_checkout-field,
div#pmpro_payment_information_fields .pmpro_checkout-field {
  max-width: 25%;
  padding-right: 1rem;
}

div#pmpro_user_fields .pmpro_checkout-field input,
div#pmpro_billing_address_fields .pmpro_checkout-field input,
div#pmpro_billing_address_fields .pmpro_checkout-field select,
div#pmpro_payment_information_fields .pmpro_checkout-field input,
div#pmpro_payment_information_fields .pmpro_checkout-field select {
  max-width: 100% !important;
  width: 100%;
}

div#pmpro_payment_information_fields .pmpro_checkout-field.pmpro_payment-expiration {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

div#pmpro_payment_information_fields .pmpro_checkout-field.pmpro_payment-expiration label {
  width: 100% !important;
}

div#pmpro_payment_information_fields .pmpro_checkout-field.pmpro_payment-expiration select {
  max-width: calc(50% - 5px) !important;
  width: 100%;
}

.pmpro_checkout-field.pmpro_payment-cvv small {
  position: absolute;
  display: block;
  top: 16px;
  right: 1rem;
  font-size: 1.15rem;
  line-height: 1;
}

div#pmpro_billing_address_fields .pmpro_checkout-field.pmpro_checkout-field-bzipcode.hide_state {
  padding-right: 1rem !important;
}

div#pmpro_billing_address_fields .pmpro_checkout-field.pmpro_checkout-field-bcountry.hide_state {
  margin-bottom: 0;
}

@media screen and (min-width:769px) {

  div#pmpro_user_fields .pmpro_checkout-field:nth-child(4n),
  div#pmpro_billing_address_fields .pmpro_checkout-field:nth-child(4n),
  div#pmpro_payment_information_fields .pmpro_checkout-field:nth-child(4n) {
    padding-right: 0;
  }

  div#pmpro_user_fields .pmpro_checkout-field:nth-last-child(-n+4),
  div#pmpro_billing_address_fields .pmpro_checkout-field:nth-last-child(-n+4),
  div#pmpro_payment_information_fields .pmpro_checkout-field:nth-last-child(-n+4) {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width:768px) and (min-width:501px) {

  div#pmpro_user_fields .pmpro_checkout-field,
  div#pmpro_payment_information_fields .pmpro_checkout-field,
  div#pmpro_billing_address_fields .pmpro_checkout-field {
    max-width: 50%;
    width: 100%;
  }

  .pmpro_checkout h3 span.pmpro_checkout-h3-name {
    display: block !important;
    margin-bottom: 1rem !important;
  }

  div#pmpro_user_fields .pmpro_checkout-field:nth-child(2n),
  div#pmpro_payment_information_fields .pmpro_checkout-field:nth-child(2n),
  div#pmpro_billing_address_fields .pmpro_checkout-field:nth-child(2n) {
    padding-right: 0 !important;
  }

  div#pmpro_user_fields .pmpro_checkout-field:nth-last-child(-n+2),
  div#pmpro_payment_information_fields .pmpro_checkout-field:nth-last-child(-n+2),
  div#pmpro_billing_address_fields .pmpro_checkout-field:nth-last-child(-n+2) {
    margin-bottom: 0 !important;
  }

  span#pmpro_submit_span a {
    width: 100%;
  }
}

@media screen and (max-width:500px) {

  div#pmpro_user_fields .pmpro_checkout-field,
  div#pmpro_payment_information_fields .pmpro_checkout-field,
  div#pmpro_billing_address_fields .pmpro_checkout-fields {
    padding-right: 0;
  }

  .pmpro_checkout h3 span.pmpro_checkout-h3-name {
    display: block !important;
    margin-bottom: 1rem !important;
  }

  div#pmpro_user_fields .pmpro_checkout-field:last-child,
  div#pmpro_payment_information_fields .pmpro_checkout-field:last-child,
  div#pmpro_billing_address_fields .pmpro_checkout-field:last-child {
    margin-bottom: 0 !important;
  }

  div#pmpro_user_fields .pmpro_checkout-field,
  div#pmpro_payment_information_fields .pmpro_checkout-field,
  div#pmpro_billing_address_fields .pmpro_checkout-field {
    max-width: 100%;
    width: 100%;
  }

  span#pmpro_submit_span a {
    width: 100%;
  }
}

.pmpro_checkout-field.pmpro_captcha {
  /*display: none !important;*/
}

span#pmpro_submit_span a {
  padding: 8px 16px;
  background-color: transparent;
  border: 1px solid #00d4b1;
  border-radius: 6px;
  margin-right: 16px;
  line-height: 1;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

span#pmpro_submit_span a:hover {
  background-color: #00d4b1 !important;
  color: #fff !important;
}

span#pmpro_submit_span input#pmpro_btn-submit {
  padding: 8px 16px !important;
  background-color: #00d4b1 !important;
  border: 1px solid #00d4b1 !important;
  border-radius: 6px !important;
  height: 40px;
  box-shadow: unset !important;
}

#pmpro_form span#pmpro_submit_span input#pmpro_btn-submit:hover {
  background-color: #099f87 !important;
  border-color: #099f87 !important;
}

span#pmpro_submit_span {
  display: flex;
  align-items: center;
  justify-content: end;
}

span#pmpro_processing_message {
  display: none !important;
}

/*end*/


/* Tour PRice Plans*/
.pricing-item {
  /*background: #fafafa none repeat scroll 0 0;*/
  /* background-image: linear-gradient(135deg, rgb(255 254 216) 11.2%, rgb(176 234 255) 91.1%); */
  background: linear-gradient(135deg, #4ecdc4 0%, #2bccb2 50%, #26a69a 100%);
  -moz-box-shadow: 0 0 10px #cccccc;
  -webkit-box-shadow: 0 0 10px #cccccc;
  -o-box-shadow: 0 0 10px #cccccc;
  box-shadow: 0 0 10px #cccccc;
  margin-bottom: 30px;
  position: relative;
  /*z-index: 9;*/
  text-align: center;
  border-radius: 16px;
}

.pricing-item ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pricing-item li {
  font-family: 'Poppins', sans-serif !important;
  line-height: 50px;
  margin: 0 20px;
  text-transform: capitalize;
  font-size: 16px;
  color: #fff;
}

.pricing-item li.pricing-header {
  /*border-bottom: 1px solid #e5e5e5;*/
  margin-bottom: 20px !important;
  padding: 40px 20px 24px !important;
  border-radius: 10px 10px 0 0;
}

.pricing-item li.pricing-header h4 {
  font-weight: 500;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
  font-size: 25px;
  line-height: 14px;
  font-family: 'Poppins', sans-serif !important;
}

.pricing-item li.pricing-header h5 {
  color: #fff;
  font-size: 60px;
  font-weight: 700;
  letter-spacing: -1px;
  line-height: 1;
  margin-bottom: 0;
  margin-top: 15px;
  font-family: 'Poppins', sans-serif !important;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.pricing-item .footer {
  padding: 25px 20px;
  background: transparent;
  text-align: center;
}

.pricing-item .footer a.btn {
  padding: 8px 15px;
  border: 2px solid #00d4b1;
  color: #ffffff;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 500;
  background: #00d4b1;
  width: 64%;
  display: inline-flex;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 40px;
}

.pricing-item .footer a.btn:hover {
  color: #fff !important;
  background: transparent;
  border-color: #fff;

}

.pricing-item li.pricing-header h5 span.pricing-period {
  margin-top: 10px;
  font-weight: 300;
  font-size: 18px;
}

.pricing-item.active li.pricing-header {
  /*background: #196485;*/
  /*border-color: transparent;*/
  /*margin: 0;*/
}

.pricing-item.active li.pricing-header h4 {
  /*color: #fff;*/
}

.pricing-item.active li.pricing-header h5 {
  /*color: #fff;*/
}

.pricing-item.active li.footer a.btn {
  border: 1px solid #00d4b1;
  /*background: #fff;*/
  color: #fff;
}

.pricing-item.active li.footer a.btn:hover {
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
}

.pricing-item.level_bronze li.pricing-header {
  /*background: #00d4b1;*/
  /*margin: 0;*/
}

.pricing-item.level_bronze {
  /* background-image: linear-gradient(160deg, #0093E9 0%, #80D0C7 100%); */
  /* background: linear-gradient(135deg, #0aba9e 0%, #139b83 50%, #114a3f 100%); */
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 50%, #15803d 100%);
}

.pricing-item.level_bronze li.pricing-header h4,
.pricing-item.level_bronze li.pricing-header h5,
.pricing-item.level_bronze li {
  color: #fff !important;
}

.pricing-item.level_silver li.pricing-header {
  background: #dc3233d0;
  margin: 0;
}

.pricing-item.level_gold li.pricing-header {
  background: #dc3233e0;
  margin: 0;
}

.pricing-item.level_bronze li.pricing-header h4,
.pricing-item.level_silver li.pricing-header h4,
.pricing-item.level_gold li.pricing-header h4,
.pricing-item.level_bronze li.pricing-header h5,
.pricing-item.level_silver li.pricing-header h5,
.pricing-item.level_gold li.pricing-header h5 {
  /*color: #fff;*/
}

.pricing-item.level_platinum.active {
  /* background-image: linear-gradient(360deg, #78cfc5 0%, #5ca1c8 37%, #1d5b95 74%, #032240 100%); */
  /* background: linear-gradient(135deg, #06937e 0%, #0b6e5f 50%, #0e4f44 100%); */
  background: linear-gradient(135deg, #10b981 0%, #059669 50%, #047857 100%);
}

.pricing-item.level_bronze li.footer a {
  border: 1px solid #00d4b1;
  color: #fff;
  background: #00d4b1;
}

.pricing-item.level_platinum li.footer a {
  border: 1px solid #032240 !important;
  color: #fff;
  background: #032240 !important;
}

.pricing-item.level_platinum h4,
.pricing-item.level_platinum h5,
.pricing-item.level_platinum li {
  color: #fff !important;
}

.pricing-item.level_bronze li.footer a:hover {
  color: #fff !important;
  background: transparent !important;
}

.pricing-item.level_platinum li.footer a:hover {
  color: #032240 !important;
  background: transparent !important;
}

.pricing-item.level_silver li.footer a {
  border: 1px solid #dc3233d0;
  color: #e77b7a;
}

.pricing-item.level_silver li.footer a:hover {
  color: #fff;
  background: #dc3233d0;
}

.pricing-item.level_gold li.footer a {
  border: 1px solid #dc3233e0;
  color: #e77b7a;
}

.pricing-item.level_gold li.footer a:hover {
  color: #fff;
  background: #dc3233e0;
}

div#generic_price_table .row {
  justify-content: flex-start;
}

h2.text-center.partner_heading {
  margin-top: 3%;
  margin-bottom: 3%;
  text-align: center;
}

#generic_price_table {
  margin: 0 !important;
  font-family: 'Poppins', sans-serif !important;
}

@media screen and (min-width:769px) and (max-width:1200px) {

  .select2-container--open span.select2-dropdown.select2-dropdown--below {
    /*width: min-content !important;*/
  }

  #generic_price_table .col-md-3.layout {
    width: 33%;
    max-width: 33% !important;
    flex-basis: 33%;
  }
}

@media (min-width: 820px) and (max-width: 991px) {

  .container #generic_price_table .col-md-3 {
    float: left;
    width: 50%;
    max-width: 50% !important;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
  }
}

@media screen and (min-width:550px) and (max-width:820px) {

  #generic_price_table .col-md-3.layout {
    width: 50%;
    max-width: 50% !important;
    flex-basis: 50%;
    margin: 0px 5px;
  }
}

.col-md-3 {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  display: grid;
}

.container_row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  justify-content: space-evenly;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

@media (min-width: 768px) {

  .col-md-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
}

@media (max-width: 768px) {

  .col-md-3 {
    padding-right: 0px;
    padding-left: 0px;
  }
}

#membership_content {
  padding: 0px 70px;
}

.trial_notice {
  /*color: #000;*/
  /*background: hsl(206deg 100% 73.3% / 82%);*/
  font-weight: 500;
}

.tab {
  overflow: hidden;
  text-align: center;
}

#membership_content .tab {
  display: flex;
  align-items: center;
  justify-content: center;
}

.plans_tab {
  width: fit-content;
  background-color: #e0e0e0;
  border-radius: 48px;
  overflow: hidden;
  padding: 4px;
}

@media (max-width: 500px) {
  .plans_tab {
    border-radius: 24px;
    display: flex;
  }

  .plans_tab button.tablinks {
    font-weight: 600;
    padding: 8px 24px;
  }

  .plans_tab button.tablinks.active {
    background-color: #099f87 !important;
    color: #ffffff !important;
    font-weight: 600;
  }

  main#membership_content {
    padding: 0px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  div#generic_price_table .container_row {
    margin: 0 !important;
  }

  main#membership_content .plans_tab button {
    width: 100%;
  }
}

main#membership_content .wc-block-components-notice-banner.is-info {
  background-color: #C8E6C9;
  border-color: #A5D6A7;
  color: #1B5E20;
}

.plans_tab button.tablinks {
  background: transparent !important;
  border-radius: 48px !important;
}

.plans_tab button.tablinks:hover {
  color: #032240 !important;
}

.plans_tab button.tablinks.active {
  background-color: #099f87 !important;
  color: #ffffff !important;
  font-weight: 600;
}

.tab button {
  background-color: #f3f3f3;
  color: #000000;
  /*margin-bottom: 7px;*/
}

.tab button:hover {
  background-color: #099f87;
}

.tab button.active {
  background-color: #00d4b1;
  color: #fff;
}

.tabcontent {
  display: none;
  margin-top: 15px;
}

/* Pricing End*/


/*Checkout Confirmation*/
.pmpro_confirmation_wrap {
  font-size: 1.5rem;
  font-weight: 400 !important;
}

.pmpro_confirmation_wrap p {
  margin: 0 0 4px 0;
  line-height: 1.5 !important;
  font-size: 1.5rem;
  font-weight: 400 !important;
}

.pmpro_confirmation_wrap p:first-child {
  text-align: center;
  font-weight: 700 !important;
  font-size: 2rem;
}

.pmpro_confirmation_wrap .row {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3rem !important;
}

.pmpro_confirmation_wrap .row .col-md-4 {
  max-width: 33.33%;
  width: 100%;
  border-right: 1px solid #cccccc;
  padding: 1rem;
}

.pmpro_confirmation_wrap .row .col-md-4:first-child {
  border-left: 1px solid #cccccc;
}

.pmpro_confirmation_wrap .row .col-12 {
  max-width: 50%;
  width: 100%;
  margin-top: 3rem;
}

.order-confirmation-card p {
  text-align: center !important;
  padding: 0;
  font-size: 1.45rem !important;
}

p.order-confirm-summary-title {
  color: #686868;
  font-size: 1.45rem !important;
  text-align: left !important;
}


/*Order Confirmation*/
p.order-confirm-title,
p.order-confirm-summary-title {
  font-weight: 600 !important;
  font-size: 14px;
  color: #686868;
}

@media screen and (max-width: 660px) {

  .pmpro_confirmation_wrap .row .col-md-4,
  .pmpro_confirmation_wrap .row .col-12 {
    max-width: 100%;
    width: 100%;
    border: 0 !important;
    padding: 1rem 0;
  }

  .order-confirmation-card p {
    text-align: left !important;
  }

  p.print-invoice a.pmpro_a-print {
    display: inline-block;
    margin: 0 !important;
    float: unset !important;
  }

  p.pmpro_actions_nav {
    margin-top: 1rem !important;
  }

  .order-confirm-card tr {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
  }

  .order-confirm-card tr td:first-child {
    color: #686868;
    font-weight: 600;
  }

  .pmpro_confirmation_wrap {
    margin: 16px !important;
  }

  .order-confirm-card tr td:last-child {
    font-weight: 300;
  }
}

.order-confirmation-card.pmpro_invoice_details p {
  text-align: left !important;
}

p.order-confirm-info {
  font-size: 13px;
  color: #000;
  font-weight: 400 !important;
}

.order-confirm-card table {
  /*background: #cccccc59;*/
  border: 0;
}

.pmpro_confirmation_wrap .order-confirm-card table td {
  border: 0 !important;
  padding: 0 !important;
}

td.order-table-total span {
  border-top: none;
}

.order-confirm-card table td {
  padding: 10px !important;
  font-size: 16px !important;
  color: #000;
  border-bottom: 1px solid #d4d4d4;
  font-family: 'Poppins', sans-serif !important;
}

p.print-invoice {
  color: #292727;
}

.order-confirmation-card.pmpro_invoice_details {
  display: block;
}

.pmpro_confirmation_wrap {
  margin: 30px 30px;
}

.pmpro_confirmation_wrap p {
  padding-bottom: 4px;
}

.pmpro_actions_nav {
  margin-top: 30px !important;
}

.pmpro_a-print {
  margin-right: 50px;
}

p.mpa-customer-name-wrapper label {
  margin-right: 10px;
  font-size: 15px;
}

p.mpa-customer-name-wrapper input {
  margin-left: 5px;
}

p.mpa-customer-email-wrapper label {
  margin-right: 10px;
  font-size: 15px;
}

p.mpa-customer-email-wrapper input {
  margin-left: 10px;
}

p.mpa-customer-phone-wrapper label {
  margin-right: 10px;
  font-size: 15px;
}

.pmpro_message {
  max-width: 55%;
  margin-top: 20px;
  margin-left: 20px;
  padding-left: 10px;
}

.pmpro_login_wrap {
  margin-left: 20px;
}

.pmpro_actions_nav {
  text-align: left;
}

.pmpro_checkout h3 span.pmpro_checkout-h3-name {
  display: inline-block;
  margin: 7px 10px;
}


/*Membership Page*/
#pmpro_account .pmpro_box {
  margin-bottom: 3rem;
  background: white;
  padding: 1.5rem !important;
  border: 1px solid #e9dede !important;
  box-shadow: rgba(55, 73, 87, 0.1) 0px 1px 2px, rgba(55, 73, 87, 0.15) 0px 2px 5px;
}

#pmpro_account {
  margin: 0 32px;
}

#pmpro_account .pmpro_box h3 {
  margin-bottom: 1.5rem;
  font-size: 2rem;
}

.pmpro_table thead tr th {
  background-color: #d5f0e5;
  padding: 1.25rem !important;
  line-height: 1;
  font-size: 1.65rem;
  color: #000000;
}

.pmpro_table tbody tr td {
  padding: 1.5rem 1.25rem !important;
  line-height: 1;
  font-size: 1.5rem;
}

.pmpro_actionlinks {
  margin-top: .75rem;
}

.pmpro_actionlinks a {
  margin-right: .5rem;
  margin-left: .5rem;
  font-size: 1.5rem;
  line-height: 1.5;
}

.pmpro_actionlinks a:first-child {
  margin-left: 0;
}

#pmpro_account .pmpro_box p {
  font-size: 1.5rem;
  line-height: 1.5;
}

div#pmpro_account-profile p {
  margin: 0 !important;
  line-height: 1;
}

#pmpro_account .pmpro_box ul li::marker {
  content: unset;
}

#pmpro_account .pmpro_box table.pmpro_table {
  margin-bottom: 0 !important;
}

#pmpro_account .pmpro_box ul {
  list-style: none;
  padding: 0;
}

@media screen and (max-width: 560px) {

  .pmpro_table th,
  .pmpro_table td {
    text-wrap: nowrap;
    white-space: nowrap;
  }

  #pmpro_account {
    margin: 0 12px;
  }

  #pmpro_account .pmpro_box {
    padding: 1rem !important;
  }

  .pmpro_account-membership-table,
  .pmpro_account-invoices_table {
    overflow: auto;
  }

  form.mpa-patient-edit-form input[type='tel'] {
    /*width: calc(100% + -20px);*/
  }
}

/*Cancel Subscription*/
div#pmpro_cancel {
  min-height: calc(100vh - 430px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 16px;
}

div#pmpro_cancel p {
  font-size: 2.25rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  text-align: center;
}

div#pmpro_cancel a.pmpro_btn {
  box-shadow: unset !important;
  text-decoration: unset;
}

div#pmpro_cancel a.pmpro_btn.pmpro_btn-cancel {
  background-color: #00d4b1 !important;
}

div#pmpro_cancel a.pmpro_btn.pmpro_btn-cancel:hover {
  background-color: #0e81b5 !important;
}

div#pmpro_cancel a.pmpro_btn.pmpro_btn-submit {
  background-color: transparent !important;
  color: #00d4b1 !important;
  border: 1px solid #00d4b1 !important;
}

div#pmpro_cancel a.pmpro_btn.pmpro_btn-submit:hover {
  background-color: transparent !important;
  color: #0e81b5 !important;
  border: 1px solid #0e81b5 !important;
}

@media screen and (max-width: 560px) {
  .pmpro_actionlinks {
    text-align: left;
  }

  div#pmpro_cancel a.pmpro_btn {
    box-shadow: unset !important;
    text-decoration: unset;
    width: 100%;
    margin-bottom: 1rem;
  }
}

/*Invoice Wrap*/
.pmpro_invoice_wrap {
  margin: 0 32px;
}

.pmpro_invoice_wrap a.pmpro_a-print {
  margin-top: -32px;
}

.pmpro_invoice_details .pmpro_invoice-billing-address,
.pmpro_invoice_details .pmpro_invoice-payment-method,
.pmpro_invoice_details .pmpro_invoice-total {
  background: white;
  padding: 1.5rem !important;
  border: 1px solid #e9dede !important;
  box-shadow: rgba(55, 73, 87, 0.1) 0px 1px 2px, rgba(55, 73, 87, 0.15) 0px 2px 5px;
  margin-right: 2rem;
  max-width: calc(33.33% - 1rem);
  width: 100%;
}

.pmpro_invoice-total {
  margin-right: 0 !important;
}

@media screen and (max-width: 768px) {

  .pmpro_invoice_details .pmpro_invoice-billing-address,
  .pmpro_invoice_details .pmpro_invoice-payment-method,
  .pmpro_invoice_details .pmpro_invoice-total {
    width: 100% !important;
    max-width: unset !important;
    margin: 0 0 2rem !important;
  }

  .pmpro_invoice_wrap a.pmpro_a-print {
    margin-top: 0;
    float: unset;
  }
}


/*Membership Billing Update*/
.pmpro_billing_wrap {
  margin: 32px 24px;
}

.booking-add-details {
  background-color: #fff !important;
  border: 1px solid #00d4b1;
  margin: 5px 10px 5px 0;
  padding: 5px;
  font-weight: 500 !important;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
}

.booking-add-details i {
  margin: 0 !important;
}

.booking-add-details:hover {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.booking-add-details:focus {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.booking-edit-details {
  background-color: #fff !important;
  border: 1px solid #00d4b1;
  margin: 5px 10px 5px 0;
  padding: 5px;
  font-weight: 500 !important;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
}

.booking-edit-details i {
  margin: 0 !important;
}

.booking-edit-details:hover {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.booking-edit-details:focus {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.booking-start-meeting {
  color: #fff !important;
  background-color: #00d4b1 !important;
  border: 1px solid #00d4b1;
  margin: 0px 10px 10px 0;
  padding: 0px 10px !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  height: 27px;
}

.booking-start-meeting i {
  margin: 0 !important;
}

.booking-start-meeting:hover {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.booking-start-meeting:focus {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.booking-complete-link {
  background-color: #00d4b1 !important;
  border: 1px solid #00d4b1;
  margin: 2px 10px 10px 0;
  padding: 1px 10px 0px 10px !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  height: 27px;
}

.booking-complete-link i {
  margin: 0 !important;
}

.booking-complete-link:hover {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.booking-complete-link:focus {
  color: #fff !important;
  background-color: #00d4b1 !important;

}


.dr-booking-cancel-link {
  background-color: #fff !important;
  border: 1px solid #00d4b1;
  margin: 2px 10px 10px 0;
  padding: 1px 10px 0px 10px !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  height: 27px;
}

.dr-booking-cancel-link i {
  margin: 0 !important;
}

.dr-booking-cancel-link:hover {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.dr-booking-cancel-link:focus {
  color: #fff !important;
  background-color: #00d4b1 !important;

}


/*Search Box Redesign*/
.elementor-widget-wrap.elementor-element-populated section.elementor-section.elementor-inner-section.elementor-section-boxed.elementor-section-height-default {
  margin: 56px 0 0;
}

.top-search-button {
  width: fit-content !important;
}

.elementor-widget-wrap.elementor-element-populated .elementor-column.elementor-col-50.elementor-inner-column.elementor-element .elementor-widget-wrap.elementor-element-populated {
  padding-left: 0 !important;
}

.top-search-bar-div {
  background-color: #fff;
  border: 2px solid #099f87;
  border-radius: 5px;
  /*max-width: 50vw;*/
  max-width: 100%;
  height: 64px;
}

.top-search-bar-div span,
.top-search-bar-div select {
  border: 0 !important;
}

.top-search-bar-div .select2-container {
  width: 30% !important;
  padding-left: 32px;
  margin: 0 !important;
  position: relative;
}

.top-search-bar-div .select2-container:nth-child(2)::after {
  content: '\f0f0';
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #099f87;
}

.autocomplete-input-span::after {
  content: '\f3c5';
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  position: relative;
  top: -40px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  width: 32px;
  display: flex;

  justify-content: center;
  color: #099f87;
}

#autocomplete-input {
  margin-top: 5px;
  border: 1px solid #fff;
  margin-left: 34px;
}

.top-search-bar-div .select2-container:nth-child(6)::after,
.top-search-bar-div .select2-container:nth-child(8)::after {
  content: '\f3ed';
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #099f87;
}

.top-search-button {
  width: 8% !important;
}

.top-search-button button {
  width: 100%;
  padding: 0;
  height: 100%;
  font-size: 2rem;
  border-radius: 0 3px 3px 0;
  justify-content: center;
  align-items: center;
  display: flex;
  background-color: #099f87;
}

.top-search-bar-div .select2-container span.select2-selection__arrow {
  display: none;
}

span.select2-dropdown.select2-dropdown--below {
  /*width: calc(46% - 56px) !important;*/
  /*width:100% !important;*/
  /*left: 32px !important;*/
  /*margin-top: -12px;*/
}

span.select2-dropdown.select2-dropdown--above {
  margin-top: 30px;
}

@media screen and (max-width: 782px) {
  span.select2-dropdown.select2-dropdown--above {
    margin-top: 44px;
  }
}

.top-search-bar-div .select2-container span.select2-selection {
  padding-left: 0;
}

span.select2-dropdown input.select2-search__field {
  height: 40px;
  border-radius: 4px;
  border-color: #ccc !important;
}

span.select2-dropdown input.select2-search__field:focus,
span.select2-dropdown input.select2-search__field:focus-visible {
  outline: 0 !important;
}

@media screen and (max-width: 1024px) {
  .top-search-bar-div {
    max-width: 100%;
  }
}

@media screen and (max-width: 600px) {
  .top-search-bar-div {
    max-width: 100vw;
  }
}

@media screen and (max-width: 540px) {
  .top-search-bar-div {
    display: flex;
    flex-direction: column;
    /*border: 0;*/
    padding: 6px;
  }

  .top-search-bar-div .select2-container,
  .top-search-button {
    width: 100% !important;
  }

  .top-search-button {
    margin: 0;
    border-radius: 5px !important;
    height: 40px;
  }

  .top-search-button button {
    border-radius: 5px !important;
  }

  span.select2-dropdown {
    /*width: calc(100vw - 52px) !important;*/
    /*left: 32px !important;*/
    margin-top: 0;
  }

  body.home span.select2-dropdown {
    /*width: calc(100vw - 61px) !important;*/
  }

  body.search-page-container span.select2-dropdown {
    /*width: calc(100vw - 73px) !important;*/
  }

  #show-map {
    margin-top: 0;
  }
}

.doctors_search_result .top-search-bar-div {
  max-width: 100% !important;
}

span.select2-container.select2-container--default.select2-container--open[style*="position: absolute"] {
  max-width: calc(46% - 124px) !important;
  width: 100% !important;
}

.elementor-section.elementor-section-boxed>.elementor-container {
  align-items: unset !important;
}


p.mpa-booking-container-heading {
  /*margin-bottom: -25px;*/
  /*margin-top: 15px;*/
  /*font-weight: 600;*/
  margin-bottom: -25px;
  margin-top: 15px;
  font-weight: 500;
  font-size: 24px;
}

p.mpa-account-container-heading {
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 22px;
}

.account-page-class {
  position: absolute;
  width: 100%;
  bottom: 0px;
}

.mpa-expired-class {
  cursor: not-allowed;
  opacity: .5;
}

.mpa-expired-class:hover {
  background-color: #00d4b1 !important;
}

div.appt-details-confirmed {
  border-color: rgb(240, 240, 241);
  background-color: #3174ad;
  color: #fff;
  font-size: 11px;
  padding: 0px 10px;
}

div.appt-details-cancelled {
  border-color: #D32F2F !important;
  background-color: #D32F2F !important;
  color: #fff;
  font-size: 11px;
  padding: 0px 10px;
}

div.appt-details-completed {
  border-color: #2a952a !important;
  background-color: #2a952a !important;
  color: #fff;
  font-size: 11px;
  padding: 0px 10px;
}

div.appt-details-pending {
  border-color: #f3a815;
  background-color: #f3a815 !important;
  color: #fff;
  font-size: 11px;
  padding: 0px 10px;
}

div.past-appt-details {
  background-color: #aaa;
}

#pmpro_btn-submit:disabled {
  cursor: not-allowed !important;
  pointer-events: fill;
}


.mpa-booking-edit-heading {
  margin-top: 15px;
  font-weight: 600;
  text-align: center;
}

.patient-edit-booking {
  margin: 0px 20px;
}

td.column-actions .mpa-button-edit {
  padding: 10px;
  width: 100px;
}

.mpa-edit-submit {
  float: right;
}


.patient-edit-booking table.mpa-table-centered tr td {
  border-bottom: 1px solid #dee2e6;
  padding-top: 4px;
  padding-bottom: 4px;
}

table.mpa-table-centered tbody td {
  font-size: 14px;
  color: #707070;
  padding: 12px 10px;
}

table.mpa-table-centered tbody td {
  font-size: 14px;
  color: #707070;
  text-wrap: nowrap;
  white-space: nowrap;
}

.patient-edit-booking {
  overflow: auto;
}

.mpa-edit-reservations-ctrl .mpa-booking-step-period .flatpickr-calendar {

  padding-right: 10px;
}

.pagination .page-numbers {
  font-size: 14px;
}

div.calendar-color-code {
  display: none;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}

div.calendar-color-code p {
  color: #fff;
  padding: 3px 10px;
  font-size: 13px;
}

@media screen and (max-width: 420px) {
  div.calendar-color-code p {
    font-size: 8px;
  }
}


.ui-dialog-buttonset {
  width: 100%;
  float: unset !important;
  justify-content: space-between !important;
  display: flex;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content .ui-dialog-buttonpane .ui-dialog-buttonset button:first-child {
  background: #00d4b1;
  color: #fff;
  border: 1px solid #00d4b1;
  font-size: 12px;
  margin-top: 5px !important;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content .ui-dialog-buttonpane .ui-dialog-buttonset button:last-child {
  border: 1px solid #00d4b1 !important;
  color: #00d4b1;
  font-size: 12px;
  margin-top: 5px !important;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content {
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
  background: #fff;
  font-size: 16px;
}

.ui-dialog-buttonset button {
  font-weight: 400 !important;
  margin: 0 !important;
  padding: 10px !important;
  width: fit-content !important;
  height: fit-content !important;
  line-height: 1 !important;
  border-width: 0 !important;
}

.ui-dialog .ui-dialog-content {
  font-size: 8px;
}

/*Latest Style Changes*/
div#insuranceViewAllModal input#myInput {
  width: 100%;
  padding: .375rem .75rem;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  border: 1px solid #ccc !important;
  border-radius: .5rem;
  height: 38px;
  color: #575757;
}

.insuranceContentLogoTitle {
  font-weight: 600;
}

.insuranceContentLogosItem .insuranceContentLogo {
  background-position: center;
}

.mpa-account-login-form {
  display: flex;
  justify-content: center;
}

@media screen and (max-width:1024px) {

  .elementor-745 .elementor-element.elementor-element-c201680>.elementor-element-populated,
  .elementor-745 .elementor-element.elementor-element-55ffc60>.elementor-element-populated {
    border-radius: 0 !important;
  }
}

@media screen and (min-width: 480px) and (max-width: 767px) {
  .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item {
    max-width: 33.3333333333% !important;
    width: 100%;
  }

  .elementor-page div#gallery-1 {
    display: flex;
    flex-wrap: wrap;
  }

  .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item .gallery-icon.portrait {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media screen and (max-width: 480px) {
  .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item {
    max-width: 50% !important;
    width: 100%;
  }

  .mpa-account-login-form {
    min-width: 80vw !important;
    max-width: 80vw !important;
  }
}

@media screen and (max-width: 300px) {
  .elementor-image-gallery .gallery.gallery-columns-6 .gallery-item {
    max-width: 100% !important;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .mpa-account-bookings tr td.booking-actions {
    border-bottom: 0 !important;
  }

  .mpa-booking-container table.mpa-account-bookings {
    border: 0 !important;
  }

  .mpa-account-bookings tr {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  }

  .mpa-account-bookings tr td:nth-child(5):before {
    content: unset !important;
  }

  /*.mpa-account-past-bookings tr td:nth-child(6):before{*/
  /*    content:unset !important;*/
  /*}*/
  .mpa-account-past-bookings tr td.booking-actions {
    border-bottom: 0 !important;
  }

  .mpa-booking-container table.mpa-account-past-bookings {
    border: 0 !important;
  }

  .mpa-account-past-bookings tr {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  }

  .mpa-booking-container table.mpa-account-bookings tr td {
    position: relative;
  }

  .mpa-account-bookings td:before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 10px;
    height: fit-content;
    font-weight: 400 !important;
  }

  .mpa-account-bookings td.no_items_td {
    text-align: center;
  }

  .mpa-account-bookings td.no_items_td:before {
    content: '' !important;
    float: none !important;
  }

  .mpa-booking-container table.mpa-account-past-bookings tr td {
    position: relative;
    font-weight: 500;
    color: #000;
  }

  div#upcoming_section table.mpa-account-bookings tr td {
    position: relative;
    font-weight: 500;
    color: #000;
  }

  .mpa-account-past-bookings td:before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 10px;
    height: fit-content;
  }

  .mpa-account-past-bookings td.no_items_td {
    text-align: center;
  }

  .mpa-account-past-bookings td.no_items_td:before {
    content: '' !important;
    float: none !important;
  }

  .mpa-booking-container table.mpa-account-bookings tr td:nth-child(5):not(:has(a, div, p)) {
    display: none;
  }

  /*.mpa-booking-container table.mpa-account-past-bookings tr td:nth-child(6):not(:has(a, div, p)) {*/
  /*    display: none;*/
  /*}*/

  table#pmpro_invoices_table tr td:nth-child(4):not(:has(a, div, p)) {
    display: none;
  }

  table#pmpro_invoices_table tr td {
    position: relative;
  }

  table#pmpro_invoices_table {
    border: 0 !important;
  }

  table#pmpro_invoices_table tr {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  }

  table#pmpro_invoices_table tr td:nth-child(4):before {
    content: unset !important;
  }

  table#pmpro_invoices_table tr td {
    position: relative;
  }

  table#pmpro_invoices_table td:before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 10px;
    height: fit-content;
  }

  table#pmpro_invoices_table td {
    display: block;
    text-align: right;
  }

  table#pmpro_invoices_table thead {
    display: none;
  }

  table#pmpro_invoices_table tr {
    display: block;
    margin-bottom: 1em;
  }

  table#pmpro_invoices_table tr:last-child {
    margin-bottom: 0;
  }

  table#pmpro_invoices_table td:before {
    content: attr(data-title) ": ";
    float: left;
    font-weight: 700;
  }

  table#pmpro_invoices_table tr:last-child td {
    border-bottom: 0.1rem solid #e2e4e8;
  }
}

.mpa-account-details.container {
  width: fit-content;
}

.mpa-patient-details {
  display: flex;
  justify-content: center;
}

/*form#mpa-patient-edit-form {*/
/*    width: 100%;*/
/*}*/
/*form#mpa-patient-edit-form .iti--separate-dial-code input#mpa-edit-customer-phone {*/
/*    width: 100% !important;*/
/*}*/
form#mpa-patient-edit-form .iti--separate-dial-code .iti__selected-flag {
  font-size: 16px;
}

form.mpa-patient-edit-form input[type='text'],
form.mpa-patient-edit-form input[type='email'] {
  width: 100% !important;
}

.mpa-patient-details p.mpa-input-wrapper {
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
}

.mpa-patient-details p.mpa-input-wrapper label {
  color: #5a5a5a;
  font-size: 16px !important;
}

.mpa-patient-details p.mpa-input-wrapper input {
  margin-left: 0 !important;
  box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
}

.mpa-patient-details p:last-child {
  text-align: center;
  margin-top: 16px;
}

.mpa-patient-details form#mpa-patient-edit-form p:first-child {
  font-weight: 600;
  text-align: center;
  font-size: 20px;
}

.mpa-patient-details p.mpa-input-wrapper label {
  text-align: left !important;
  font-weight: 400 !important;
}

.mpa-account-login-form .u-column1.col-1 {
  width: 100%;
}

#loginform input,
#loginform button {
  max-width: unset !important;
}

@media screen and (max-width: 1060px) {
  ul.iti__country-list {
    padding: 0;
    font-size: 14px;
  }
}

.elementor-container.elementor-column-gap-default .elementor-column {
  order: unset !important;
}

@media screen and (max-width: 1025px) {
  .serch-result-container {
    margin-top: 0 !important;
  }

  .serch-result-container a#show-map {
    margin-top: 8px !important;
  }
}

@media screen and (max-width: 540px) {
  .serch-result-container div[style="display:flex;"] {
    margin: 0 16px;
  }

  a#show-map {
    margin-bottom: 0px !important;
  }

  .account-page-class {
    position: unset !important;
  }

  nav.woocommerce-MyAccount-navigation,
  div.woocommerce-MyAccount-content {
    margin-left: 16px !important;
    margin-right: 16px !important;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px !important;
    border-radius: 8px;
  }
}

/*Membership Account Profile*/
.pmpro_member_profile_edit_wrap {
  max-width: 400px;
  margin: auto;
}

.pmpro_member_profile_edit_wrap input {
  border: 0.1rem solid #0000000f !important;
  box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px !important;
  width: 100% !important;
}

.pmpro_member_profile_edit_wrap label {
  color: #666 !important;
  font-weight: 500 !important;
  font-size: 16px;
}

.pmpro_member_profile_edit_wrap .pmpro_submit {
  display: flex;
  margin: 0 !important;
  justify-content: space-between;
}

form.pmpro_form .pmpro_submit input.pmpro_btn {
  margin: 0 !important;
  box-shadow: unset !important;
  max-width: calc(50% - 8px);
  justify-content: space-between;
}

form.pmpro_form .pmpro_submit input.pmpro_btn-submit {
  margin-right: 5px !important;
}

.pmpro_member_profile_edit_wrap .pmpro_checkout_box-user {
  margin-left: 0;
  margin-right: 0;
  margin-top: 64px;
}

@media screen and (max-width: 540px) {
  .pmpro_member_profile_edit_wrap form#member-profile-edit {
    width: 100% !important;
  }

  .pmpro_member_profile_edit_wrap {
    max-width: 90vw;
  }

  .pmpro_member_profile_edit_wrap input {
    max-width: 100% !important;
  }

  .pmpro_member_profile_edit_wrap .pmpro_submit {
    flex-direction: column;
  }

  form.pmpro_form .pmpro_submit input.pmpro_btn {
    max-width: 100% !important;
    /*margin-bottom: 16px !important;*/
  }
}

body.account-page-container footer.appointmentFooter.account-page-class {
  position: unset !important;
}

body.account-page-container div#content {
  /*min-height: calc(100vh - 380px);*/
}

html {
  max-height: 100vh;
}

.woocommerce-account .woocommerce-MyAccount-content {
  box-shadow: unset !important;
  border-radius: 8px;
}

nav.woocommerce-MyAccount-navigation {
  box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px !important;
  border-radius: 8px;
}

/*Calendar Style Fix*/
.mpa_calender_container_div {
  display: flex;
  flex-wrap: wrap;
  /*flex-direction: column;*/
  align-items: center;
}

.mpa_calender_container_div h3.appointment_calender_heading {
  order: 1;
  max-width: 50%;
  width: 100%;
  text-align: left;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.mpa_calender_container_div .calendar-color-code {
  order: 2 !important;
  max-width: 50%;
  width: 100%;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  justify-content: end;
  padding-right: 10px;
}

.mpa_calender_container_div label.calender_month_filter_label {
  order: 3;
  width: 100%;
  padding: 12px;
}

.mpa_calender_container_div .mpa-calender-container {
  order: 4;
  border: 1px solid #e1e1e1;
  border-radius: 8px;
}

.mpa_calender_container_div .mpa-calender-container {
  order: 4;
  border: 1px solid #e1e1e1;
  border-radius: 8px;
}

.mpa_calender_container_div .mpa-slot-calender-container {
  order: 4;
}


.mpa_calender_container_div .calendar-color-code p {
  margin-bottom: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  height: 30px;
  padding: 0 8px;
  border-radius: 6px;
  text-wrap: nowrap;
  white-space: nowrap;
}

.mpa_calender_container_div label.calender_month_filter_label select {
  margin-top: 0;
  margin-bottom: 0;
}

@media screen and (max-width: 1140px) {

  .mpa_calender_container_div h3.appointment_calender_heading,
  .mpa_calender_container_div .calendar-color-code {
    max-width: 100%;
    justify-content: center;
    text-align: center;
  }
}

@media screen and (max-width: 840px) {

  nav.woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    max-width: calc(100% - 32px) !important;
    width: 100% !important;
    margin: 16px !important;
    flex: unset !important;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px !important;
  }
}

.woocommerce:has(.mpa_calender_container_div) {
  padding: 16px !important;
}

@media screen and (max-width: 540px) {
  div.calendar-color-code p {
    font-size: 14px !important;
  }

  .calendar-color-code {
    flex-wrap: wrap !important;
    justify-content: start !important;
  }
}

#mpa_patient_email_error,
#mpa_patient_error,
#mpa-edit-customer-phone_error {
  margin-bottom: 0px;
  font-weight: 500;
  font-size: 18px;
  text-align: left;
  color: red;
}

#pass-strength-result {
  max-width: 9em;
}

form.woocommerce-ResetPassword button:disabled {
  cursor: not-allowed !important;
  pointer-events: fill;
}

.password-container {
  position: relative;
  width: 100%;
  max-width: 400px;
  margin-bottom: 20px;
  /* Space between password fields */
}

.password-field {
  width: 100%;
  padding-right: 40px;
  /* Space for the eye icon */
}

.eye-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #555;
  /* Adjust as needed */
}

form#pmpro_form .eye-icon {
  position: absolute;
  right: 20px;
  top: 35px;
  transform: translateY(-50%);
  cursor: pointer;
  color: #555;
}

.pmpro_change_password_wrap {
  max-width: 400px;
  margin: auto;
}

.pmpro_change_password_wrap .pmpro_submit {
  display: flex;
  margin: 0 !important;
  justify-content: space-between;
}

.pmpro_change_password_wrap .eye-icon {
  position: relative;
  transform: translateY(-50%);
  cursor: pointer;
  color: #555;
  margin-left: -23px;
}

@media screen and (max-width: 540px) {
  .pmpro_change_password_wrap .pmpro_submit {
    flex-direction: column;
  }
}

@media screen and (max-width: 540px) {
  .pmpro_change_password_wrap {
    max-width: 90vw;
  }
}

@media screen and (min-width: 412px) {

  .pmpro_change_password_wrap input[type='text'],
  .pmpro_change_password_wrap input[type='password'] {
    width: 90%;
  }
}

.pmpro_change_password_wrap h2 {
  font-size: 25px;
}

.pmpro_change_password_wrap label {
  color: #666 !important;
  font-weight: 500 !important;
  font-size: 16px;
}

.mpa-account-login-form .eye-icon,
.woocommerce-ResetPassword .eye-icon,
#loginform .eye-icon {
  display: none;
}

.pmpro_member_profile_edit_wrap .pmpro_message,
.pmpro_change_password_wrap .pmpro_message {
  max-width: 100%;
  margin-top: 20px;
  margin-left: 0px;
}

.woocommerce-form-register p label {
  font-size: 14px !important;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  color: #707070;
}

.woocommerce-form-register label {
  font-weight: 700;
  display: block;
  margin: 0;
  text-align: left;
}


.woocommerce-form-register input[type='text'],
.woocommerce-form-register input[type='password'],
.woocommerce-form-register input[type='email'] {
  display: inline-block;
  max-width: 90%;
  min-height: 1.5rem;
  border: 0.1rem solid #0000000f;
  box-shadow: 0 3px 2px rgb(0 0 0 / 10%);
}

.woocommerce-form-register input,
.woocommerce-form-register button {
  max-width: unset !important;
}

.woocommerce-form-register p {
  font-size: 14px !important;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  color: #707070;
}

.mpa-account-login-register-form {
  padding: 1rem;
  margin: 10px 40px;
}

.mpa-account-login-register-form .u-column1.col-1 {
  width: 100%;
}

.mpa-account-login-register-form form#loginform p {
  display: flex;
  flex-direction: column;
}

.mpa-account-login-register-form form#loginform p label {
  /*font-size: 14px !important;*/
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  color: #707070;
}

.mpa-account-login-register-form form#loginform p.login-remember label {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.mpa-account-login-register-form form#loginform p.login-submit {
  margin-bottom: 0;
}

.mpa-account-login-register-form a {
  font-size: 14px;
  line-height: 1;
}

.mpa-account-login-register-form form#loginform p.login-remember {
  margin-bottom: 8px;
}

.mpa-account-login-register-form form#loginform p.login-password {
  margin-bottom: 16px;
}

@media screen and (max-width: 480px) {
  .mpa-account-login-register-form {
    min-width: 80vw !important;
    max-width: 100vw !important;
  }

  .mpa-account-login-register-form {
    margin: 0px;
  }

  #loginform {
    /*border-bottom: 1px solid #cfc8d8;*/
  }

  .login-register-container .woocommerce-notices-wrapper {
    padding: 0px 40px !important;
  }
}

.mpa-account-login-register-form form {
  /*padding:10px 40px;*/
}

.mpa-account-login-register-form h2 {
  padding: 0px 40px;
}

.woocommerce-form-register button {
  max-width: fit-content !important;
  padding: 1.5rem 5.3rem !important;
  font-size: 1.3rem !important;
}

.woocommerce-form-register button:disabled {
  cursor: not-allowed !important;
  pointer-events: fill;
}

#loginform button {
  max-width: fit-content !important;
}

.mpa-account-login-register-form .wc-block-components-notice-banner,
.login-register-container .wc-block-components-notice-banner,
.membership-notices-wrapper .wc-block-components-notice-banner {
  font-size: 14px !important;
  font-family: sharp-sans-medium, fallback-font, Arial, sans-serif;
  padding: 10px !important;
}

.login-register-container .woocommerce-notices-wrapper {
  width: 100%;
  padding: 0px 80px;
}

div.login-register-container {
  width: 100%;
}

/* Make the form semi-opaque during loading */
.form-opaque {
  opacity: 0.5;
  /* Reduced opacity for visual effect */
  pointer-events: none;
  /* Disable form interactions */
  transition: opacity 0.3s ease;
  /* Smooth opacity transition */
}

/* Loader styling */
#loader {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  /* Ensure the loader is on top */
}

.spinner {
  border: 6px solid #f3f3f3;
  /* Light grey */
  border-top: 6px solid #3498db;
  /* Blue */
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.password-wrapper {
  position: relative;

}


.password-wrapper i {
  position: absolute;
  right: 10px;
  top: 70%;
  transform: translateY(-50%);
  /* Center the icon vertically */
  cursor: pointer;
  z-index: 10;
  /* Ensure it's above other elements */
  font-size: 14px;
  color: #000;
}

.password-wrapper i.fa-eye-slash {
  color: #555;
  /* Optional: change icon color when toggling */
}

#password-validation {
  list-style: none;
  padding: 0;
  color: #555;
}

#password-validation li {
  font-size: 12px;
}

#password-validation .valid {
  color: green;
}

#password-validation .invalid {
  color: red;
}

.pmpro_change_password-field-pass1 i {
  right: 48px;
  top: 22%;
}

.pmpro_change_password-field-pass2 i {
  right: 48px;
}

.mpa-booking-container .pagination {
  margin-top: 20px;
  text-align: center;
}

.mpa-booking-container .pagination a {
  padding: 5px 10px;
  margin: 0 5px;
  text-decoration: none;
  color: #0073aa;
}

.mpa-booking-container .pagination a:hover {
  background-color: #0073aa;
  color: white;
}

.mpa-booking-container .pagination .current {
  padding: 5px 10px;
  margin: 0 5px;
  background-color: #0073aa;
  color: white !important;
}

.doctors_search_result .doctorDataCard {
  display: none;
}

.doctors_search_result .doctorDataCard.show {
  display: flex;
}

#load-more {
  padding: 10px 20px;
  background-color: #099f87;
  color: #fff;
  border: none;
  cursor: pointer;
  margin-top: 20px;
}

.call-button {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #00d4b1;
  color: white;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  text-decoration: none;
  z-index: 1000;
  transition: background-color 0.3s;
}

.call-button:hover {
  background-color: #099f87;
  color: #fff;
}

@media screen and (max-width: 768.1px) {
  form.patient-edit-booking thead {
    display: none;
  }

  form.patient-edit-booking td {
    display: block;
    text-align: right;
    position: relative;
  }

  form.patient-edit-booking tr {
    border: 1px solid #d6d6d6;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    display: block;
  }

  .patient-edit-booking table.mpa-table-centered tr td::before {
    content: attr(data-title) ": ";
    float: left;
    font-weight: 700;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 10px;
    height: fit-content;
  }

  table.mpa-table-centered tbody td.column-actions {
    width: 100% !important;
  }

  form.patient-edit-booking {
    margin: 0;
  }

  p.mpa-booking-container-heading {
    margin-bottom: 8px !important;
  }

  .mpa-goback-button {
    margin: 0px 5px 20px 5px !important;
  }
}

@media screen and (max-width: 440.1px) {
  .patient-edit-booking table.mpa-table-centered tr td {
    display: flex;
    flex-direction: column;
    text-align: left;
  }

  .patient-edit-booking table.mpa-table-centered tr td::before {
    position: relative;
    margin: unset !important;
    left: 0;
  }

  table.mpa-table-centered tbody td.column-actions {
    flex-direction: row !important;
    justify-content: end;
  }

  table.mpa-table-centered tbody td.column-actions::before {
    position: absolute;
    margin: auto !important;
    left: 10px;
  }

  .patient-edit-booking {
    margin: 0px 8px;
  }
}

@media screen and (max-width: 510.1px) {
  div.patient-edit-booking {
    overflow: unset !important;
    max-width: calc(100vw - 16px);
    width: 100%;
    margin: auto !important;
  }

  form.patient-edit-booking {
    overflow: unset !important;
    margin: unset !important;
  }

  form.patient-edit-booking tr {
    max-width: calc(100vw - 16px);
    width: 100%;
  }

  .patient-edit-booking table.mpa-table-centered tr td {
    white-space: normal;
  }

  .patient-edit-booking .mpa-times-container {
    min-width: calc(100vw - 16px);
    max-width: calc(100vw - 16px);
    width: 100%;
  }

  body.patient-portal-active button.tablinks {
    max-width: calc(50% - 6px);
    height: 40px;
    padding: 0;
    width: 100%;
  }

  .patient-edit-booking .mpa-input-container {
    margin: 0 !important;
  }

  .patient-edit-booking .mpa-input-wrapper {
    padding: 0 !important;
    min-width: 100%;
  }

  .patient-edit-booking .mpa-input-wrapper .flatpickr-calendar {
    min-width: 100%;
    padding: 0 !important;
    margin: 0;
  }

  .patient-edit-booking .flatpickr-innerContainer {
    margin: 0 8px;
  }

  .patient-edit-booking .flatpickr-calendar::before,
  .patient-edit-booking .flatpickr-calendar::after {
    content: unset !important;
  }
}

.patient-edit-booking .mpa-times-container button {
  background-color: #ffff;
  border: 1px solid #099F87;
  color: #099F87;
}

.patient-edit-booking .mpa-times-container button.mpa-time-period-selected {
  background-color: #099f87;
}

form.patient-edit-booking button {
  background: #00d4b1;
}

form.patient-edit-booking button:hover {
  background: #099f87;
}

.booking-view-more:hover i,
.booking-edit-details:hover i {
  color: #fff !important;
}

.booking-view-more:hover,
.booking-edit-details:hover {
  background: #099f87 !important;
}

/*Login*/
div#customer_login {
  max-width: 330px !important;
  padding: 0 !important;
  margin: auto;
  width: 100%;
}

div#customer_login h2 {
  text-align: center;
}

.wide-container:has(.patient-login-register) div#content,
.wide-container:has(.doctor-login-register) div#content {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
}

body.pmpro-login  div#content {
    display: flex;
    align-items: center;
    justify-content: center;
}
body.pmpro-login.logged-in div#content {
    display: flex;
    align-items: unset;
    justify-content: unset;
}
body.pmpro-login div#primary {
    height: fit-content;
}
body.pmpro-login.logged-in div#primary {
    height: auto !important;
}
body.pmpro-login div#content .container {
    display: flex !important;
    height: fit-content;
}
body.pmpro-login.logged-in div#content .container{
    display: contents !important;
    height: auto !important;
}

.wide-container:has(.patient-login-register) div#primary,
.wide-container:has(.patient-login-register) article,
.wide-container:has(.doctor-login-register) div#primary,
.wide-container:has(.doctor-login-register) article {
  margin-bottom: 0;
}

.wide-container:has(.patient-login-register) footer.appointmentFooter,
.wide-container:has(.doctor-login-register) footer.appointmentFooter {
  margin-top: 0;
}

.wide-container:has(.doctor-login-register) div#customer_login {
  justify-content: center;
}

label.woocommerce-form-login__rememberme input {
  margin: 0;
  width: 16px !important;
  height: 16px !important;
}

label.woocommerce-form-login__rememberme {
  display: flex !important;
  align-items: center;
  gap: 8px;
  font-weight: 400 !important;
  line-height: 1;
  margin-bottom: 1em !important;
}

.patient-login-register-container {
  /*min-height: 65vh;*/
  display: flex;
  align-items: center;
}

div#customer_login form#loginform,
.patient-login-register-container form.woocommerce-form-register {
  padding: 0;
}

.patient-login-register-container h2 {
  font-size: 24px;
}

div#customer_login form#loginform button.button.woocommerce-form-login__submit {
  max-width: unset !important;
  width: 100% !important;
  background-color: #00d4b1;
}

p.woocommerce-sign_up.sign_up {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

.patient-login-register-container button.woocommerce-form-register__submit {
  max-width: unset !important;
  width: 100% !important;
}

.wide-container:has(.lost_reset_password) article {
  margin: 0;
}

.wide-container:has(.lost_reset_password) div#primary {
  margin: 0;
}

.wide-container:has(.lost_reset_password) footer.appointmentFooter {
  margin-top: 0;
}

form.woocommerce-ResetPassword.lost_reset_password h2 {
  text-align: center;
}

.wide-container:has(.lost_reset_password) {
  display: flex;
  flex-direction: column;
}

.wide-container:has(.lost_reset_password) div#content {
  flex: 1;
  justify-content: center;
  align-items: center;
  display: flex;
  margin: 0;
}

.mpa-account-login-register-form form#loginform input,
.patient-login-register-container input {
  box-shadow: unset !important;
  border: 1px solid #d1d1d1 !important;
}

.patient-portal-active.patient-account-page .wide-container {
  display: flex;
  flex-direction: column;
}

.patient-portal-active.patient-account-page .site-content {
  display: flex;
  flex: 1;
}

.patient-portal-active .wide-container .content-area,
.patient-portal-active .wide-container .content-area article.page.entry {
  margin-bottom: 0;
}

body.patient-portal-active .mpa-customer-account-shortcode .mpa-account-details.container {
  max-width: fit-content;
  padding: 16px !important;
  border: 1px solid #ccc;
  min-height: fit-content;
  border-radius: 8px;
}

body.patient-portal-active .mpa-account-details.container br {
  display: none;
}

.doctor-login-register {
  /*min-height: 65vh;*/
  display: flex;
  align-items: center;
  max-width: 330px !important;
}

.doctor-login-register .u-column1.col-1,
.doctor-login-register .u-column2.col-2 {
  min-width: 100%;
}

.doctor-login-register input {
  box-shadow: unset !important;
  border: 1px solid #d1d1d1 !important;
}

.doctor-login-register button.woocommerce-Button {
  max-width: unset !important;
  width: 100% !important;
  background: #00d4b1;
}

@media screen and (max-width: 510px) {
  .flatpickr-calendar .flatpickr-day {
    max-width: 14.2857143% !important;
    height: 70px !important;
    line-height: 70px !important;
  }
}

@media screen and (max-width: 425.1px) {
  .flatpickr-calendar .flatpickr-day {
    max-width: 14.2857142857% !important;
    height: 55px !important;
    line-height: 55px !important;
  }
}

@media screen and (max-width: 375.1px) {
  .flatpickr-calendar .flatpickr-day {
    max-width: 14.2857142857% !important;
    height: 48px !important;
    line-height: 48px !important;
  }
}

@media screen and (max-width: 330.1px) {
  .flatpickr-calendar .flatpickr-day {
    max-width: 14.2857142857% !important;
    height: 40px !important;
    line-height: 40px !important;
  }

  div#customer_login {
    max-width: 90vw !important;
  }
}

.wide-container:has(.patient-login-register),
.wide-container:has(.doctor-login-register) {
  display: flex;
  flex-direction: column;
}

/* Apply blur and disable interactions */
.blur-background *:not(.ui-dialog):not(.ui-dialog *) {
  filter: blur(5px);
  pointer-events: none;
  /* Disable user interactions */
  user-select: none;
  /* Prevent text selection */
}

/* Ensure dialog box is not blurred */
.ui-dialog {
  filter: none !important;
  pointer-events: auto;
}

body:has(.patient-login-register) .bottomheaderright a:first-child,
body:has(.doctor-login-register) .bottomheaderright a:last-child,
body:has(.otp-form-wrapper) .bottomheaderright a:last-child {
  background-color: transparent;
  padding: 8px 12px;
  line-height: 1;
  border-radius: 6px;
  border: 1px solid #00d4b1 !important;
}

/*body:has(.doctor-login-register) .bottomheaderright a:last-child {*/
/*    background-color: #01579B;*/
/*    padding: 8px 12px;*/
/*    line-height: 1;*/
/*    border-radius: 6px;*/
/*}*/





/*DropDown Admin Account*/
.admindashboarddropdown {
  position: relative;
  display: inline-block;
}

.admindashboarddropdown-button {
  color: #293241;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  padding: 0 !important;
  position: relative;
  padding-right: 24px !important;
  font-weight: 500;
  background: transparent;
}

.admindashboarddropdown-button:active,
.admindashboarddropdown-button:focus {
  background-color: unset !important;
  color: #293241;
}

.admindashboarddropdown-button:hover {
  background-color: unset !important;
  color: #293241;
}

.admindashboarddropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: max-content;
  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  z-index: 1;
  font-size: 14px;
  right: 0;
  top: 42px;
}

.admindashboarddropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  line-height: 1;
  font-size: 16px;
}

button.admindashboarddropdown-button::after {
  content: '\f107';
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  margin-left: 8px;
  font-size: 18px;
  height: 14px;
  line-height: 1;
}

span.dropDownUserProfile {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #099f87;
  border-radius: 50%;
  font-weight: 600;
  font-size: 18px;
  line-height: 1;
  border: 2px solid #fff;
  margin-right: 4px;
  color: #fff;
}

button[title="Refresh Calendar"] {
  background: #00d4b1 !important;
  text-transform: capitalize;
  font-weight: 400;
  font-size: 14px !important;
  padding: 6px 10px !important;
  margin-left: 8px !important;
  display: flex;
  align-items: center;
}

.admindashboarddropdown.show button.admindashboarddropdown-button::after {
  transform: rotate(180deg);
}

.admindashboarddropdown-content a:hover {
  background-color: #f1f1f1;
}

.admindashboarddropdown.show .admindashboarddropdown-content {
  display: block;
}


/*Doctor Module*/
body.not-home-page.account-page-container.mpa-manager-role:has(.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable) {
  overflow: hidden;
}

body.not-home-page.account-page-container.mpa-manager-role:has(.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable) .ui-widget-overlay.ui-front {
  background: #000000;
  backdrop-filter: blur(8px);
  opacity: .75;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable {
  padding: 0;
}

@media screen and (max-width: 767.9px) {
  div#pmpro_account-membership .pmpro_account-membership-table table.pmpro_table {
    display: block;
  }

  div#pmpro_account-membership .pmpro_account-membership-table table.pmpro_table tr {
    display: flex !important;
    flex-direction: column;
    border: 1px solid #ccc;
    border-radius: 8px;
  }

  div#pmpro_account-membership .pmpro_account-membership-table table.pmpro_table thead {
    display: none;
  }

  .pmpro_account-membership-table table.pmpro_table {
    border: 0;
  }

  div#pmpro_account-membership .pmpro_account-membership-table table.pmpro_table tbody {
    width: 100%;
    display: block;
  }

  div#pmpro_account-membership .pmpro_account-membership-table table.pmpro_table tr td {
    border-bottom: 1px solid #dee2e6;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    white-space: normal !important;
  }

  div#pmpro_account-membership .pmpro_account-membership-table table.pmpro_table tr td p {
    margin: 0;
  }

  div#pmpro_account-membership .pmpro_actionlinks a {
    font-size: 14px;
  }

  div#pmpro_account-membership .pmpro_actionlinks {
    text-align: left !important;
  }

  #pmpro_account .pmpro_box {
    padding: 0 0 24px 0 !important;
    border: 0 !important;
    box-shadow: unset !important;
    border-bottom: 1px solid #ccc !important;
  }
}


body.not-home-page.search-page-container .wide-container,
body.not-home-page.account-page-container .wide-container {
  display: flex;
  flex-direction: column;
}

body.not-home-page.search-page-container div#content,
body.not-home-page.account-page-container div#content {
  flex: 1;
  margin-bottom: 0;
}

body.patient-portal-active.not-home-page .wide-container,
body.pmpro-member-profile-edit.not-home-page.mpa-manager-role .wide-container,
body.not-home-page .wide-container {
  display: flex;
  flex-direction: column;
}

body.patient-portal-active.not-home-page div#content,
body.pmpro-member-profile-edit.not-home-page.mpa-manager-role div#content,
body.not-home-page .wide-container div#content {
  flex: 1;
}



/*Change Password*/
.wide-container:has(.pmpro_change_password_wrap) {
  display: flex;
  flex-direction: column;
}

.wide-container:has(.pmpro_change_password_wrap) div#content {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex: 1;
}

.pmpro_change_password_wrap h2 {
  text-align: center;
}

.pmpro_change_password_wrap input {
  width: 100% !important;
  max-width: unset !important;
  border-color: #bababa !important;
}

.pmpro_change_password_wrap span.pmpro_asterisk {
  /*position: absolute;*/
  /*top: 0;*/
  /*right: 0;*/
  color: red;
}

.pmpro_change_password_wrap i {
  height: 50px;
  top: 28px;
  transform: unset !important;
  display: flex;
  align-items: center;
  right: 16px;
}

.pmpro_change_password_wrap input:focus {
  border-color: #099f87 !important;
}

.wide-container:has(.pmpro_change_password_wrap) div#primary,
.wide-container:has(.pmpro_change_password_wrap) article {
  margin-bottom: 0 !important;
}

span.flatpickr-day.today.selected,
span.flatpickr-day.selected {
  background-color: #099f87 !important;
  border-color: #099f87 !important;
}

body.patient-portal-active.not-home-page .wide-container {
  display: flex;
  flex-direction: column;
}

.mpa-goback-button {
  margin: 10px 0px 10px 0px;
  text-transform: capitalize;
  padding: 10px 20px;
}

.mpa-button-edit {
  margin: 10px 0px 10px 0px;
  text-transform: capitalize;
  padding: 10px 20px;
  width: fit-content !important;
  background: #00d4b1 !important;
}

/*  chatbot styles start */


.suggestions-container {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  -webkit-box-pack: center;
  justify-content: start;
  width: 100%;
}

.suggestion-button {
  font-weight: 500;
  overflow: hidden;
  word-break: break-word;
  font-size: 12px;
  color: rgb(5 91 78);
  border: 1px solid #099f87 !important;
  background-color: rgb(255, 255, 255);
  box-shadow: rgba(1, 86, 249, 0.2) 0px 5px 12px -3px;
  transition: box-shadow 0.1s ease-in, transform 0.1s ease-in;
  margin: 0px 5px 10px;
  padding: 8px;
  border-radius: 6px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: all .3s;
  text-transform: capitalize;
}

.suggestion-button:hover,
.suggestion-button:focus {
  box-shadow: rgba(1, 86, 249, 0.1) 0px 5px 12px -3px;
  /*transform: scale(1.05);*/
  transition: all .3s;
  background-color: #eaf5f1;
  color: #055b4e;
}


#chatModal {
  position: fixed;
  width: 376px;
  height: 528px;
  background: rgb(255, 255, 255);
  border-radius: 6px;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 10px;
  bottom: 16px;
  right: 16px;
  z-index: 1002;
  overflow: hidden;
}

#chatContent {
  padding: 10px;
  overflow-y: auto;
  height: calc(528px - 120px);
  position: relative;
}

#chatInput {
  width: 100%;
  padding: 10px;
  border: 0;
  font-size: 16px;
  color: #33475b;
}

#chatInput:focus-visible {
  outline: unset !important;
  border: 0 !important;
}

#locationContainer {
  margin: 0px 10px 10px 10px;
}

span#chatModalClose {
  font-size: 22px;
  line-height: 1;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  cursor: pointer;
}

#sendButton {
  padding: 12px;
}

#chatModalbody {
  padding: 8px 16px;
  background: #099f87;
  color: #fff;
  display: flex;
  align-items: center;
  height: 60px;
  justify-content: space-between;
}

.ChatBtnDiv {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
}

#chatButton {
  background-color: #099f87;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  padding: 0;
  transition: .3s;
}

.ChatBtnMsg {
  background-color: #ffffff;
  border-radius: 8px;
  bottom: 0;
  height: 56px;
  line-height: 1.3;
  padding: 16px;
  position: absolute;
  color: #000;
  top: -80px;
  right: 0;
  box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
  font-weight: 600;
  display: flex;
  align-items: center;
  min-width: 280px;
  font-size: 16px;
  font-weight: 400;
}

.ChatBtnMsg::after {
  content: "";
  position: absolute;
  top: 100%;
  right: 30px;
  border-width: 7px;
  border-style: solid;
  border-color: #ffffff transparent transparent transparent;
}

@media (max-width: 320px) {
  .ChatBtnMsg {
    min-width: 85vw;
  }
}

#chatButton:hover {
  box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 6px, rgba(0, 0, 0, 0.2) 0px 4px 16px;
  transform: scale(1.1);
  transition: .3s;
}

#chatButton svg {
  width: 32px;
}

#chatButton svg path {
  fill: #fff;
}

#chatEnterButton {
  padding: 0;
  margin-left: 10px;
  background-color: transparent !important;
  color: #b6b6b6;
  font-size: 18px;
  min-width: 40px;
  min-height: 40px;
  max-width: 40px;
  max-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
  cursor: default;
}

#chatEnterButton.inputHasValue {
  color: #33475b;
  transition: 0.3s;
}

#chatEnterButton.inputHasValue {
  cursor: pointer;
}

.chatButtonDiv {
  display: flex;
  margin: 0;
  padding: 8px;
  border-top: 2px solid rgb(242, 245, 248);
  height: 60px;
  position: relative;
}

#loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none;
  z-index: 9999;
}

.spinner {
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-top: 4px solid #3498db;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
}

.youDivContent {
  display: flex;
  align-items: center;
  justify-content: end;
}

.youDivContent div {
  padding: 8px 16px;
  background-color: #055b4e;
  border-radius: 8px 0 8px 8px;
  color: #fff;
  text-align: left;
  font-weight: 400 !important;
  font-size: 14px;
  width: fit-content;
  max-width: calc(100% - 24px);
}

.botDivContent {
  display: flex;
  align-items: start;
  justify-content: start;
}

.botDivContent div {
  padding: 8px 16px;
  background-color: #dbf0e8;
  border-radius: 0 8px 8px 8px;
  color: #293241;
  text-align: left;
  font-weight: 400 !important;
  font-size: 14px;
  width: fit-content;
  max-width: calc(100% - 24px);
}

.ui-dialog .ui-dialog-titlebar.ui-widget-header {
  background-color: #fff;
  border: 0 !important;
  font-weight: 600;
  padding: 8px;
  line-height: 1.25;
  padding-bottom: 0;
}

.ui-dialog .ui-dialog-content h6 {
  line-height: 1;
  font-weight: 500 !important;
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  justify-content: end !important;
  gap: 16px;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content .ui-dialog-buttonpane .ui-dialog-buttonset button {
  padding: 8px 16px !important;
  margin-top: 0 !important;
}

.ui-dialog .ui-dialog-titlebar.ui-widget-header button.ui-dialog-titlebar-close {
  display: none;
}

body.not-home-page table thead th {
  font-weight: 400 !important;
  font-size: 16px;
}

div#Test_plan {
  min-width: 100%;
}

@media (max-width: 500px) {
  td.booking-actions a.woocommerce-button {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }

  .footerContainer {
    /*flex-wrap: wrap;*/
    /*flex-direction: unset !important;*/
    /*justify-content: space-between;*/
  }

  .footerLogo {
    display: none;
    max-height: 50px;
    flex-direction: unset !important;
    margin: 0 !important;
  }

  .footerContainer p.copyright {
    width: 100%;
    margin-top: 16px;
    font-size: 12px;
  }
}

body.patient-portal-active a.back-to-top.show {
  display: none !important;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.chatbot-enabled #chatModal {

  top: 130px;
  left: 220px;
  bottom: 0;
  right: 0 !important;

}

body:has(.showModal)::after {
  /*content: "";*/
  background: #00000070;
  width: 100vw;
  height: 500vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1001;
  backdrop-filter: blur(130px);
  -webkit-backdrop-filter: blur(2px);
}

html:has(.showModal) {
  overflow: hidden;
}


@media (max-width: 500px) {
  div#chatModal {
    top: 0;
    left: 0;
    bottom: unset;
    right: unset;
    width: 100vw;
    height: 100vh;
    border-radius: 0;
  }

  div#chatContent {
    height: calc(100dvh - 136px);
  }

  .chatButtonDiv {
    background-color: #ffffff;
    border-radius: 8px;
    margin-top: 8px;
    border: 1px solid #c2c2c2;
    margin-left: 8px;
    margin-right: 8px;
  }

  input#chatInput {
    background-color: #fff;
  }

  .ChatFltBtn {
    bottom: 76px;
    right: 12px !important;
  }
}

@media (min-width: 768px) {

  body.chatbot-enabled div#chatContent,
  body.chatbot-enabled .chatButtonDiv {
    max-width: 680px;
    margin: auto;
  }
}

@media (max-width: 767.8px) {

  body.chatbot-enabled div#chatContent,
  body.chatbot-enabled .chatButtonDiv {
    max-width: 95vw;
    margin: auto;
  }
}

body.chatbot-enabled div#chatModal {
  left: 0 !important;
  top: 0 !important;
  width: 100vw !important;
  height: 100dvh;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: unset !important;
  margin: 0;
}

body.chatbot-enabled div#chatContent {
  height: calc(100dvh - 136px);
}

body.chatbot-enabled .chatButtonDiv {
  background-color: #ffffff;
  border-radius: 8px;
  margin-top: 8px;
  border: 1px solid #c2c2c2;
}

body.chatbot-enabled input#chatInput {
  background-color: #fff;
}

.date_suggestions button.suggestion-button {
  text-transform: capitalize;
}

.botDivContent svg#Layer_1 {
  min-width: 28px;
  min-height: 28px;
  max-width: 28px;
  max-height: 28px;
  background-color: #055b4e;
  padding: 5px;
  border-radius: 50%;
  margin-right: 8px;
}

.botDivContent svg#Layer_1 path {
  /*fill: #fff;*/
}

button#show-more-btn,
button#show-other-btn {
  text-transform: capitalize;
  font-weight: 500;
  overflow: hidden;
  word-break: break-word;
  color: #ffffff !important;
  background-color: #055b4e !important;
  margin: 0px 5px 10px;
  padding: 8px !important;
  border-radius: 6px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: all .3s;
  font-size: 13px !important;
  border: 1px solid #055b4e !important;
  width: fit-content;
  margin-left: 0;
  font-weight: 400 !important;
}


.chatBotLogo {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.chatBotTitle {
  font-weight: 500;
  margin-left: 8px;
  font-size: 18px;
}

.chatBotLogo img {
  width: 100% !important;
}

.chatBotHeader {
  display: flex;
  align-items: center;
}



.Chatloading {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 8px 16px;
  background-color: #dbf0e8;
  border-radius: 0 8px 8px 8px;
  width: fit-content;
  max-width: calc(100% - 24px);
}

.Chatloading-dot {
  width: 6px;
  height: 6px;
  background-color: #055b4e;
  border-radius: 50%;
  animation: blink 1.4s infinite both;
}

.Chatloading-dot:nth-child(2) {
  animation-delay: 0.2s;
}

.Chatloading-dot:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes blink {

  0%,
  80%,
  100% {
    opacity: 0;
  }

  40% {
    opacity: 1;
  }
}

.loader-container-message {
  display: flex;
}

body.chatbot-enabled div#chatModalbody {
  justify-content: center;
}




.ChatFltBtn {
  position: fixed;
  z-index: 1000;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  text-decoration: none;
}

.ChatFltBtn ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  text-decoration: none;
  position: absolute;
  visibility: hidden;
  margin-bottom: 8px;

  display: flex;
  align-items: end;
  flex-direction: column;
}

.ChatFltBtn input {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0 !important;
  border-radius: 50%;
}

.ChatFltBtn input:hover {
  opacity: 0 !important;
}

.ChatFltBtn input:checked~ul {
  visibility: visible;
}

.ChatFltBtn input:checked~ul li {
  visibility: visible;
  opacity: 1;
}

.ChatFltBtn input:hover+a {
  color: #fff;
  background: #FF5722;
}

.ChatFltBtn a {
  width: 44px;
  height: 44px;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1;
  position: relative;
  z-index: 2;
  text-decoration: none;
  text-align: center;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  background: #FF5722;
  color: #ffffff;
  transition: background 0.5s;
  -o-transition: background 0.5s;
  -ms-transition: background 0.5s;
  -moz-transition: background 0.5s;
  -webkit-transition: background 0.5s;
  border-radius: 50%;
}

.ChatFltBtn a:hover {
  color: #fff !important;
}

.ChatFltBtn ul li {
  display: inline-block;
  margin: 7px;
  margin-right: 0 !important;
  margin-left: 0 !important;
  visibility: hidden;
  opacity: 0;
  transition: all 0.5s;
  -o-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -webkit-transition: all 0.5s;
}


.ChatFltBtn ul a {
  width: max-content;
  height: auto;
  line-height: 1;
  font-size: 14px;
  padding: 10px 16px;
  border-radius: 6px;
}

.ChatFltBtn {
  bottom: 76px;
  right: 26px;
  border-radius: 50%;
}

.ChatFltBtn .ChatFltBtn-first {
  right: 0;
  /*transform: translateX(50%);*/
  bottom: 100%;
}

.ChatFltBtn a i {
  font-size: 16px;
  color: #fff !important;
}

.ChatFltBtn a span {
  font-weight: 500;
  margin-top: 6px;
  color: #fff !important;
}

.ChatFltBtn a i.fa-solid.fa-xmark {
  display: none;
}

.ChatFltBtn input:checked~a i.fa-solid.fa-pencil {
  display: none;
}

.ChatFltBtn input:checked~a i.fa-solid.fa-xmark {
  display: block;
}



div#chatModal:has(.ChatFltBtn input:checked)::after {
  content: '';
  width: 100%;
  position: absolute;
  height: calc(100% - 60px);
  bottom: 0;
  left: 0;
  z-index: 0;
  background: #ffffff60;
  backdrop-filter: blur(8px);
}


.ChatFltBtn li.location a {
  background-color: #009688;
  color: #fff;
}

.ChatFltBtn li.date a {
  background-color: #4FC3F7;
  color: #fff;
}

.ChatFltBtn li.service a {
  background-color: #5C6BC0;
  color: #fff;
}

.ChatFltBtn li.name a {
  background-color: #cc62d6;
  color: #fff;
}

.ChatFltBtn li.email a {
  background-color: #F06292;
  color: #fff;
}

.ChatFltBtn li.slot a {
  background-color: #8BC34A;
  color: #fff;
}


.confirmation_div {
  max-width: 100% !important;
  padding: 0 !important;
}

.confirmation_buttons {
  display: flex;
  align-items: center;
  justify-content: start;
  padding: 0 !important;
  width: 100% !important;
  max-width: unset !important;
  flex-direction: row;
}

.confirmation_buttons button#cancel-detail {
  margin-right: 16px;
  /*background-color: #ffe0e0;*/
  /*border: 1px solid #ffe0e0 !important;*/
  /*color: #ad6c6c;*/
  background-color: #ffffff;
  border: 1px solid #E53935 !important;
  color: #E53935 !important;
}

.confirmation_buttons button#confirm-detail {
  /*background-color: #bed3f6 !important;*/
  /*color: #1c61b7 !important;*/
  background-color: #099f87 !important;
  color: #ffffff !important;
  border: 1px solid #099f87;
}

.confirmation_buttons button {
  padding: 10px 18px !important;
  font-weight: 600;
}

.confirmation_div ul {
  margin-top: 0;
}

.calendar_links {
  padding: 0 !important;
  display: flex;
  align-items: center;
  /* flex-wrap: wrap; */
  gap: 8px;
  overflow-y: auto;
  max-width: 100% !important;
  border-radius: 0 !important;
}

.calendar_links a {
  white-space: nowrap;
}

.calendar_links a.mpa-add-to-calendar-link.mpa-add-to-calendar-link--google {
  padding: 8px 16px;
  line-height: 1;
  border-radius: 8px;
  background-color: #ffffff;
  color: #d52525;
  font-weight: 600;
  border: 1px solid #d52525 !important;
}

.calendar_links a.mpa-add-to-calendar-link.mpa-add-to-calendar-link--ical {
  padding: 8px 16px;
  line-height: 1;
  border-radius: 8px;
  background-color: #ffffff;
  color: #d52525;
  font-weight: 600;

  border: 1px solid #db681d !important;
}

.calendar_links a.mpa-add-to-calendar-link.mpa-add-to-calendar-link--yahoo {
  padding: 8px 16px;
  line-height: 1;
  border-radius: 8px;
  background-color: #ffffff;
  color: #5f01d1;
  font-weight: 600;

  border: 1px solid #5f01d1 !important;
}

.calendar_links a.mpa-add-to-calendar-link.mpa-add-to-calendar-link--yahoo svg {
  background-color: unset !important;
  padding: 0 !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  border-radius: unset !important;
}

.calendar_links a.mpa-add-to-calendar-link.mpa-add-to-calendar-link--yahoo svg path {
  fill: #5f01d1 !important;
}

.calendar_links svg {
  background-color: unset;
  padding: 0;
  min-width: 18px;
  min-height: 18px;
  max-width: 18px;
  max-height: 18px;
  border-radius: unset;
}

a.mpa-add-to-calendar-link {
  display: flex;
  align-items: center;
  justify-content: center;
}

.calendar_links a.mpa-add-to-calendar-link svg {
  margin-right: 8px !important;
}

.suggestion-button-div {
  display: flex;
  flex-wrap: wrap;
}

.year-details-div {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.year-header {
  text-align: left;
  font-size: 16px;
  margin-left: 5px;
}

.inChatFloatBtn i.fa-solid.fa-pencil {
  color: #fff;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  margin: auto;
  width: fit-content;
  height: fit-content;
  font-size: 16px;
}

.inChatFloatBtn.active i {
  opacity: 0;
}

/*Chatbot FloatButton*/
/* Floating Button */
.inChatFloatBtn::before,
.inChatFloatBtn::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  /* Line length */
  height: 2px;
  /* Line thickness */
  background-color: #fff;
  /* Line color */
  transition: transform 0.3s ease;
  /* Smooth transition */
  transform-origin: center;
}

.inChatFloatBtn::before {
  transform: translate(-50%, -50%) rotate(0deg);
  opacity: 0;
  /* Horizontal line for + */
}

.inChatFloatBtn::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
  /* Vertical line for + */
}

/* When toggled to 'x' */
.inChatFloatBtn.active::before {
  transform: translate(-50%, -50%) rotate(45deg);
  /* Rotate to form x */
}

.inChatFloatBtn.active::after {
  transform: translate(-50%, -50%) rotate(-45deg);
  /* Rotate to form x */
}

.inChatFloatContainer {
  position: absolute;
  /*bottom: 48px;*/
  /*right: -8px;*/
  bottom: 64px;
  right: -4px;
  z-index: 9999;
  display: flex;
  flex-direction: column-reverse;
  align-items: end;
}

.inChatFloatBtn {
  background-color: #F44336;
  /*width: 40px;*/
  /*height: 40px;*/
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  z-index: 1;
}

.inChatFloatBtn.active {
  background-color: transparent;
}

.inChatFloatBtn.active::after,
.inChatFloatBtn.active::before {
  background-color: #33475b;
  opacity: 1;
}

.inChatFloatOverlay {
  width: 100%;
  height: calc(100% - 60px);
  position: absolute;
  bottom: 0;
  left: 0;
  background: #ffffffe0;
  z-index: 9997;
  backdrop-filter: blur(8px);
}


.inChatFloatOptionItemLink {
  position: relative;
  display: flex;
  height: 50px;
  padding: 0 calc(16px + 60px) 0 16px;
  color: #33475b !important;
  font-weight: 500;
  transition: color .2s;
  font-size: 16px;
  flex: 1;
  min-width: 0;
  flex-direction: row-reverse;
  align-items: center;
  text-decoration: none;
}

.inChatFloatOptionItemTitle {
  display: block;
  opacity: 0;
  transform: translate3D(-1.5625rem, 0, 0);
  -webkit-transform: translate3D(-1.5625rem, 0, 0);
  -moz-transform: translate3D(-1.5625rem, 0, 0);
  -ms-transform: translate3D(-1.5625rem, 0, 0);
  -o-transform: translate3D(-1.5625rem, 0, 0);
}

.inChatFloatContainer.active .inChatFloatOptionItemTitle {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  animation: SlideIn .15s backwards;
  /*transition: transform .3s;*/
}

ul.inChatFloatOptions {
  padding: 0;
  display: none;
  position: relative;
  /*transition: visibility .3s;*/
  text-align: right;
  list-style-type: none;
}

.inChatFloatContainer.active ul.inChatFloatOptions {
  display: block;
}

.inChatFloatOptionContainer {
  position: relative;
}

.inChatFloatBtnStretch {
  width: 50px;
  height: 0;
  /*transition: height .2s;*/
  background: #F44336;
  position: absolute;
  bottom: -50px;
  right: 0;
  border-radius: 50px;
}

.inChatFloatContainer.active .inChatFloatBtnStretch {
  height: calc(100% + 50px);
  background: #fff;
  box-shadow: rgba(14, 30, 37, 0.12) 0px 0px 4px 0px, rgba(14, 30, 37, 0.32) 0px 0px 2px 0px;
}

span.inChatFloatOptionItemIcon {
  position: absolute;
  width: 16px;
  height: 16px;
  right: 16px;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
  /* transition: all .2s; */
  transform: scale(0);
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);

  display: flex;
  align-items: center;
  justify-content: center;
}

span.inChatFloatOptionItemIcon svg path {
  fill: #33475b;
}

.inChatFloatContainer.active span.inChatFloatOptionItemIcon {
  transform: scale(1);
}

span.inChatFloatOptionItemIcon i {
  color: #33475b;
}

a.inChatFloatOptionItemLink {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

@keyframes SlideIn {
  from {
    opacity: 0;
    transform: translate3D(-1.5625rem, 0, 0)
  }

  to {
    opacity: 1;
    transform: translate3D(0, 0, 0)
  }
}

@keyframes Header__scaleIn {
  from {
    transform: translate3D(0, -50%, 0) scale(0)
  }

  to {
    transform: translate3D(0, -50%, 0) scale(1)
  }
}

#chat-timer-continue {
  background-color: #ffffff !important;
  color: #099f87 !important;
  border: 1px solid #099f87;
  padding: 10px 18px !important;
  font-weight: 600;
  font-size: 1.3rem;
  cursor: pointer;
  margin-left: 10px;
}

#progress-bar-continue {
  background-color: #ffffff !important;
  color: #099f87 !important;
  border: 1px solid #099f87;
  padding: 10px 18px !important;
  font-weight: 600;
  font-size: 1.3rem;
  cursor: pointer;
}

#chat-session-continue {
  background-color: #ffffff !important;
  color: #099f87 !important;
  border: 1px solid #099f87;
  padding: 8px !important;
  font-weight: 600;
  font-size: 12px;
  line-height:1;
  cursor: pointer;
  margin-right: 10px;
  border-radius: 6px;
}


/*Timer progress In Chat Header*/
.progress-container {
  width: 100%;
  background: #ffcdd2;
  overflow: hidden;
  position: absolute;
  height: 12px;
  bottom: -6px;
  z-index: 9998;
  left: 0;
}

.progress-bar,
#confirm-progress-bar {
  height: 100%;
  background: #B71C1C;
  /*#4caf50; */
  width: 0;
  /* Starts empty */
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: bold;
  transition: width 1s linear;
  font-size: 10px;
  font-weight: 400 !important;
}

.timer,
#confirm-timer {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  width: fit-content;
  height: fit-content;
}

div#chatModal div#chatModalbody {
  position: relative;
}

.chat-timer-continue-container {
  display: flex;
  max-width: max-content !important;
}

.chat-timer-continue-container span {
  margin-top: 3px;
}

button.suggestion-button span.CalenderVideoIcon {
  display: inline-flex;
  max-width: 15px;
  height: 9px;
  margin-right: 4px;
}

button.suggestion-button span.CalenderVideoIcon svg path {
  fill: #33475b;
}

button.suggestion-button span.CalenderVideoIcon svg {
  width: 100%;
}

#chat-session-cancel {
  margin-right: 16px;

  background-color: #FFFFFF;
  border: 1px solid #E53935 !important;
  color: #E53935 !important;
  padding: 8px !important;
  font-weight: 600;
  font-size: 12px;
  line-height:1;
  cursor: pointer;
  border-radius: 6px;
}

.progress-bar-continue-container #progress-bar-cancel {
  margin-right: 16px;

  background-color: #FFFFFF;
  border: 1px solid #E53935 !important;
  color: #E53935 !important;
  padding: 10px 18px !important;
  font-weight: 600;
  font-size: 1.3rem;
  cursor: pointer;
}

.confirmation_buttons_1 {
  /*display: flex;*/
  align-items: center;
  justify-content: start;
  padding: 0 !important;
  width: 100% !important;
  max-width: unset !important;
  flex-direction: row-reverse;
  margin-top: 10px;
}

.single_location_link {
  color: #33475b !important;
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-decoration-skip-ink: none !important;
}

.chat-timer-continue-container {
  padding: 0 !important;
}

#chatContent {
  scroll-behavior: smooth;
}

/* Chat Close Alert */
.CloseChatAlertContainer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  justify-content: center;
  align-items: center;
  z-index: 9999;
  display: none;
}

.closeChatAlert {
  width: fit-content;
  padding: 16px;
  background-color: #fff;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  margin: auto;
  margin-top: 48px;
}

.closeChatAlert img {
  width: 56px;
}

button.CloseChatAlertCloseBtn {
  position: absolute;
  top: 16px;
  right: 16px;
  border: 0;
  background: transparent;
  padding: 0;
}

button.CloseChatAlertCloseBtn svg {
  height: 15px;
}

button.CloseChatAlertCloseBtn svg path {
  fill: #000;
}

.closeChatAlert p {
  margin: 16px 0;
}

.closeChatAlert button.StopChat {
  background-color: #099f87;
  color: #fff;
  border: 0;
  border-radius: 8px;
  width: 100%;
  height: 40px;
  font-size: 16px;
  font-weight: 500;
  padding: 0;
}

.botDivContent div:has(.confirmation_div) {
  position: relative;
}

section.progress-container.confirmation-progress-container {
  position: unset;
  margin-top: 8px;
  background-color: #FFCDD2;
  border-radius: 12px;
}

section.progress-container.confirmation-progress-container #confirm-progress-bar {
  background-color: #b71c1c;
  padding: 0;
  color: #fff;
}

div#confirm-progress-bar {
  max-width: unset !important;
}

/* In Chat Rating Section */
.inChatRatingSection {
  background-color: #dbf0e8;
  padding: 12px;
  border-radius: 8px;
  margin-top: 32px;
  position: relative;
}

.inChatRatingContent .required {
  color: #293241;
  margin-bottom: 8px;
}

.inChatRatingSection {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  /*border: 1px solid #c2c2c2;*/
}

.inChatRatingLikeDisLikeContainer {
  text-align: center;
}

.ChatMsgDiv.ChatClosedRate {
  font-size: 14px;
}

.required::after {
  content: '*';
  color: red;
}

.inChatRatingLikeDisLikeContainer .RateDivOptions {
  margin-left: 0;
}

.inChatRatingLikeDisLikeContainer p {
  margin: 0 0 10px;
}

.inChatRatingMsg {
  margin-bottom: 10px;
}

.inChatRatingLikeDisLikeContainer {
  margin-bottom: 10px;
}

.inChatRatingOption {
  display: flex;
  align-items: center;
  color: #000;
  margin-bottom: 8px;
}

.inChatRatingOption input {
  margin: 0 8px 0 0;
  width: 16px;
  height: 16px;
}

.inChatRatingOption label {
  width: 100%;
}

.inChatRatingIcon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #055b4e;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -24px;
}

.inChatRatingIcon svg {
  width: 32px;
}

.inChatRatingIcon svg path {
  fill: #fff;
}

.inChatRatingContent {
  padding-top: 20px;
}

.RateDivContainer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  justify-content: center;
  align-items: center;
  z-index: 999;
  display: none;
}

.RateDiv {
  background-color: #fff;
  border-radius: 40px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  width: fit-content;
  margin: auto;
  margin-top: 24px;
  line-height: 1;
}

.RateDivOption svg {
  width: 22px;
}

.RateDivOptions {
  margin-left: 16px;
}

.RateDivOption {
  width: 22px;
  display: inline-flex;
}

.RateDivOption.Like {
  margin-right: 6px;
}

.RateDivOption svg path.cls-1 {
  fill: #000;
}

.RateDivOption svg path.cls-2 {
  fill: #fff;
}

.RateDivOption.selected svg path.cls-1 {
  fill: #F9A825;
}

.RateDivOption.selected svg path.cls-2 {
  fill: #FFCA28;
}

#submitButton {
  display: inline-block;
  background-color: #ffffff !important;
  color: #099f87 !important;
  border: 1px solid #099f87;
  padding: 7px 15px !important;
  font-weight: 600;
  margin-top: 5px;
}


/*  chatbot styles end */


body {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.col-md-3.layout.plan_active .pricing-item {
  /*box-shadow: #032240 0px 0px 4px 4px;*/
}

footer.appointmentFooter .footerLogo {
  display: none;
}

label.calender_month_filter_label.calfiltersticky {
  position: fixed;
  top: 0;
  z-index: 1000;
  background-color: #fff !important;
  padding: 10px;
  border-bottom: 1px solid #ccc;
  width: 100%;
  left: 0;
  right: 0;
  /* max-width: calc(97vw - 32px) !important; */
  margin: auto !important;
  box-shadow: rgb(5 91 78 / 20%) 0px 6px 12px -2px, rgb(0 0 0 / 13%) 0px 3px 7px -3px;
  padding: 6px 0px !important;
  justify-content: center !important;
  max-width: unset !important;
}

.block-availability-calender label.calender_month_filter_label.calfiltersticky {
  padding: 6px 0 !important;
}

.mpa-calender-container table.calendar tr {
  border: 1px solid #e1e1e1;
}

.mpa-calender-container table.calendar td {
  position: relative;
  vertical-align: top;
  /* border: none; */
  padding: 6px !important;
}

.mpa-appointment-event span.calendar_text,
.mpa-appointment-event span.calendar_text span {
  font-weight: 300 !important;
}

.mpa-calender-container table.calendar td p.day-notation {
  position: absolute;
  top: 0;
  margin: 0 !important;
  width: 100%;
  text-align: center;
  left: 0;
  font-weight: 400;
  font-size: 20px;
}

.mpa-slot-calender-container table.calendar td {
  position: relative;
  vertical-align: baseline;
}

.mpa-slot-calender-container table.calendar td p.day-notation {
  position: absolute;
  top: 0;
  margin: 0 !important;
  width: 100%;
  text-align: center;
  left: 0;
  font-weight: 400;
  font-size: 20px;
}


label.calender_month_filter_label {
  padding: 0 !important;
}

label.calender_month_filter_label select {
  height: 30px;
}

.view-calender-booking-details {
  background-color: #fff !important;
  border: 1px solid #00d4b1;
  margin: 2px 10px 10px 0;
  padding: 0px 10px 0px 10px !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  height: 27px;
  color: #00d4b1 !important;
}

.view-calender-booking-details i {
  margin: 0 !important;
}

.view-calender-booking-details:hover {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.view-calender-booking-details:focus {
  color: #fff !important;
  background-color: #00d4b1 !important;

}

.col-md-3.layout.plan_active .pricing-item::after {
  content: 'ACTIVE PLAN';
  background: #B71C1C;
  top: 0;
  position: absolute;
  font-size: 12px;
  font-weight: 600;
  color: #fff !important;
  padding: 6px 12px;
  border-radius: 0 0 8px 8px;
  left: 0;
  right: 0;
  width: fit-content;
  margin: auto;
  line-height: 1;
}

.mpa-calender-container table.calendar td a.view-calender-booking-details {
  /*width: 100%;*/
  text-align: center;
}


*,
html,
body,
h1,
h1 a,
h1 a:visited,
h2,
h2 a,
h2 a:visited,
h3,
h3 a,
h3 a:visited,
h4,
h4 a,
h4 a:visited,
h5,
h5 a,
h5 a:visited,
h6,
h6 a,
h6 a:visited,
.mpa-shortcode-title,
.button,
.contact-info-widget li.skype a,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

i.fa,
.fa,
.fa-classic,
.fa-regular,
.fa-sharp,
.fa-solid,
.far,
.fas {
  font-family: "Font Awesome 6 Free" !important;
}

.fa-brands,
.fab {
  font-family: "Font Awesome 6 Brands" !important;
}

h3.elementor-image-box-title {
  font-size: 28px !important;
  margin-top: 0;
  margin-bottom: 24px !important;
}

p.elementor-image-box-description {
  font-size: 16px !important;
}

.doctorNPI {
  font-size: 16px;
}

.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-header .cell-service,
.mpa-booking-step.mpa-booking-step-cart .mpa-cart-item .item-body .cell-title {
  font-weight: 500;
}

/*New Invoice*/
.invoiceDiv {
  max-width: 600px;
  margin: auto;
  /*border: 1px solid #ccc;*/
  border-radius: 8px;
  /*background-color: #fafafa;*/
  padding: 24px;
  margin-top: 32px;
}

.invoiceHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 24px;
}

.invoiceItemDiv th {
  line-height: 18px;
  vertical-align: top;
  padding: 8px;
  font-size: 16px;
  font-weight: 500 !important;
  border-bottom: 1px solid #bfbfbf;
}

.invoiceItemDiv td {
  line-height: 18px;
  vertical-align: top;
  padding: 8px;
  font-size: 16px;
}

.invoiceBillingPaymentDiv {
  display: flex;
  /* justify-content: space-between; */
}
.invoiceBillingPaymentDiv .invoiceBilling {
    min-width: 52%;
}
.invoiceItemDiv table th:last-child, .invoiceItemDiv table td:last-child {
    padding-left: 0;
}

.billingtitle {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 16px;
}

.invoiceBillingDataDiv p {
  margin: 0 0 8px !important;
  font-size: 16px;
  color: #5b5b5b;
  line-height: 1;
}

.invoiceOrdedrDateDiv {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.invoiceDivPrint {
  max-width: fit-content;
  margin: auto;
  text-align: center;
  margin-top: 24px;
  background-color: #00d4b1;
  color: #fff;
  padding: 8px 24px;
  border-radius: 8px;
  font-weight: 500;
  font-size: 16px;
  position: relative;
}

.invoiceItemDiv table {
  border: 0;
}

.invoiceDivPrint a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.invoiceItemDiv span.pmpro_price_part_span.pmpro_price_part-total {
  border: 0;
  margin: 0;
  padding: 0;
}

.invoiceItemDiv span.pmpro_price_part_span.pmpro_price_part-total span.pmpro_price_part_label {
  display: none;
}

.invoiceItemDiv {
  margin-bottom: 24px;
}

.invoiceLogo {
  display: none;
}

.invoiceOrder {
  color: #5b5b5b;
  font-size: 16px;
}

div#pmpro_account_loggedin {
  display: none;
}

#pmpro_account #pmpro_account-membership {
  margin-bottom: 0;
}

#pmpro_account #pmpro_account-profile ul {
  margin-top: 8px;
}

#pmpro_account #pmpro_account-profile .pmpro_actionlinks {
  margin-top: 4px;
}

.woocommerce .woocommerce-MyAccount-content {
  margin-top: 0 !important;
}

.woocommerce-MyAccount-content p {
  margin: 0;
}

.membershipData {
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #d0d0d0;
  margin-top: 24px;
}

.membershipData p {
  margin-bottom: 8px !important;
  font-size: 16px;
  line-height: 1.25;
}

.membershipData p:last-child {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 540px) {
  form#change-password .pmpro_submit input.pmpro_btn {
    max-width: 100% !important;
    margin-bottom: 16px !important;
  }
}

@media screen and (max-width: 768px) {
  form.pmpro_form .pmpro_submit input.pmpro_btn {
    margin-bottom: 16px !important;
  }
}

button#confirm-timer-button {
  width: 36.5px;
  height: 36.5px;
  background-color: transparent;
  border-radius: 50%;
  padding: 0 !important;
  margin-left: 16px;
  color: #D32F2F;
}

body:has(div#chatModal[style="display: block;"]) {
  overflow: hidden;
}

table#pmpro_invoices_table {
  margin: 24px auto;
  max-width: 95%;
}

.invoiceHeader.membershipAccount {
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.invoiceHeader.membershipAccount svg {
  height: 64px;
  margin-bottom: 16px;
}

.invoiceHeader.membershipAccount .invoiceHeaderSubTitle {
  font-size: 16px;
  font-weight: 400;
  margin-top: 4px;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable {
  /* max-width: 320px;
  width: 100% !important; */
  padding: 8px;
  border-radius: 8px;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable .ui-dialog-titlebar.ui-widget-header {
  padding: 0;
  line-height: 1;
  padding-bottom: 8px;
  border-bottom: 1px solid #ccc !important;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable .ui-dialog-content {
  padding-left: 0;
  padding-right: 0;
  min-height: unset !important;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable .ui-dialog-content h6 {
  font-weight: 400 !important;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable .ui-dialog-buttonpane.ui-widget-content {
  padding-left: 0;
  padding-right: 0;
  margin: 0;
  padding-bottom: 0;
  padding-top: 8px;
}

.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable .ui-dialog-buttonpane.ui-widget-content button {
  margin: 0 !important;
}

@media screen and (max-width: 320px) {
  .ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable {
    max-width: 95%;
  }
}


/*Calender New Style*/
.rbc-event.rbc-selected {
  background-color: unset !important;
  color: #fff;
  text-align: center;
  padding: 4px;
  border-radius: 6px;
  /* border-left:3px solid transparent; */
}

.rbc-event.rbc-selected .mpa-appointment-event p {
  font-size: 11px;
  line-height: 1;
  margin: 0 !important;
}

.rbc-event.rbc-selected .mpa-appointment-event p {
  font-size: 11px;
  font-weight: 300;
}

.rbc-event.rbc-selected .mpa-appointment-event p:first-child {
  font-weight: 400;
  /* margin-bottom: 4px !important;
    margin-top: 6px !important; */
}

.rbc-event.rbc-selected.past-appt-details.appt-details-completed {
  border-color: #2a952a;
  background: #2a952a !important;
}

.rbc-event.rbc-selected.appt-details-confirmed {
  border-color: #3174ad;
  background: #3174ad !important;
}

.rbc-event.rbc-selected.appt-details-pending {
  border-color: #f3a815;
  background: #f3a815 !important;
}

.rbc-event.rbc-selected.past-appt-details.appt-details-confirmed {
  border-color: #aaaaaa;
  background: #607d8b !important;
}

.rbc-event.rbc-selected.past-appt-details.appt-details-cancelled {
  border-color: #D32F2F;
  background: #D32F2F !important;
}

.rbc-event.rbc-selected.appt-details-cancelled {
  background-color: #df9c9c !important;
}

.rbc-event.rbc-selected.appt-details-completed {
  background: #2a952a !important;
}

a.view-reservation-details {
  margin-bottom: 10px !important;
  display: block;
}

a.view-reservation-details:last-child {
  margin-bottom: 0 !important;
}

.rbc-event.rbc-selected .rbc-event-content {
  margin-bottom: 0 !important;
}

.modal_booking_icons_div {
  display: flex;
  align-items: center;
  justify-content: end;
  padding: 0;
}

.modal_booking_icons_div a.woocommerce-button {
  margin: 0 6px !important;
  padding: 10px !important;
  height: auto;
  line-height: 1;
}

.modal_booking_icons_div a.woocommerce-button:last-child {
  margin-right: 0 !important;
}

label.calender_month_filter_label {
  background-color: transparent;
  margin: 0 !important;
  border-radius: 8px 8px 0 0;
}

.mpa_calender_container_div .mpa-calender-container table.calendar {
  width: 100%;
  border-radius: 8px !important;
  overflow: hidden;
  table-layout: fixed;
  margin: 0;
}

.mpa_calender_container_div .mpa-slot-calender-container table.calendar {
  width: 100%;
}

div#eventDetails .event-detail p.CalenderActionIcon {
  margin-top: 0 !important;
}

.mpa_calender_container_div .mpa-calender-container table.calendar thead th {
  background-color: #bff4df !important;
  border-color: #e1e1e1;
  color: #000000;
  font-weight: 300 !important;
  font-size: 18px !important;
  white-space: nowrap;
  min-width: max-content;
  padding: 6px;
}

.mpa-calender-container table.calendar td p.day-notation {
  text-align: right;
  padding-right: 16px;
  margin-bottom: 16px !important;
  position: unset;
  margin-top: -16px !important;
  margin: 0 !important;
  padding: 8px;
  font-size: 16px;
  font-weight: 500;
  color: #374151;
  text-align: center;
  /* line-height: 1; */
}

.calendar td:first-child::after,.calendar td:last-child::after {
  content: "";
  display: inline-block;
  vertical-align: top;
  min-height: 4rem;
}

.mpa_calender_container_div .mpa-slot-calender-container table.calendar thead th {
  background-color: #f1f8ff !important;
  border-color: #e1e1e1;
  color: #000000;
  font-weight: 300 !important;
  font-size: 18px !important;
  white-space: nowrap;
  min-width: max-content;
  padding: 6px;
}

.mpa-slot-calender-container table.calendar td p.day-notation {
  text-align: right;
  padding-right: 16px;
  margin-bottom: 16px !important;
  position: unset;
  margin-top: -16px !important;
}

label.calender_month_filter_label select {
  /* border: 0 !important; */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="18px" height="18px"><path d="M7 10l5 5 5-5z"/></svg>');
  /* Custom arrow */
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 16px;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
  padding: 8px 30px 8px 8px;
  height: auto !important;
  line-height: 1;
  min-width: 80px;
  border-color: #d7d5d5;
}





.calendar_1 {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
  margin-top: 8px;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.calendar_1 .header {
  background-color: #099f87;
  min-height: 48px;
  border-radius: 16px 16px 0 0;
}

.calendar_1 .header button {
  background-color: transparent !important;
  padding: 18px 24px;
  font-size: 20px;
}

h2#monthYear {
  font-size: 24px;
  color: #fff;
  margin: 0;
  font-weight: 400 !important;
}

.calendar_1 .days {
  color: #000;
  font-size: 18px;
  font-weight: 600;
  padding: 16px 0;
}

.days,
.dates {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.dates div {
  padding: 10px;
  cursor: pointer;
  position: relative;
}

.dates div.today {
  border-radius: 8px;
  font-weight: 700;
}

.dates div.selected {
  border-radius: 8px;
  border: 1px solid #bff2e2;
  background-color: #bff2e2;
}

.event {
  display: block;
  width: 76%;
  margin: auto;
  height: 3px;
  min-height: 2px;
  margin-top: 3px;
  border-radius: 8px;
}

.event.confirmed {
  background-color: #3174ad;
}

span.event.confirmed.past-appt-details {
  background-color: #aaaaaa;
}

.event-detail.confirmed.past-appt-details {
  border-color: #aaa;
}

span.event.cancelled {
  background-color: #D32F2F;
}

span.event.completed {
  background-color: #2a952a;
}

a.view-reservation-details:hover,
a.view-reservation-details.active {
  background: #b8d8e5;
}

a.view-reservation-details.active {
  background: transparent !important;
}

a.view-reservation-details.active .rbc-event.rbc-selected {
  /* background: #b8d8e5 !important;
        border-radius: 8px;
        padding: 8px 0 7px 8px; */
  box-shadow: #FFEB3B 0px 0px 0px 1.5px, #FF9800 0px 0px 0px 3px;
}

div.event-detail:hover {
  cursor: pointer;

}

.event-detail {
  padding: 10px;
  margin-bottom: 16px;
  background-color: #f9f9f9;
  border-radius: 4px;
}

.event-detail.open {
  border-left: 4px solid #4caf50;
}

.event-detail.confirmed {
  border-left: 4px solid #3174ad;
}

.event-detail.completed {
  border-left: 4px solid #2a952a;
}

.event-detail.cancelled {
  border-left: 4px solid #D32F2F;
}

.calendar-color-code {
  margin-top: 20px;
  display: flex;
  justify-content: space-around;
}

.calendar-color-code p {
  padding: 5px 10px;
  border-radius: 4px;
  color: white;
}

.calendar_1 div#dates,
.calendar_1 .days {
  /*background-color: #000;*/
}

.calendar_1 .days,
.calendar_1 .header {
  border-left: 1px solid #099f87;
  border-right: 1px solid #099f87;
}

.calendar_1 div#dates {
  border: 1px solid #00acc1;
  border-radius: 0 0 16px 16px;
  border-top: 0;
  margin-bottom: 16px;
}

div#eventDetails .event-detail {
  background: unset;
  text-align: left;
  padding: 0 8px;
  font-size: 13px;
  font-weight: 300;
  line-height: 20px;
}

div#eventDetails .event-detail strong {
  font-weight: 500;
  font-size: 14px;
}

.calenderEventCode {
  display: flex;
  align-items: center;
  font-size: 12px;
  font-weight: 400;
  flex-wrap: wrap;
  margin-bottom: 32px;
  gap: 8px;
}

.calenderEventCodeItem {
  line-height: 1;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.calender_header_section_div span.calenderEventCodeItemColor.sms_confirmed_code, .calender_header_section_div span.calenderEventCodeItemColor.zocdoc_code {
    position: relative;
    width: 16px;
    height: 16px;
}
.calender_header_section_div span.calenderEventCodeItemColor.sms_confirmed_code img, .calender_header_section_div span.calenderEventCodeItemColor.zocdoc_code img {
    width: 14px;
    height: 14px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

span.calenderEventCodeItemColor {
  width: 9px;
  height: 9px;
  display: block;
  margin-right: 2px;
}

.calenderEventCodeItem.pending span.calenderEventCodeItemColor {
  background-color: #f3a815;
}

.calenderEventCodeItem.confirmed span.calenderEventCodeItemColor {
  background-color: #3174ad;
}

.calenderEventCodeItem.cancelled span.calenderEventCodeItemColor {
  background-color: #D32F2F;
}

.calenderEventCodeItem.completed span.calenderEventCodeItemColor {
  background-color: #2a952a;
}

.calenderEventCodeItem.pastbooking span.calenderEventCodeItemColor {
  background-color: #607d8b;
}

a.datesClick {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}




div#AppointmentDetailsModal {
  z-index: 1000;
}

p.CalenderActionIcon svg {
  height: 12px;
  max-width: 14px;
}

p.CalenderActionIcon {
  margin-top: 6px !important;
}

.rbc-event-content .mpa-rbc-event p.CalenderActionIcon {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px !important;
}

p.CalenderActionIcon svg path {
  fill: #3174ad;
}

.elementor-12560 .elementor-element.elementor-element-28fef3d:not(.elementor-motion-effects-element-type-background) {
  background-color: #dcf4ff;
  background-size: auto 90% !important;
  background-position: right bottom !important;
}

.elementor-12560 .elementor-element.elementor-element-28fef3d .elementor-heading-title {
  color: #099f87 !important;
}

.front-page-title-section .elementor-container.elementor-column-gap-default {
  margin-top: 100px;
}

body.pmpro-account table thead th {
  padding: 8px 1.25rem !important;
}

.mpa-account-bookings thead th {
  padding: 8px 1.25rem;
  line-height: 1 !important;
}


.woocommerce-MyAccount-content:has(.mpa_calender_container_div) {
  padding: 0 !important;
  max-width: unset !important;
  box-shadow: unset !important;
}

@media screen and (max-width:990.1px) {
  /*.mpa_calender_container_div {*/
  /*    display: none;*/
  /*}*/
  /*.calendar_1 {*/
  /*    display: block !important;*/
  /*}*/
}

.rbc-event-content .mpa-rbc-event:hover {
  white-space: nowrap;
}

@media screen and (min-width:460.1px) {

  body:has(.mpa-account-login-register-form) .wide-container,
  body:has(form.lost_reset_password) .wide-container,
  body:has(.pmpro_change_password_wrap) .wide-container {
    background: #f5f5f5;
  }

  .mpa-account-login-register-form .u-column1.col-1,
  .mpa-account-login-register-form .u-column2.col-2,
  form.lost_reset_password,
  .pmpro_change_password_wrap {
    padding: 26px !important;
    background: #fff !important;
    max-width: 330px;
    width: 330px !important;
  }

}

.pmpro_checkout_box-password {
  margin: 0 !important;
}

.mpa-account-login-register-form .u-column1.col-1 h2,
.mpa-account-login-register-form .u-column2.col-2 h2,
form.lost_reset_password h2 {
  margin-top: 0;
  font-size: 24px;
  font-weight: 400 !important;
}

.mpa-account-login-register-form .u-column1.col-1 label,
.mpa-account-login-register-form .u-column2.col-2 label {
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.25;
}

.login_form_extra_fields {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}

p.woocommerce-LostPassword.lost_password a,
.mpa-account-login-register-form form#loginform p a {
  font-size: 13px !important;
  color: #01579b;
}

p.woocommerce-sign_up.sign_up,
p.woocommerce-sign_up.sign_up a {
  justify-content: end;
  line-height: 1;
  font-size: 13px !important;
}

.the_champ_social_login_title {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ccc;
  position: relative;
  font-size: 14px;
  line-height: 1;
  margin-bottom: 1.75em;
  margin-top: 1.75em;
}

.the_champ_social_login_title::after,
.the_champ_social_login_title::before {
  content: '';
  height: 1px;
  background: #ccc;
  width: 40%;
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  margin: auto;
}

.the_champ_social_login_title::before {
  right: 0;
}

.the_champ_social_login_title::after {
  left: 0;
}

.the_champ_login_container ul.the_champ_login_ul {
  height: 40px;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.the_champ_login_container ul.the_champ_login_ul i {
  margin: 0 8px;
  border-radius: 4px;
}

.mpa-account-login-register-form .u-column2.col-2 p {
  margin-bottom: 1em !important;
}



/*Last TR removal */
.mpa-calender-container table tbody tr:last-child {
  /*display: none;*/
}

.mpa_calender_container_div h3.appointment_calender_heading {
  font-weight: 400 !important;
}

label.calender_month_filter_label select {
  font-weight: 400;
}

#tribe-events-content a,
.author-bio .author-social-links a:hover,
.author-bio .description .name a:hover,
.contact-info-widget.default i,
.entry-content a,
.entry-meta .sermon-speaker a,
.entry-meta a:hover,
.entry-meta a:visited:hover,
.footer-text a,
.logged-in-as a,
.menu a:hover,
.menu li.current-menu-item>a,
.menu li:hover>a,
.more-link,
.more-link:visited,
.outbuilt-recent-posts .recent-posts-comments a:hover,
.pagination .page-numbers.current,
.pagination .page-numbers:hover,
.post-carousel .cat-links a,
.post-featured .entry-title a:hover,
.post-featured-grid .entry-title a:hover,
.post-pagination .post-detail a,
.post-slider .entry-title a:hover,
.search-icon .search-toggle:hover,
.search-icon .search-toggle:visited:hover,
.sidebar-footer .widget a:hover,
.sidebar-footer a:hover,
.single-tribe_events a.tribe-events-gcal,
.single-tribe_events a.tribe-events-gcal:hover,
.single-tribe_events a.tribe-events-ical,
.single-tribe_events a.tribe-events-ical:hover,
.tag-links a,
.tribe-events .tribe-events-c-ical__link,
.tribe-events-back a:visited,
.widget a:hover,
.widget-tj-recent-posts .tj-recent-posts .recent-posts-comments a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:hover,
a:hover,
a:visited:hover {
  color: #099f87 !important;
  text-underline-offset: 5px;
}

div#pmpro_account h3,
div#pmpro_account-profile strong {
  font-weight: 400 !important;
}

form#change-password .pmpro_submit {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

form#change-password input.pmpro_btn.pmpro_btn-cancel {
  background-color: transparent !important;
  color: #099f87 !important;
  font-weight: 500 !important;
}

.pmpro_change_password_wrap h2 {
  margin-top: 0;
  font-weight: 400 !important;
  font-size: 24px !important;
}

.pmpro_change_password_wrap label {
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.25;
}

.calender_header_section_container {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 8px;
}

.calender_header_section_div {
  min-width: fit-content;
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
  justify-content: center;
}

.calender_header_section_div h3.appointment_calender_heading {
  max-width: unset;
  text-align: center;
  margin-bottom: 20px !important;
}

.calender_header_section_div .calenderEventCode {
  font-size: 14px;
  gap: 14px;
}

.calender_header_section_div span.calenderEventCodeItemColor {
  width: 16px;
  height: 12px;
  margin-right: 4px;
}

.calender_header_section_div .calenderEventCode {
  margin-bottom: 0;
}

@media screen and (max-width:991px) {
  .calender_header_section_container {
    flex-direction: column;
    align-items: center;
    row-gap: 16px;
  }

  .calender_month_filter_label {
    justify-content: center;
  }

  .calender_header_section_div .calenderEventCode {
    justify-content: center;
  }
}


/*Filter Appointment Portal start*/


.filter-row {
  display: flex;
  justify-content: space-between;
  /* Distribute the items evenly */
  margin-bottom: 0px;
  /* Space between filters and table */
  flex-wrap: wrap;
  /* Allow items to wrap when necessary */
}

.filter-item {
  flex: 1;
  /* Make each filter input take equal space */
  margin-right: 10px;
  /* Add space between filters */
  margin-bottom: 10px;
  /* Add space between filter items when wrapping */
}

.filter-item:last-child {
  margin-right: 0;
  /* Remove right margin on the last filter */
}

/* Style for input fields inside filter items */
.filter-item input {
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
}

/* Media Query for mobile responsiveness (below 768px) */
@media screen and (max-width: 768px) {
  .filter-row {
    flex-direction: column;
    /* Stack filter items vertically */
    align-items: stretch;
    /* Stretch filter items to full width */
  }

  .filter-item {
    margin-right: 0;
    /* Remove right margin on mobile */
    margin-bottom: 10px;
    /* Space between stacked items */
  }

  .filter-item:last-child {
    margin-bottom: 0;
    /* Remove margin-bottom on the last filter */
  }
}

#filter-pastall,
#filter-all {
  width: 100%;
  /* Make the input take up the full width of its container */
  max-width: 300px;
  /* Optional: You can limit the max width */
  padding: 10px;
  /* Add padding for better spacing inside */
  margin: 10px 0;
  /* Add some spacing above and below */
  font-size: 16px;
  /* Make the text inside the input easier to read */
  border: 2px solid #ccc;
  /* Border with light gray color */
  border-radius: 4px;
  /* Rounded corners */
  box-sizing: border-box;
  /* Ensures padding doesn't affect the width */
  transition: border-color 0.3s ease;
  /* Smooth transition for border color on focus */
}

#filter-pastall:focus,
#filter-all:focus {
  border-color: #00d4b1;
  ;
  /* Change border color to green when the input is focused */
  outline: none;
  /* Remove default outline */
}

#filter-pastall::placeholder,
#filter-all::placeholder {
  color: #888;
  /* Light gray placeholder text */
  font-style: italic;
  /* Optional: Italicize placeholder text for emphasis */
}

/*Filter Appointment Portal end*/


div#pwaforwp-add-to-home-click.pwaforwp-animated {
  /*display: flex !important;*/
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  min-height: unset !important;
  padding: 8px 40px;
  padding-left: 10px !important;
}

span#pwaforwp-prompt-close {
  position: absolute;
  top: 0;
  margin: auto;
  bottom: 0;
  right: 0;
  width: 12px;
  height: 12px;
}

.pwaforwp-footer-prompt .pwaforwp-prompt-close:after {
  top: 0px !important;
  bottom: 0 !important;
  margin: auto !important;
}

div#pwaforwp-add-to-home-click .pwaforwp-btn.pwaforwp-btn-add-to-home {
  margin: 0 !important;
  padding: 8px 24px !important;
  background-color: #099f87 !important;
}

div#pwaforwp-add-to-home-click.pwaforwp-animated h3 {
  font-weight: 400 !important;
  font-size: 18px;
}

div#pwaforwp-add-to-home-click.pwaforwp-animated[style*="none"] {
  display: none !important;
}

@media screen and (max-width: 768px) {
  div#pwaforwp-add-to-home-click.pwaforwp-animated {
    flex-direction: column;
    gap: 8px;
    padding: 16px;
  }
}

div#pmpro_account-profile li {
  font-size: 1.5rem;
  line-height: 1;
}

@media screen and (max-width: 767.9px) {
  div#pmpro_account div#pmpro_account-membership {
    border: 0 !important;
  }

  #pmpro_account #pmpro_account-profile {
    padding: 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 8px;
    margin-top: 0;
    font-weight: 400;
  }

  .pmpro_account-membership-table {
    font-weight: 400;
  }

  .pmpro_account-membership-table strong {
    font-weight: 400 !important;
  }

  .pmpro_account-invoices_table tr td {
    font-weight: 400;
    font-size: 1.5rem !important;
  }

  #pmpro_account #pmpro_account-invoices {
    border-bottom: 0 !important;
  }

  .invoiceDiv {
    margin-top: 0;
  }
}

@media screen and (max-width: 550.1px) {

  .invoiceBilling,
  .invoicePayment {
    width: 100%;
  }

  .invoiceBillingPaymentDiv {
    flex-wrap: wrap;
    gap: 24px;
  }
}


.full_calendar_today {
  border: 1px solid #abe1e8;
  /* background-color: #d3fff4 !important; */
}



div#eventDetails {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

div#eventDetails .event-detail {
  max-width: calc(50% - 8px);
  width: 100%;
}

@media screen and (max-width: 550.1px) {
  div#eventDetails .event-detail {
    max-width: 100%;
    width: 100%;
  }
}

.pmpro_billing_wrap h2 {
  font-weight: 400 !important;
}

.pmpro_billing_wrap form#pmpro_form {
  margin: 20px 0 !important;
}

.pmpro_billing_wrap strong {
  font-weight: 400;
  color: #4d4d4d;
}

.pmpro_billing_wrap form#pmpro_form h3 {
  font-weight: 400 !important;
}

.pmpro_checkout .pmpro_checkout-fields .pmpro_checkout-field input {
  color: #404040;
}

@media screen and (max-width: 768px) and (min-width: 501px) {

  div#pmpro_billing_address_fields .pmpro_checkout-field,
  div#pmpro_payment_information_fields .pmpro_checkout-field {
    max-width: calc(50% - 8px);
    width: 100%;
  }

  div#pmpro_billing_address_fields .pmpro_checkout-fields,
  div#pmpro_payment_information_fields .pmpro_checkout-fields {
    justify-content: space-between;
  }
}

.filter-row .filter-item {
  max-width: 300px !important;
  position: relative;
}

span#upcoming-clear-search {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  transform: unset !important;
  margin: auto 0 !important;
  height: fit-content !important;
  line-height: 1;
  display: flex;
  align-items: center;
  right: 8px !important;
}

span#past-clear-search {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  transform: unset !important;
  margin: auto 0 !important;
  height: fit-content !important;
  line-height: 1;
  display: flex;
  align-items: center;
  right: 8px !important;
}

.filter-row .filter-item input#filter-all:focus {
  border-color: #ccc;
}

div#eventDetails .event-detail.active {
  background: #b8d8e5 !important;
  padding-top: 6px;
  padding-bottom: 6px;
  border-radius: 8px;
}

.heading_section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 8px;
  margin-bottom: 16px;
}

.heading_section h3.appointment_calender_heading {
  margin-bottom: 0;
}

.heading_section .section_tab button svg {
  height: 16px;
  margin-right: 2px;
}

.heading_section .section_tab button {
  padding: 8px;
  line-height: 1;
  display: inline-flex;
  align-items: end;
  justify-content: center;
  gap: 4px;
}

.heading_section .section_tab button {
  color: #099f87 !important;
}

.heading_section .section_tab button svg path {
  fill: #099f87 !important;
}

.heading_section .section_tab button.active {
  color: #fff !important;
}

.heading_section .section_tab button.active svg path {
  fill: #fff !important;
}

.heading_section .section_tab button:hover {
  color: #fff !important;
}

.heading_section .section_tab button:hover svg path {
  fill: #fff !important;
}

@media screen and (max-width: 465px) {
  .heading_section {
    flex-direction: column-reverse;
  }
}

html:has(.login-register-container) {
  overflow: hidden;
}

@media screen and (max-height: 660px) {
   html:has(.login-register-container) {
      overflow: auto;
    } 
    html:has(.login-register-container) #content {
        padding: 16px 0;
    }
}

.sms-confirmed {
  position: relative;
  top: -2px;
  /*right: -60px;*/
  /*color: white;*/
  font-size: 14px;
  /*font-weight: bold;*/
}

.mobile-sms-confirmed {
  position: relative;
  top: 2px;
  color: white;
  font-size: 14px;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mobile-sms-confirmed img {
  width: 16px;
  height: 16px;
}

.calendar_1 .zocdoc-confirmed img {
  width: 16px;
  height: 16px;
}

.calendar_1 .zocdoc-confirmed {
  top: 3px;
}

.event-detail.pending {
  border-left: 4px solid #f3a815;
}

.event.pending {
  background-color: #f3a815;
}


.doctor_select_div {
  display: flex;
}

.doctor_select_div {
  position: relative;
  margin: auto;
  width: fit-content;
}

.doctor_select_div_label {
  /*margin-right: 10px;*/
  /*margin-top: 5px;*/
  position: absolute;
  font-size: 13px;
  color: #686868;
  font-weight: 400;
  line-height: 1;
  background: #fff;
  top: -7px;
  left: 8px;
  padding: 0 4px;
}

.mini_calender_doctor_filter {
  border-radius: 4px;
  font-size: 16px;
  padding: 8px 30px 8px 8px;
  line-height: 1;
  width: 280px;
  margin: 0px 0px 10px 0px;
}


@media screen and (max-width: 440px) {
  .doctor_select_div {
    /*display: grid;*/
    margin-top: 18px;
  }


}


.zocdoc-confirmed {
  position: relative;
  top: -1px;
  /*right: -35px;*/
  /*color: white;*/
  font-size: 14px;
  font-weight: bold;
}

a.change_plan_button {
  font-size: 20px;
  transform: rotate(75deg);
  display: inline-block;
  line-height: 1;
  position: relative;
  top: -2px;
  color: #099f87 !important;
}

html {
  margin-top: 0 !important;
}

body.pmpro-login {
  margin-top: 0 !important;
}

body.admin-bar {
  margin-top: 0 !important;
}

div#ChatPageloader img {
  width: auto !important;
  max-height: 64px !important;
}

.mpa-edit-reservations-ctrl .mpa-booking-step-period .flatpickr-calendar {
  margin-top: 1px !important;
}

@media screen and (max-width: 400px) {
  .modal-content {
    width: 97vw !important;
  }

  .modal_booking_icons_div {
    justify-content: space-between;
    padding: 0px;
    flex-direction: row !important;
  }

  .modal_booking_icons_div button {
    margin: 0 !important;
  }

  .modal_booking_icons_div a.woocommerce-button {
    text-transform: capitalize !important;
    padding: 6px !important;
    font-size: 12px !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

}

.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
  background: transparent !important;
}

#wpadminbar #wp-admin-bar-menu-toggle .ab-icon::before {
  color: #ffffff !important;
}

.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
  color: #099f87 !important;
}

.mpa-booking-step-admin-cart table thead tr th.column-service,
.mpa-booking-step-admin-cart table tbody tr td.mpa-service-name {
  display: none;
}

.refresh_spinner {
  width: 18px;
  height: 18px;
  border: 2px solid #fff;
  border-top-color: #3498db;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  display: inline-block;
  vertical-align: middle;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.block-availability-calender label.calender_month_filter_label select.slot_calender_doctor_filter {
  min-width: 210px !important;
}

.available_slots {
  text-transform: lowercase;
  font-size: 17px;
}

.fa-spinner {
  font-size: 20px;
}


.block-availability-calender,
.entry-content:has(.block-availability-calender) .heading_section {
  max-width: 97vw !important;
  width: 100% !important;
  margin: 32px auto !important;
}


/*Block availability Start*/
.block-availability-calender {
  /* font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  max-width: 800px !important; */
  margin: 0 auto;
  padding: 20px;
  background: #ffffff;
  /* border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
}

.block-availability-calender h3.appointment_calender_heading {
  max-width: fit-content !important;
}

.block-availability-calender label.calender_month_filter_label {
  max-width: fit-content;
  justify-content: end;
  padding: 0 !important;
}

.block-availability-calender .calender_month_filter_label {
  display: flex;
  gap: 12px;
  margin-bottom: 24px !important;
  align-items: center;
  flex-wrap: wrap;
  background: transparent !important;
}

.block-availability-calender label.calender_month_filter_label select {
  padding: 8px 12px !important;
  border: 1px solid #e1e1e1 !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  background-color: white !important;
  color: #374151 !important;
  min-width: 120px !important;
  transition: border-color 0.2s ease;
  margin-right: 0;
}

.block-availability-calender select:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.block-availability-calender .appointment_calender_heading {
  font-size: 22px;
  font-weight: 600;
  color: #1f2937;
  margin: 0 0 20px 0;
  text-align: center;
}

.block-availability-calender .mpa-slot-calender-container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 1px;
}

.block-availability-calender .calendar {
  width: 100%;
  min-width: 280px;
  border-collapse: collapse;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
}

.block-availability-calender .mpa-slot-calender-container table.calendar thead th {
  background-color: #bff4df !important;
  /* padding: 12px 8px; */
  text-align: center;
  /* font-weight: 600 !important;
    font-size: 13px !important;
    color: #293241;
    text-transform: capitalize; */
  letter-spacing: 0.05em;
  border-bottom: 1px solid #e2e8f0;
  color: #000000;
  font-weight: 300 !important;
  font-size: 18px !important;
  white-space: nowrap;
}

.block-availability-calender .calendar td {
  padding: 0;
  border: 1px solid #e1e1e1;
  vertical-align: top !important;
  height: 80px;
  width: 14.28%;
  position: relative 1 !important;
  background: white;
  transition: background-color 0.2s ease;
}

.block-availability-calender .calendar td:hover {
  background: #f8fafc;
}

.block-availability-calender table.calendar td p.day-notation {
  margin: 0 !important;
  padding: 8px;
  font-size: 16px;
  font-weight: 500;
  color: #374151;
  text-align: left;
}

.block-availability-calender .full_calendar_today {
  background: #dcf1f4 !important;
  /*border-color: #3b82f6 !important;*/
}

.block-availability-calender .full_calendar_today .day-notation {
  color: #1d4ed8;
  font-weight: 600;
}

.block-availability-calender .available_slots {
  position: absolute;
  bottom: 4px;
  left: 4px;
  right: 4px;
  background: #00d4b1;
  color: white !important;
  text-decoration: none;
  padding: 4px 6px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
  text-align: center;
  transition: all 0.2s ease;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
}

.block-availability-calender table.calendar td:hover .available_slots {
  background: #099f87;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgb(9 159 135 / 25%);
}

.block-availability-calender .loader {
  display: none;
  text-align: center;
  padding: 20px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto !important;
  transform: unset !important;
  position: absolute !important;
}

a.mobile_view_available_slots.available_slots {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
}

/* Mobile Responsive Design */
@media (max-width: 768px) {
  .block-availability-calender {
    padding: 12px;
    margin: 8px;
    border-radius: 6px;
  }

  .block-availability-calender label.calender_month_filter_label select {
    width: auto;
  }

  .block-availability-calender .calender_month_filter_label {
    /*flex-direction: column;*/
    gap: 10px;
    margin-bottom: 20px;
  }

  .block-availability-calender h3.appointment_calender_heading {
    /* max-width: 100% !important; */
  }

  .block-availability-calender label.calender_month_filter_label {
    /* max-width: 100%; */
    /* justify-content: center; */
  }

  .block-availability-calender select {
    width: 100%;
    min-width: unset;
    padding: 10px 12px;
    font-size: 16px;
    /* Prevents zoom on iOS */
  }

  .block-availability-calender .appointment_calender_heading {
    font-size: 18px;
    margin-bottom: 16px;
  }

  .block-availability-calender .calendar {
    font-size: 12px;
    border-radius: 6px;
  }

  .block-availability-calender .calendar th {
    padding: 8px 4px;
    font-size: 11px;
  }

  /* Trim weekday names to first letter on mobile */
  .block-availability-calender .calendar th:nth-child(1)::after,
  .mpa_calender_container_div table.calendar th:nth-child(1)::after {
    content: "M";
  }

  .block-availability-calender .calendar th:nth-child(2)::after,
  .mpa_calender_container_div table.calendar th:nth-child(2)::after {
    content: "T";
  }

  .block-availability-calender .calendar th:nth-child(3)::after,
  .mpa_calender_container_div table.calendar th:nth-child(3)::after {
    content: "W";
  }

  .block-availability-calender .calendar th:nth-child(4)::after,
  .mpa_calender_container_div table.calendar th:nth-child(4)::after {
    content: "T";
  }

  .block-availability-calender .calendar th:nth-child(5)::after,
  .mpa_calender_container_div table.calendar th:nth-child(5)::after {
    content: "F";
  }

  .block-availability-calender .calendar th:nth-child(6)::after,
  .mpa_calender_container_div table.calendar th:nth-child(6)::after {
    content: "S";
  }

  .block-availability-calender .calendar th:nth-child(7)::after,
  .mpa_calender_container_div table.calendar th:nth-child(7)::after {
    content: "S";
  }

  .block-availability-calender .mpa-slot-calender-container table.calendar thead th,
  .mpa_calender_container_div .mpa-calender-container table.calendar thead th {
    font-size: 0 !important;
    /* Hide original text */
  }

  .block-availability-calender .calendar th::after,
  .mpa_calender_container_div .mpa-calender-container table.calendar thead th::after {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
  }

  .block-availability-calender .calendar td {
    height: 65px;
    padding: 0;
    position: relative;
  }

  .block-availability-calender table.calendar td p.day-notation {
    padding: 4px 6px;
    font-size: 13px;
    line-height: 1.2;
  }

  .block-availability-calender .available_slots {
    bottom: 2px;
    left: 2px;
    right: 2px;
    font-size: 9px;
    padding: 2px 4px;
    border-radius: 3px;
    line-height: 1.3;
  }
}

@media (max-width: 480px) {
  .block-availability-calender {
    padding: 8px;
    margin: 4px;
    flex-direction: column;
  }

  .block-availability-calender label.calender_month_filter_label {
    max-width: 100% !important;
    justify-content: center;
  }

  .block-availability-calender label.calender_month_filter_label select {
    width: auto;
  }

  .block-availability-calender .calendar td {
    height: 55px;
  }

  .block-availability-calender table.calendar td p.day-notation {
    padding: 3px 4px;
    font-size: 12px;
  }

  .block-availability-calender .available_slots {
    font-size: 8px;
    padding: 1px 3px;
  }

  .block-availability-calender .calendar th {
    padding: 6px 2px;
  }

  .block-availability-calender .calendar th::after {
    font-size: 11px;
  }
}

/*Block Availability Modal Start*/

.Slot-Modal {
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  animation: fadeIn 0.3s ease-out;
}

.Slot-Modal .modal-content {
  background-color: #ffffff;
  margin: auto;
  padding: 0;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  width: 90%;
  max-width: 500px;
  max-height: 85vh;
  overflow: hidden;
  animation: slideUp 0.3s ease-out;
}

.Slot-Modal .appointment-details-modal-header {
  background: linear-gradient(135deg, #00d4b1 0%, #099f87 100%);
  color: white;
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  line-height: 1;
}

.Slot-Modal .appointment-details-modal-header span#closeModalBtn {
  font-size: 16px !important;
}

.Slot-Modal .appointment-details-modal-heading {
  font-size: 18px;
  font-weight: 400;
  margin: 0;
  line-height: 1.3;
}

.Slot-Modal .details-modal-close {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 16px;
}

.Slot-Modal .details-modal-close:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.05);
}

.Slot-Modal .appointment-details-modal-body {
  padding: 16px;
  max-height: calc(85vh - 80px);
  overflow-y: auto;
}

.slots-container {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  -webkit-box-pack: center;
  justify-content: start;
  width: 100%;
}

.Slot-Modal .slots-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
  gap: 8px;
  margin: 0 !important;
}

.slots-button {
  font-weight: 500;
  overflow: hidden;
  word-break: break-word;
  font-size: 12px;
  color: rgb(17, 17, 17);
  border: 1px solid #099f87 !important;
  background-color: rgb(255, 255, 255);
  box-shadow: rgba(1, 86, 249, 0.2) 0px 5px 12px -3px;
  transition: box-shadow 0.1s ease-in, transform 0.1s ease-in;
  margin: 0px 5px 10px;
  padding: 8px;
  border-radius: 6px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: all .3s;
  text-transform: capitalize;
}

.slots-button:hover,
.slots-button:focus {
  box-shadow: rgba(1, 86, 249, 0.1) 0px 5px 12px -3px;
  /*transform: scale(1.05);*/
  transition: all .3s;
  background-color: #ffffff;
  color: #111;
}

.Slot-Modal .slots-button {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #374151;
  padding: 12px 8px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  margin: 0 !important;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.Slot-Modal .slots-button:hover {
  background: #e0e7ff;
  border-color: #c7d2fe;
  color: #3730a3;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.15);
}

.Slot-Modal .slots-button:active {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(99, 102, 241, 0.2);
}

.Slot-Modal .slots-button.selected {
  background: #4f46e5;
  border-color: #4f46e5;
  color: white;
  box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}

.Slot-Modal .slots-button.selected:hover {
  background: #4338ca;
  border-color: #4338ca;
}

.Slot-Modal #slotAjaxStatus {
  margin-top: 20px !important;
  padding: 12px;
  border-radius: 8px;
  font-size: 14px;
  text-align: center;
  display: none;
}

.Slot-Modal #slotAjaxStatus.loading {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fcd34d;
  display: block;
}

.Slot-Modal #slotAjaxStatus.success {
  background: #d1fae5;
  color: #065f46;
  border: 1px solid #34d399;
  display: block;
}

.Slot-Modal #slotAjaxStatus.error {
  background: #fee2e2;
  color: #991b1b;
  border: 1px solid #fca5a5;
  display: block;
}

.Slot-Modal .slots-button:disabled,
.Slot-Modal .slots-button[disabled] {
  background: #f1f5f9;
  border-color: #e2e8f0;
  color: #94a3b8;
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  transform: none;
  box-shadow: none;
}

.Slot-Modal .slots-button:disabled:hover,
.Slot-Modal .slots-button[disabled]:hover {
  background: #f1f5f9;
  border-color: #e2e8f0;
  color: #94a3b8;
  transform: none;
  box-shadow: none;
}

.Slot-Modal .slots-button:disabled s,
.Slot-Modal .slots-button[disabled] s {
  text-decoration: line-through;
  text-decoration-color: #ef4444;
  text-decoration-thickness: 2px;
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .Slot-Modal .modal-content {
    margin: 10% auto;
    width: 95%;
    max-height: 80vh;
  }

  .Slot-Modal .appointment-details-modal-header {
    padding: 16px 20px;
  }

  .Slot-Modal .appointment-details-modal-heading {
    font-size: 16px;
  }

  .Slot-Modal .appointment-details-modal-body {
    padding: 20px;
  }

  .Slot-Modal .slots-container {
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
    gap: 6px;
  }

  .Slot-Modal .slots-button {
    padding: 10px 6px;
    font-size: 13px;
    min-height: 40px;
  }
}

@media (max-width: 480px) {
  .Slot-Modal .modal-content {
    margin: 15% auto;
    width: 98%;
  }

  .Slot-Modal .appointment-details-modal-header {
    padding: 14px 16px;
  }

  .Slot-Modal .appointment-details-modal-body {
    padding: 16px;
  }

  .Slot-Modal .slots-container {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }

  .Slot-Modal .slots-button {
    font-size: 12px;
    padding: 8px 4px;
    min-height: 36px;
  }
}

/*Block Availability Modal End*/
.google_set_guide .e-con-inner img {
  width: 100% !important;
}

/* Analytics page Start */

#analytics-loader-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: all;
}

.analytics-spinner {
  border: 6px solid #f3f3f3;
  border-top: 6px solid #00d4b1 !important;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: analyticsSpin 1s linear infinite;
}

@keyframes analyticsSpin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

#appointment-analytics-wrapper.loading {
  pointer-events: none;
  opacity: 0.5;
}

#appointment-analytics-wrapper {
  background: #ffffff;
  padding: 2rem;
  border-radius: 12px;
  /*max-width: 800px;*/
  /* margin: 30px auto; */
  /*box-shadow: 0 5px 15px rgba(0,0,0,0.1);*/
  position: relative;
  font-family: "Segoe UI", sans-serif;
}

#appointment-analytics-wrapper h3 {
  margin-bottom: 1.5rem;
  text-align: left;
  font-weight: 400 !important;
  margin-top: 0;
  font-size: 22px;
}

#appointment-analytics-wrapper label,
#appointment-analytics-wrapper select,
#appointment-analytics-wrapper input[type="date"] {
  margin: 0;
  font-size: 13px;
}

#appointment-analytics-wrapper input {
  height: 40px;
}

.analytics-select-filters {
  display: flex;
  gap: 12px;
}

.analytics-filter-container {
  display: flex;
  align-items: baseline;
  justify-content: start !important;
  gap: 12px;
}

#appointment-analytics-wrapper select,
#appointment-analytics-wrapper input[type="date"] {
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
}

#appointment-analytics-wrapper label {
  width: 100%;
  margin-bottom: 5px;
  line-height: 1;
}

#analytics-filter-btn {
  background: #3498db;
  color: white;
  border: none;
  padding: 8px 16px;
  font-weight: bold;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s ease;
  height: 40px;
  display: flex;
  align-items: center;
  line-height: 1 !important;
}

#analytics-filter-btn:hover {
  background: #2980b9;
}

#analytics-loader-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 12px;
}

.analytics-spinner {
  border: 4px solid #ccc;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

#appointment-analytics-chart {
  /*max-width: 800px;*/
  /*margin: 40px auto;*/
}

.analytics-custom-range-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  max-width: fit-content;
  column-gap: 12px;
}

@media (min-width: 992px) {
  #appointment-analytics-chart {
    max-width: 60vw;
    /*margin: 40px auto;*/
  }

  .analytics-chart-container {
    max-width: 60vw;
    margin: auto;
  }
}


@media (max-width: 460px) {

  .analytics-select-filters,
  .analytics-custom-range-container {
    flex-direction: column;
  }

  .analytics-select-filters,
  .analytics-custom-range-container {
    flex-direction: column;
    width: 100%;
    max-width: unset !important;
    align-items: end;
  }

  .analytics-custom-range-container input {
    width: 100%;
    margin-bottom: 12px !important;
  }

  .analytics-doctor-container,
  .analytics-daterange-container,
  .analytics-daterange-container input#analytics-daterange {
    width: 100%;
    text-align: left;
  }


  .litepicker[data-plugins="ranges"] .container__predefined-ranges {
    flex-wrap: wrap !important;
    width: var(--litepicker-month-width);
    flex-direction: unset !important;
  }

  .litepicker[data-plugins="ranges"] .container__predefined-ranges button {
    max-width: 86px !important;
    text-align: center !important;
    margin-bottom: 4px !important;
  }
}

.container__predefined-ranges button {
  color: #333;
}

#appointment-analytics-wrapper {
  padding: 20px;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 8px;
}

.analytics-filter-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
  justify-content: flex-start;
  margin-bottom: 20px;
}

.analytics-doctor-container,
.analytics-daterange-container {
  /*flex: 1 1 250px;*/
  min-width: 200px;
}

.analytics-doctor-container label,
.analytics-daterange-container label {
  display: block;
  margin-bottom: 5px;
  font-weight: 600;
}

.analytics-date-input {
  width: 250px;
  padding: 8px;
  box-sizing: border-box;
  font-size: 14px !important;
  border: 1px solid #cccccc;
  border-radius: 4px;
}

/* Make the chart canvas responsive */
#appointment-analytics-chart {
  width: 100% !important;
  /*max-width: 100%;*/
  height: auto !important;
}

/* Spinner Overlay */
#analytics-loader-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: 999;
  justify-content: center;
  align-items: center;
  display: none;
}

.analytics-spinner {
  width: 40px;
  height: 40px;
  border: 5px solid #ccc;
  border-top: 5px solid #3498db;
  border-radius: 50%;
  animation: spin 0.9s linear infinite;
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}

.analytics-chart-container {
  margin-top: 64px;
}

@media (max-width: 450px) {
  .admindashboarddropdown-button {
    padding: 0 !important;
    color: #fff !important;
    width: 38px;
    height: 38px;
    overflow: hidden;
  }

  .admindashboarddropdown-button span.dropDownUserProfile {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
  }
  .bottomheaderright{
    margin-right: 0 !important;
  }

  button.admindashboarddropdown-button::after {
    display: none;
  }
}

/* Make everything stack vertically on small screens */
@media (max-width: 600px) {
  .analytics-filter-container {
    /*flex-direction: column;*/
    align-items: stretch;
  }

  .analytics-date-input {
    font-size: 14px;
    text-align: center;
  }

  .litepicker {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin: auto !important;
  }
}

/* Litepicker Styles */
.litepicker[data-plugins="ranges"] {
  display: block;
  position: absolute;
  background: white;
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  font-family: "Segoe UI", sans-serif;
  font-size: 14px;
  color: #333;
  user-select: none;
  overflow: hidden;
  z-index: 9999;
}

.litepicker[data-plugins="ranges"] .container__main {
  display: flex;
  /*min-height: 350px;*/
}

.litepicker[data-plugins="ranges"] .container__predefined-ranges {
  background: #f8f9fa;
  border-right: 1px solid #e9ecef;
  padding: 16px 0;
  min-width: 140px;
  display: flex;
  flex-direction: column;
  padding: 10px;
}

.litepicker[data-plugins="ranges"] .container__predefined-ranges button {
  text-align: left !important;
  cursor: pointer !important;
  transition: all 0.2s ease;
  white-space: nowrap;
  font-weight: 500;
  color: #374151;
  background-color: #fff;
  border: 1px solid #e5e7eb;
  padding: 5px 10px !important;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 4px;
  margin: 0 0 10px !important;
}

.litepicker[data-plugins="ranges"] .container__predefined-ranges button:hover {
  background: #E0F7FA;
  color: #212529;
  border-color: #c8ccd5;
  opacity: 1 !important;
}

.litepicker[data-plugins="ranges"] .container__predefined-ranges button:focus {
  outline: none;
  background: #dee2e6;
}

.litepicker[data-plugins="ranges"] .container__months {
  /*flex: 1;*/
  /*display: flex;*/
  /*background: white;*/
  max-width: fit-content;
}

.litepicker[data-plugins="ranges"] .container__months.columns-2 {
  box-shadow: unset !important;
}

.litepicker[data-plugins="ranges"] .month-item {
  padding: 0 !important;
}

.litepicker[data-plugins="ranges"] .month-item:last-child {
  border-right: none;
}

.litepicker[data-plugins="ranges"] .month-item-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px;
  padding: 0 8px !important;
  border-bottom: 1px solid #f1f3f4;
  background: #00d4b1;
}

.litepicker[data-plugins="ranges"] .month-item-header>div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.litepicker[data-plugins="ranges"] .month-item-name,
.litepicker[data-plugins="ranges"] .month-item-year {
  background: none;
  border: none;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background 0.2s ease;
  margin: 0 !important;
}

.litepicker[data-plugins="ranges"] .month-item-name:hover,
.litepicker[data-plugins="ranges"] .month-item-year:hover {
  background: #00d4b1 !important;
}

.litepicker[data-plugins="ranges"] .month-item-year option {
    color: #fff;
    background: #00d4b1;
}
.litepicker[data-plugins="ranges"] .month-item-year option:checked,.litepicker[data-plugins="ranges"] .month-item-year option:hover{
    background:#099f87 !important;
}

.litepicker[data-plugins="ranges"] .button-previous-month,
.litepicker[data-plugins="ranges"] .button-next-month {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.litepicker[data-plugins="ranges"] .button-previous-month:hover,
.litepicker[data-plugins="ranges"] .button-next-month:hover {
  background: #f8f9fa;
}

.litepicker[data-plugins="ranges"] .button-previous-month svg,
.litepicker[data-plugins="ranges"] .button-next-month svg {
  width: 11px;
  height: 16px;
  fill: #6c757d;
}


.litepicker[data-plugins="ranges"] .month-item-weekdays-row>div {
  text-align: center;
  font-size: 11px;
  font-weight: 500;
  color: #6c757d;
  padding: 8px 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}


.litepicker[data-plugins="ranges"] .day-item {
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer !important;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s ease !important;
  position: relative;
  color: #495057;
}

.litepicker[data-plugins="ranges"] .day-item:hover {
  background: #e3f2fd;
  color: #1976d2;
}

.litepicker[data-plugins="ranges"] .day-item.is-start-date {
  background: #099f87 !important;
  color: white;
  border-radius: 4px 0 0 4px;
}

.litepicker[data-plugins="ranges"] .day-item.is-end-date {
  background: #099f87 !important;
  color: white;
  border-radius: 0 4px 4px 0;
}

.litepicker[data-plugins="ranges"] .day-item.is-start-date.is-end-date {
  border-radius: 4px;
}

.litepicker[data-plugins="ranges"] .day-item.is-in-range {
  background: #bdeae3 !important;
  color: #099f87;
  border-radius: 0;
}

.litepicker[data-plugins="ranges"] .container__days .day-item:hover {
  color: #055b4e;
  box-shadow: inset 0 0 0 1px #099f87;
}

.litepicker[data-plugins="ranges"] .day-item:focus {
  outline: 2px solid #2196f3;
  outline-offset: -2px;
  z-index: 1;
}

.litepicker[data-plugins="ranges"] .container__tooltip {
  position: absolute;
  background: #212529;
  color: white;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 12px;
  pointer-events: none;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.litepicker[data-plugins="ranges"] .month-item-header svg path {
  fill: #fff !important;
}

.litepicker[data-plugins="ranges"] .month-item-header button:hover {
  background: #00d4b1 !important;
  cursor: pointer !important;
  transform: scale(1.01);
}


/* Mobile Styles */
@media (max-width: 768px) {
  .litepicker[data-plugins="ranges"] {
    border-radius: 0;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin: auto !important;
  }

  .litepicker[data-plugins="ranges"] .container__main {
    flex-direction: column;
    min-height: auto;
  }

  .litepicker[data-plugins="ranges"] .container__predefined-ranges {
    border-right: none;
    border-bottom: 1px solid #e9ecef;
    min-width: auto;
    padding: 12px 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 4px;
  }

  .litepicker[data-plugins="ranges"] .container__predefined-ranges button {
    padding: 6px 12px;
    font-size: 12px;
    text-align: center;
    border-radius: 4px;
  }

  .litepicker[data-plugins="ranges"] .month-item {
    padding: 12px;
    border-right: none;
    border-bottom: 1px solid #e9ecef;
  }

  .litepicker[data-plugins="ranges"] .month-item:last-child {
    border-bottom: none;
  }

  .litepicker[data-plugins="ranges"] .month-item-header {
    margin-bottom: 12px;
    padding: 0 8px !important;
  }

  .litepicker[data-plugins="ranges"] .month-item-name,
  .litepicker[data-plugins="ranges"] .month-item-year {
    font-size: 13px;
    padding: 3px 6px;
  }

  .litepicker[data-plugins="ranges"] .day-item {
    height: 36px;
    font-size: 14px;
  }

  .litepicker[data-plugins="ranges"] .month-item-weekdays-row>div {
    padding: 6px 4px;
    font-size: 10px;
  }
}

@media (max-width: 480px) {
  .litepicker[data-plugins="ranges"] .container__predefined-ranges {
    grid-template-columns: repeat(2, 1fr);
    padding: 8px;
    gap: 2px;
  }

  .litepicker[data-plugins="ranges"] .container__predefined-ranges button {
    padding: 8px 6px;
    font-size: 11px;
  }

  .litepicker[data-plugins="ranges"] .month-item {
    padding: 8px;
  }

  .litepicker[data-plugins="ranges"] .day-item {
    height: 32px;
    font-size: 12px;
  }

  .litepicker[data-plugins="ranges"] .container__main {
    max-width: fit-content;
    display: flex;
    align-items: center;
    margin: auto;
  }

  .container__months.columns-2 {
    justify-content: center;
  }
}

/* Analytics Page End */

.inChatFloatBtn svg {
  height: 18px;
  width: 18px;
  top: 0px;
  bottom: 0;
  left: 10px;
  right: 10px;
  margin: auto;
  position: absolute;
}

.inChatFloatBtn svg path {
  fill: #fff;
}

.inChatFloatBtn.active svg {
  opacity: 0;
}

.inChatFloatBtn {
  left: -7px;
}

.calendar_text {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 115px;
}

button[title="Refresh Calendar"] svg {
  width: 14px;
  margin-left: 6px;
}

button[title="Refresh Calendar"] svg path {
  fill: #fff;
}

div#refresh_button_div div {
  display: flex;
  align-items: center;
  margin: 0 !important;
}

.bottomheaderleft div.logo {
  color: #293241;
  display: flex;
  align-items: center;
  font-size: 24px;
  font-weight: 600;
  gap: .5rem;
}

.bottomheaderleft div.logo span {
  color: #00d4b1;
}

.block-availability-calender h3.appointment_calender_heading {
  text-align: left;
}

.block-availability-calender h3.appointment_calender_heading,
.block-availability-calender label.calender_month_filter_label {
  margin-bottom: 12px !important;
}

.mpa_calender_container_div.block-availability-calender {
  justify-content: space-between;
}

td.full_calendar_today {
  border: 2px solid #C8E6C9 !important;
  background: #ecffec;
}

a.view-reservation-details {
  border-radius: 6px;
}

/* NEW SUBSCRIPTION THEME */
/* Container */
.pricing .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* Button Styles */
.pricing .btn {
  display: inline-block;
  padding: 12px 28px !important;
  font-weight: 600;
  text-align: center;
  border-radius: 12px;
  transition: all 0.3s ease;
  cursor: pointer;
  border: none;
  font-size: 14px;
  line-height: 1;
}

.pricing .btn-primary {
  background-color: #00d4b1;
  color: white;
}

.pricing .btn-primary:hover {
  background-color: #00b99c;
  transform: translateY(-3px);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Section Header */
.pricing .section-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 4rem;
}

.pricing .section-tag {
  display: inline-block;
  padding: 0.5rem 1rem;
  background-color: rgba(0, 212, 177, 0.1);
  color: #00d4b1;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.pricing .section-title {
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
  color: #293241;
  font-weight: 500;
}

.pricing .section-desc {
  font-size: 1.125rem;
  color: #4a5568;
}

/* Pricing Section */
.pricing .pricing {
  padding: 100px 0;
  background-color: #eef5ff;
  position: relative;
  overflow: hidden;
}


/* Tab Controls */
.pricing-tabs {
  display: flex;
  justify-content: center;
  background-color: #E2E8F0;
  border-radius: 50px;
  max-width: 400px;
  margin: 30px auto;
  padding: 5px;
  position: relative;
  z-index: 1;
}

.pricing-tab {
  padding: 10px 30px;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
  font-size: 14px;
  color: #293241;
  text-align: center;
  flex: 1;
}

.pricing-tab.active {
  background-color: #00d4b1;
  color: white;
}

/* Pricing Cards */
.pricing-content {
  display: none;
}

.pricing-content.active {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 50px;
  position: relative;
  z-index: 0;
}

.pricing-card {
  background-color: white;
  border-radius: 16px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  flex: 1;
  min-width: 300px;
  max-width: 350px;
  transition: all 0.3s ease;
}

.pricing-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}

.pricing-header {
  padding: 30px;
  text-align: center;
  border-bottom: 1px solid #e2e8f0;
  position: relative;
}

.plan-tag {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 20px;
  color: white;
  font-weight: 600;
  font-size: 14px;
  border-radius: 0 0 12px 12px;
}

.pricing-header h3 {
  margin-top: 25px;
  font-size: 24px;
  font-weight: 600;
  color: #293241;
}

.pricing-amount {
  margin-top: 15px;
}

.price {
  font-size: 42px;
  font-weight: 700;
  color: #00d4b1;
}

.duration {
  font-size: 16px;
  color: #4a5568;
}

.pricing-features {
  padding: 30px;
}

.pricing-features ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pricing-features li {
  padding: 10px 0;
  position: relative;
  padding-left: 30px;
  color: #4a5568;
}

.feature-included::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #2c6bed;
  font-weight: bold;
}

.pricing-footer {
  padding: 30px;
  text-align: center;
  border-top: 1px solid #e2e8f0;
}

.pricing-note {
  margin-top: 15px;
  font-size: 14px;
  color: #4a5568;
}

/* Gradient backgrounds for pricing cards */
.basic-gradient {
  background: linear-gradient(135deg, #d2f4fb 0%, #bcdff4 100%);
}

.business-gradient {
  background: linear-gradient(135deg, #0075FF 0%, #0052cc 100%);
  color: white;
}

.premium-gradient {
  background: linear-gradient(135deg, #09B384 0%, #06805e 100%);
  color: white;
}

/* For cards with a dark background */
.dark-bg h3,
.dark-bg .price {
  color: white;
}

.dark-bg .duration {
  color: rgba(255, 255, 255, 0.8);
}

/* Responsive Design */
@media (max-width: 768px) {
  .pricing-content.active {
    flex-direction: column;
    align-items: center;
  }

  .pricing-card {
    max-width: 100%;
  }

  .section-title {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .section-title {
    font-size: 1.5rem;
  }

  .section-desc {
    font-size: 1rem;
  }

  .pricing-card {
    min-width: 280px;
  }
}

.pricing-card.plan_active .pricing-header::after {
  content: 'ACTIVE PLAN';
  background: #B71C1C;
  position: absolute;
  font-size: 12px;
  font-weight: 600;
  color: #fff !important;
  padding: 12px 6px;
  border-radius: 0 8px 8px 0;
  left: 0;
  bottom: 0;
  top: 0;
  width: fit-content;
  height: fit-content;
  margin: auto;
  line-height: 1;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

.wc-notice-close {
  background: #ccd0d4;
  border: none;
  padding: 2px 0px 0px 2px;
  margin-left: 10px;
  width: 24px;
  height: 24px;
  line-height: 1;
  text-align: center;
  border-radius: 50%;
  transition: background 0.2s ease-in-out;
  float: right;
}

.wc-notice-close:hover {
  background: #b0a9a9;
}

.wc-notice-close svg {
  width: 12px;
  height: 12px;
  fill: #333;
}

.rbc-event.rbc-selected.appt-details-cancelled {
  border-color: #D32F2F;
  background: #D32F2F !important;
}

.suggestions-container.timeSlot_suggestions {
  display: flex;
  flex-direction: column;
  padding: 0;
  align-items: center;
}

/* Apply grid to the slotBox, not the parent container */
div#slotBox {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: 10px;
  overflow: hidden;
  transition: max-height 0.3s ease;
  width: 100%;
}

div#slotBox button.suggestion-button {
  margin: 0px !important;
  height: 30px;
}

.suggestions-container.timeSlot_suggestions button#show-more-btn {
  margin: 0 !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  div#slotBox {
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    gap: 8px;
  }

  .auto-fold #adminmenu div.wp-menu-image {
    position: relative;
    margin-right: 2px;
  }
}

@media (max-width: 480px) {
  div#slotBox {
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    gap: 6px;
  }
}


/* calendar Like GCalander */
a.calendar_show_more_link {
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-weight: 500;
}

.rbc-event.rbc-selected .mpa-appointment-event p:first-child {
  font-weight: 400;
}

a.view-reservation-details span.sms-confirmed,
a.view-reservation-details span.zocdoc-confirmed {
  position: unset;
}

a.view-reservation-details img {
  width: 12px;
  height: 12px;
}

a.view-reservation-details p:first-child {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

/* appointment calendar popup */

/* Modal Overlay */
.aptmtModalOverlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(41, 50, 65, 0.3);
  z-index: 10000;
  opacity: 0;
  transition: opacity 0.2s ease;
}

/* First Modal */
.aptmtModalFirst {
  display: none;
  position: fixed;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(41, 50, 65, 0.12);
  z-index: 10001;
  width: 240px;
  /* max-height: calc(100vh - 240px); */
  max-height: 55vh;
  overflow: hidden;
  transform: scale(0.96);
  opacity: 0;
  transition: all 0.2s ease;
  flex-direction: column;
}

.aptmtModalFirstHeader {
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid rgba(41, 50, 65, 0.15);
  background: linear-gradient(135deg, rgba(0, 212, 177, 0.02) 0%, rgba(9, 159, 135, 0.02) 100%);
  flex-shrink: 0;
  line-height: 1;
}

.aptmtModalFirstHeaderText {
  flex: 1;
}

.aptmtModalFirstTitleGroup {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}

.aptmtModalFirstContent .rbc-event.rbc-selected .mpa-appointment-event p {
  line-height: 1.025;
}

.aptmtModalFirstIcon {
  font-size: 16px;
  width: 24px;
  height: 24px;
  background: rgba(0, 212, 177, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.aptmtModalFirstTitle {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #293241;
  line-height: 1.2;
}

.aptmtModalFirstSubtitle {
  margin: 6px 0 0 !important;
  font-size: 12px;
  color: #099f87;
  font-weight: 400;
}

.aptmtModalFirstClose {
  background: none;
  border: none;
  cursor: pointer;
  color: #293241;
  padding: 6px;
  margin: -6px -6px 0 0;
  border-radius: 50%;
  transition: all 0.15s ease;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aptmtModalFirstClose:hover {
  background-color: rgba(41, 50, 65, 0.06);
  color: #099f87;
}

.aptmtModalFirstContent {
  overflow-y: auto;
  padding: 16px;
  flex: 1;
  min-height: 0;
}

/* Details Modal - Auto Height Without Inner Scroll */
.aptmtModalDetails {
  display: none;
  position: fixed;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(41, 50, 65, 0.12);
  z-index: 10001;
  width: 420px;
  min-height: 300px;
  max-height: calc(100vh - 40px);
  overflow: hidden;
  transform: scale(0.96);
  opacity: 0;
  transition: all 0.2s ease;
  border: 1px solid rgba(0, 212, 177, 0.1);
  height: fit-content;
}

.aptmtModalDetailsHeader {
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid rgba(41, 50, 65, 0.15);
  background: linear-gradient(135deg, rgba(0, 212, 177, 0.02) 0%, rgba(9, 159, 135, 0.02) 100%);
  flex-shrink: 0;
  border-radius: 16px 16px 0 0;
  line-height: 1;
}

.aptmtModalDetailsHeaderText {
  flex: 1;
}

.aptmtModalDetailsTitleGroup {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}

.aptmtModalDetailsHeaderIcon {
  font-size: 16px;
  width: 24px;
  height: 24px;
  background: rgba(0, 212, 177, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.aptmtModalDetailsTitle {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #293241;
  line-height: 1.2;
}

.aptmtModalDetailsSubtitle {
  margin: 6px 0 0 !important;
  font-size: 12px;
  color: #099f87;
  font-weight: 400;
}

.aptmtModalDetailsClose {
  background: none;
  border: none;
  cursor: pointer;
  color: #293241;
  padding: 6px;
  margin: -6px -6px 0 0;
  border-radius: 50%;
  transition: all 0.15s ease;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aptmtModalDetailsClose:hover {
  background-color: rgba(41, 50, 65, 0.06);
  color: #099f87;
}

.aptmtModalDetailsContent {
  display: flex;
  flex-direction: column;
  overflow-y: hidden;
  position: relative;
}

/* Loading State - No Scroll */
.aptmtModalDetailsLoading {
  padding: 20px;
  background: #fff;
  display: flex;
  flex-direction: column;
}

.aptmtLoadingPlaceholder {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.aptmtPlaceholderRow {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(41, 50, 65, 0.03);
  height: 44px;
  box-sizing: border-box;
}

.aptmtPlaceholderRow:last-child {
  border-bottom: none;
}

.aptmtPlaceholderIcon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(90deg, rgba(0, 212, 177, 0.1) 25%, rgba(0, 212, 177, 0.2) 50%, rgba(0, 212, 177, 0.1) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  flex-shrink: 0;
}

.aptmtPlaceholderText {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.aptmtPlaceholderLine {
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, rgba(0, 212, 177, 0.1) 25%, rgba(0, 212, 177, 0.2) 50%, rgba(0, 212, 177, 0.1) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

.aptmtPlaceholderLine.short {
  width: 30%;
  height: 10px;
}

.aptmtPlaceholderLine.medium {
  width: 60%;
}

.aptmtPlaceholderLine.long {
  width: 85%;
}

.aptmtPlaceholderButtonArea {
  height: 44px;
  background: linear-gradient(90deg, rgba(0, 212, 177, 0.05) 25%, rgba(0, 212, 177, 0.1) 50%, rgba(0, 212, 177, 0.05) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
  margin-top: 16px;
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

/* Content Area - No Scroll, Auto Size */
.aptmtModalDetailsBody {
  padding: 8px 16px;
  overflow: visible;
  background: #fff;
}

.aptmtDetailItem {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 0;
  padding: 8px 0;
  border-bottom: 1px solid rgba(41, 50, 65, 0.15);
  min-height: 44px;
  box-sizing: border-box;
}

.aptmtDetailItem:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.aptmtDetailIcon {
  width: 28px;
  height: 28px;
  background: rgba(0, 212, 177, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.aptmtDetailContent {
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 28px;
}

.aptmtDetailLabel {
  font-size: 12px;
  color: #099f87;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  min-width: 70px;
  flex-shrink: 0;
}

.aptmtDetailValue {
  font-size: 14px;
  color: #293241;
  font-weight: 400;
  text-align: right;
  flex: 1;
  word-wrap: break-word;
  line-height: 1.4;
}

.aptmtStatusBadge {
  padding: 3px 10px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: inline-block;
}

.aptmtStatusBadge.confirmed {
  background-color: rgba(0, 212, 177, 0.15);
  color: #099f87;
}

.aptmtStatusBadge.completed {
  background-color: rgba(0, 212, 177, 0.15);
  color: #099f87;
}

.aptmtStatusBadge.cancelled {
  background-color: rgba(41, 50, 65, 0.1);
  color: #293241;
}
.booking-status-value.pending {
    background: #607d8b;
    color: #fff;
}
.booking-status-value.cancelled {
    background: #d32f2f;
    color: #fff;
}
.booking-status-value.completed {
    background: #2a952a;
    color: #fff;
}
.booking-status-value.booked {
    background: #3174ad;
    color: #fff;
}
.booking-status-value.confirmed {
    background: #fff;
    border: 1px solid #3174ad;
    color: #3174ad;
    position: relative;
    padding-left: 20px;
}
.booking-status-value.confirmed::before {
    content: "✓";
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-weight: bold;
    color:#2a952a;
    font-size: 12px;
}

/* Reservation Details */
.reservations-container {
  margin-top: 8px;
}

.reservations .aptmtDetailItem {
  margin-bottom: 6px;
  padding: 6px 0;
}

/* Actions - No Fixed Position, Natural Flow */
.aptmtModalDetailsActions {
  padding: 16px 20px 20px 20px;
  border-top: 1px solid rgba(41, 50, 65, 0.05);
  background-color: rgba(0, 212, 177, 0.01);
  border-radius: 0 0 16px 16px;
  margin-top: auto;
}

.modal_booking_icons_div {
  display: flex;
  gap: 10px;
  width: 100%;
}

.aptmtModalDetailsButton {
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.15s ease;
  flex: 1;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.aptmtModalDetailsButton.cancel {
  background-color: rgba(41, 50, 65, 0.08) !important;
  color: #293241 !important;
  border-color: rgba(41, 50, 65, 0.1);
}

.aptmtModalDetailsButton.cancel:hover {
  background-color: rgba(41, 50, 65, 0.12) !important;
  border-color: rgba(41, 50, 65, 0.2);
}

.aptmtModalDetailsButton.meet {
  background-color: #00d4b1;
  color: #fff;
  border-color: #00d4b1;
}

.aptmtModalDetailsButton.meet:hover {
  background-color: #099f87 !important;
  border-color: #099f87;
}

.aptmtModalDetailsButton.complete {
  background-color: #099f87 !important;
  color: #fff;
  border-color: #099f87 !important;
}

.aptmtModalDetailsButton.complete:hover {
  background-color: #078066 !important;
  border-color: #078066 !important;
}

.aptmtModalFirstContent .rbc-event.rbc-selected .mpa-appointment-event p:first-child {
  justify-content: center;
}

/* Responsive Design */
@media (max-width: 768px) {

  .aptmtModalFirst,
  .aptmtModalDetails {
    width: 90vw;
    max-width: 380px;
    left: 50% !important;
    transform: translateX(-50%) scale(0.96) !important;
    /* max-height: calc(100vh - 240px); */
  }

  .aptmtModalFirst {
    width: 240px;
    max-height: 50vh;
  }

  a.view-reservation-details p:first-child {
    justify-content: left;
  }

  .aptmtModalFirst.show,
  .aptmtModalDetails.show {
    transform: translateX(-50%) scale(1);
  }

  .aptmtModalFirstHeader,
  .aptmtModalDetailsHeader {
    padding: 14px 16px 10px 16px;
  }

  .aptmtModalDetailsBody {
    padding: 14px 16px 0 16px;
  }

  .aptmtModalDetailsActions {
    padding: 14px 16px 14px 16px;
  }

  .modal_booking_icons_div {
    /* flex-direction: column; */
    gap: 8px;
  }

  .modal_booking_icons_div button {
    margin: 0;
  }

  .aptmtModalDetailsButton {
    height: 36px;
  }

  .aptmtDetailContent {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    line-height: 1;
  }

  .aptmtDetailValue {
    text-align: left;
  }

  .aptmtModalDetails {
    top: 0 !important;
    bottom: 0 !important;
    margin: auto;
    max-height: calc(100vh - 16px);
  }
}


/* appointment calendar popup */

.hospital_appointment_table p.calendar_text {
  max-width: unset;
}
.modal-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    top: 0;
}

/*IVR FLOW SAFARI FIX*/
body.chatbot-enabled header {
    display: none;
}
body.chatbot-enabled footer.appointmentFooter {
    display: none;
}

.mpa-time-period.selected-slot {
    background: #099f87 !important;
    color: #ffffff !important;
    border-color: #099f87 !important;
}

.mpa-time-period.selected-slot:hover { 
    background: #099f87 !important;
    color: #ffffff !important;
    border-color: #099f87 !important;
    cursor: not-allowed;
}
.wp-core-ui .button-secondary[disabled] {
    color: #00d4b1 !important;
    border-color: #00d4b1 !important;
}
.mpa-time-period.selected-slot[disabled] {
    background: #099f87 !important;
    color: #ffffff !important;
    border-color: #099f87 !important;
    cursor: not-allowed;
}

.custom-info-box p {
	margin-bottom:5px;
	font-size:16px;
}
.custom-info-box strong {
	font-weight:500;
}

.patient-edit-booking .mpa-times-container button:hover {

  color: #fff;
}

/* multi service select css */

.suggestions-wrapper .suggestion-button.active {
    background-color: #099f87;
    color: white;
    border: 1px solid #099f87;
}
.suggestions-wrapper {
    padding-bottom: 10px;
}
.clinic_sub_categories_suggestions_container {
    display: flex;
    flex-wrap: wrap;
}
.suggestions-wrapper .confirm-button {
    padding: 8px 16px;
    background: #f5615e;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    margin: 0px 5px;
    text-transform: capitalize;
    font-weight: 400;
    letter-spacing: .3px;
    margin-top: 8px;
}
.suggestions-wrapper .confirm-button:hover {
    /* background: #218838; */
}

.clinic_sub_categories_suggestions {
    /*background-color: #dbf0e8;*/
    /*padding: 10px 10px 0px 10px;*/
    margin-bottom: 10px;
    text-align:left;
    border-radius:8px;
}

.clinic_sub_categories_suggestions_container .show-more-button {
    text-transform: capitalize;
    font-weight: 500;
    overflow: hidden;
    word-break: break-word;
    color: #ffffff !important;
    background-color: #055b4e !important;
    margin: 0px 5px 10px;
    padding: 8px !important;
    border-radius: 6px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transition: all .3s;
    font-size: 13px !important;
    border: 1px solid #055b4e !important;
    width: fit-content;
    margin-left: 0;
    font-weight: 400 !important;
}

/* multi service select css */
@media (max-width: 500px) {
  .Slot-Modal .modal-content {
    margin: 16px auto;
  }
  #appointment-analytics-chart{
      width:auto !important;
  }
}
div#refresh_button_div button[disabled] {
    color: #00d4b1;
}
div#refresh_button_div button[disabled] svg path {
    fill: #00d4b1;
}
div#calendarLoader {
    position: relative;
    right: 50px;
}
span#sharedLastRefreshedTime {
    font-size: 16px;
}
div#aptmtModalDetailsBody {
    max-height: calc(100vh - 145px);
    overflow: auto;
}
@media (max-height: 700px) {
    .aptmtModalDetailsContent{
        max-height: calc(100vh - 170px);
    }
}
@media (max-width: 370px) {
   .mpa-calender-container table.calendar td p.day-notation{
       padding:0 !important;
   } 
}
@media (max-width: 360px) {
  .bottomheaderleft div.logo {
    font-size: 20px;
    gap: .25rem;
  }
  .bottomheaderleft div.logo svg {
    height: 32px;
    width: 32px;
  }
  .bottomheaderright {
    gap: 1rem;
  }
  body:has(.doctor-login-register) .bottomheaderright a:last-child {
    padding: 6px 8px;
  }
  .bottomheaderright a {
    font-size: 14px !important;
  }
}


#consent-agree {
    background-color: #ffffff !important;
    color: #099f87 !important;
    border: 1px solid #099f87;
    padding: 8px !important;
    line-height: 1;
    border-radius: 6px;
    font-weight: 600;
    font-size: 12px;
    cursor: pointer;
    margin-right: 10px;
}


#consent-cancel {
    margin-right: 16px;
    background-color: #FFFFFF;
    border: 1px solid #E53935 !important;
    color: #E53935 !important;
    padding: 8px !important;
    line-height: 1;
    border-radius: 6px;
    font-weight: 600;
    font-size: 12px;
    cursor: pointer;
}

body.pmpro-login:has(.doctor-login-register) article {
    position: unset !important;
}

body.pmpro-login:has(.doctor-login-register) article .woocommerce-notices-wrapper {
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
    margin: auto;
}

div.login-register-container .wc-block-components-notice-banner {
    position: relative;
}

div.login-register-container .wc-block-components-notice-banner button.wc-notice-close {
    position: absolute;
    top: -8px;
    right: -8px;
    margin: 0;
    background: #E0E0E0;
}

div.login-register-container .wc-block-components-notice-banner button.wc-notice-close svg {
    fill: #C62828;
    width: 14px;
    height: 14px;
}
/* Glow Alert Animation */
.glow-alert {
    animation: pulse-glow 2s infinite;
}

@keyframes pulse-glow {
    0% {
        box-shadow: 0 8px 25px rgba(211, 47, 47, 0.4), 0 0 0 0 rgba(211, 47, 47, 0.7);
        transform: scale(1);
    }
    70% {
        box-shadow: 0 8px 25px rgba(211, 47, 47, 0.4), 0 0 0 10px rgba(211, 47, 47, 0);
        transform: scale(1.02);
    }
    100% {
        box-shadow: 0 8px 25px rgba(211, 47, 47, 0.4), 0 0 0 0 rgba(211, 47, 47, 0);
        transform: scale(1);
    }
}
#wpadminbar {
	display:none !important;
}
.rbc-event-icon-added {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
}
.rbc-event-icon-added .mpa_icon_div img, .rbc-event-icon-added .mpa_icon_div span {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
}
.rbc-event-icon-added .mpa_icon_div {
    position: absolute;
    left: 10px;
}
.aptmtModalFirstContent .rbc-event-icon-added {
    position: relative;
}
.aptmtModalFirstContent .rbc-event-icon-added .mpa_icon_div {
    left: 0;
}
/* Modal Dialog Container */
.ui-dialog {
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
    padding: 0 !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}

/* Title Bar */
.ui-dialog-titlebar {
    background: white !important;
    border: none !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding: 16px !important;
    border-radius: 12px 12px 0 0 !important;
}

.ui-dialog-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
}

/* Close Button */
.ui-dialog-titlebar-close {
    display: none !important;
}

/* Dialog Content */
.ui-dialog-content {
    padding: 16px !important;
    background: white !important;
}

.ui-dialog-content p {
    font-size: 16px !important;
    color: #374151 !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.5 !important;
    font-weight:500;
}

/* Checkbox Container */
.ui-dialog-content > div > div {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

/* Checkbox Styling */
#no_show_checkbox {
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
    border: 2px solid #d1d5db !important;
    border-radius: 4px !important;
    margin: 0 !important;
    accent-color: #10b981 !important;
}

#no_show_checkbox:checked {
    background-color: #10b981 !important;
}

/* Checkbox Label */
label[for="no_show_checkbox"] {
    font-size: 14px !important;
    color: #4b5563 !important;
    cursor: pointer !important;
    margin: 0 !important;
    user-select: none !important;
}

/* Button Pane */
.ui-dialog-buttonpane {
    background: white !important;
    border: none !important;
    border-top: 1px solid #e5e7eb !important;
    padding: 16px !important;
    border-radius: 0 0 12px 12px !important;
}

.ui-dialog-buttonset {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 12px !important;
}

/* Buttons */
.ui-dialog-buttonset .ui-button {
    border: none !important;
    padding: 10px 24px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* YES Button (Primary) */
.ui-dialog-buttonset .ui-button:first-child {
    background: #14b8a6 !important;
    color: white !important;
}

.ui-dialog-buttonset .ui-button:first-child:hover {
    background: #0d9488 !important;
    box-shadow: 0 2px 8px rgba(20, 184, 166, 0.3) !important;
}

/* NO Button (Secondary) */
.ui-dialog-buttonset .ui-button:last-child {
    background: white !important;
    color: #14b8a6 !important;
    border: 1.5px solid #14b8a6 !important;
}

.ui-dialog-buttonset .ui-button:last-child:hover {
    background: #f0fdfa !important;
    border-color: #0d9488 !important;
    color: #0d9488 !important;
}

/* Focus States */
.ui-dialog-buttonset .ui-button:focus {
    outline: 2px solid #14b8a6 !important;
    outline-offset: 2px !important;
}

/* Overlay */
.ui-widget-overlay {
    background: rgba(0, 0, 0, 0.5) !important;
    opacity: 1 !important;
}

/* Remove default jQuery UI styles */
.ui-dialog .ui-widget-header {
    background: none !important;
}

.ui-dialog .ui-widget-content {
    background: none !important;
    border: none !important;
}
.ui-dialog .ui-dialog-buttonpane.ui-widget-content {
    padding-top: 0 !important;
}
.slotahead_icon_svg {
    height: 34px;
}
.slotahead_icon_svg path.cls-1 {
    fill: #293241;
}
#ocr-error-message-text {
    margin-bottom: 0px;
    text-align: center;
    font-size: 18px;
    color: #d20b0b;
}
.pmpro_checkout_gateway-stripe .pmpro_checkout .pmpro_checkout-field label span {
    color: red;
    margin-left: 1px;
}
div#pmpro_payment_information_fields .pmpro_checkout-fields {
    display: flex !important;
}
.stripe-payment-wrapper .payment-fields-group {
    flex-direction: row;
}
/* Layout Structure Only - No Visual Styling */

.stripe-payment-wrapper {
    width: 100%;
    margin: 0 !important;
}

/* Payment Fields Group */
.payment-fields-group {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

/* Two Column Row for Expiry and CVV */
.payment-fields-row {
    display: flex;
    gap: 1rem;
}

.payment-fields-row > .pmpro_checkout-field {
    flex: 1;
    min-width: 0;
}

/* Discount Code Group */
.discount-code-group {
    margin-top: 1.5rem;
}

.discount-code-input-group {
    display: flex;
    gap: 0.75rem;
    align-items: stretch;
}

.discount-code-input-group input {
    flex: 1;
    min-width: 0;
}

.discount-code-button {
    flex-shrink: 0;
    white-space: nowrap;
}

/* Responsive - Stack on Mobile Only */
@media screen and (max-width: 767px) {
    .payment-fields-row {
        flex-direction: column;
    }
    
    .discount-code-input-group {
        flex-direction: column;
    }
    
    .discount-code-button {
        width: 100%;
    }
    .stripe-payment-wrapper .pmpro_checkout-field.pmpro_payment-expiration, .stripe-payment-wrapper .pmpro_checkout-field.pmpro_payment-cvv {
        max-width: 130px !important;
        display: block !important;
    }
    form#pmpro_form .pmpro_submit input#pmpro_btn-submit {
      margin-bottom: 0 !important;
    }
}

/* Utility for Required Indicator */
.required {
    color: inherit;
    margin-left: 0.25rem;
}
.stripe-payment-wrapper .pmpro_checkout-field.pmpro_payment-account-number {
    max-width: 270px !important;
    width: 100% !important;
}
.stripe-payment-wrapper .pmpro_checkout-field.pmpro_payment-expiration, .stripe-payment-wrapper .pmpro_checkout-field.pmpro_payment-cvv {
    max-width: 160px !important;
    display: block !important;
}
.stripe-payment-wrapper .payment-fields-group {
    margin: 0 !important;
}
body.post-type-mpa_location input#title {
    width: 75% !important;
}
@media screen and (max-width: 600px) {
    .stripe-payment-wrapper .payment-fields-group {
        flex-wrap: wrap;
    }
    .stripe-payment-wrapper .pmpro_checkout-field.pmpro_payment-account-number {
        width: 100% !important;
        max-width: 100% !important;
    }
    .stripe-payment-wrapper .pmpro_checkout-field.pmpro_payment-expiration, .stripe-payment-wrapper .pmpro_checkout-field.pmpro_payment-cvv {
      max-width: 106px !important;
      display: block !important;
  }
  body.post-type-mpa_location input#title {
    width: 100% !important;
  }
}

/* Azure Login Start*/
.azure_ad_login_div a {
    display: flex !important;
    align-items: center;
    min-width: 100% !important;
    background-color: #0078D4 !important;
    padding: 8px;
    border-radius: 4px;
    justify-content: center;
    flex-direction: row-reverse;
    height: 44px;
    gap: 8px;
}
.mpa-account-login-register-form #loginform .azure_ad_login_div input[type="button"] {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: unset !important;
    width: fit-content !important;
    height: fit-content !important;
    line-height: 1 !important;
}
.azure_ad_login_div a svg {
    width: 24px;
}
.azure_ad_login_div p {
    line-height: 1;
}

.azure_ad_login_div input {
    max-width: unset !important;
    width: 100% !important;
    background-color: #0078D4 !important;
    padding-bottom: 30px;
    font-size: 1.3rem !important;
    font-weight: 500;
}
.azure_login_div p.woocommerce-sign_up.sign_up {
    justify-content: center;
}
/* Azure Login End*/
#contactModal h3{
    font-weight: 400 !important;
    margin-top: 0;
    font-size: 24px !important;
}
#contactModal h3::after{
    margin: 8px auto 24px !important;
}

.invoiceContainer span#pmpro_submit_span {
   display: flex;
    gap: 20px;
    justify-content: center;
}

.invoiceContainer .invoiceDivPrint {
   margin-top: 0px !important;
   margin: 0px !important;
}

.invoiceContainer span#pmpro_submit_span a {
    height: 44px !important;
}