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

/* Sidebar WIDGET and share popup */
/* ============================================
   FLOATING SIDEBAR WIDGET - WordPress
   Fixed right center, hover to expand labels
   ============================================ */

#floating-sidebar {
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  padding: 6px 0;
  z-index: 99999;
}

/* Each item wrapper */
.fsw-item {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
}

/* The label that slides in on hover */
.fsw-label {
  background: #ffffff;
  color: #1a1a2e;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.3px;
  padding: 0 14px 0 16px;
  height: 44px;
  line-height: 44px;
  white-space: nowrap;
  border-radius: 4px 0 0 4px;
  box-shadow: -3px 2px 10px rgba(0, 0, 0, 0.15);
  /* Hidden by default */
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  /* Smooth slide animation */
  transition:
    max-width 0.38s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

/* The icon button */
.fsw-icon {
  background: #7990bd;
  border-radius: 4px 0 0 4px;
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  flex-shrink: 0;
  position: relative;
  transition:
    background 0.22s ease,
    transform 0.22s ease;
  height: 44px;
  width: 44px;
}

.fsw-icon svg {
  fill: #ffffff;
  transition: transform 0.22s ease;
  height: 20px;
  width: 20px;
}

/* Hover state on the item */
.fsw-item:hover .fsw-label {
  max-width: 200px;
  opacity: 1;
  pointer-events: auto;
}

.fsw-item:hover .fsw-icon {
  background: #5a6f9e;
}

.fsw-item:hover .fsw-icon svg {
  transform: scale(1.12);
}

/* Mobile: hide labels completely, show only icons */
@media (max-width: 600px) {
  .fsw-icon {
    border-radius: 4px 0 0 4px;
    height: 40px;
    width: 40px;
  }
  #floating-sidebar {
    gap: 3px;
  }
}

/* ============================================
   SHARE POPUP MODAL
   ============================================ */
/* Overlay / backdrop */
#fsw-share-overlay {
  background: rgba(0, 0, 0, 0.52);
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  inset: 0;
  /* Hidden by default */
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.28s ease,
    visibility 0.28s ease;
  z-index: 9999999;
}

#fsw-share-overlay.fsw-active {
  opacity: 1;
  visibility: visible;
}

/* Popup card */
#fsw-share-popup {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.24);
  display: flex;
  flex-direction: column;
  align-items: center;
  max-height: calc(100vh - 50px);
  overflow-y: auto;
  padding: 36px 44px 40px;
  position: relative;
  /* Slide-up + scale entrance */
  transform: translateY(28px) scale(0.96);
  transition: transform 0.32s cubic-bezier(0.34, 1.46, 0.64, 1);
  width: 210px;
}

#fsw-share-overlay.fsw-active #fsw-share-popup {
  transform: translateY(0) scale(1);
}

/* "Share On:" heading — italic serif, blue, matching the image */
#fsw-share-popup h3 {
  color: #4a7fc1;
  font-size: 22px;
  font-style: italic;
  font-weight: 400;
  margin: 0 0 24px 0;
  text-align: center;
  letter-spacing: 0.4px;
}

/* Close × button */
#fsw-share-close {
  background: none;
  border: none;
  cursor: pointer;
  color: #aaaaaa;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 10px;
  right: 12px;
  padding: 0;
  transition:
    color 0.18s ease,
    transform 0.22s ease;
  height: 30px;
  width: 30px;
  z-index: 1;
}

#fsw-share-close:hover {
  color: #333333;
  transform: rotate(90deg);
}

/* Social icons list */
#fsw-share-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

/* Each social link circle */
.fsw-share-link {
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition:
    transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.22s ease;
  height: 54px;
  width: 54px;
}

.fsw-share-link:hover {
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.24);
  transform: scale(1.14);
}

.fsw-share-link svg {
  display: block;
  fill: #ffffff;
  height: 26px;
  width: 26px;
}

/* Brand colours — exactly matching the image */
.fsw-share-link[data-net="email"] {
  background: #777777;
}
.fsw-share-link[data-net="facebook"] {
  background: #1877f2;
}
.fsw-share-link[data-net="tumblr"] {
  background: #35465c;
}
.fsw-share-link[data-net="linkedin"] {
  background: #0a66c2;
}
.fsw-share-link[data-net="twitter"] {
  background: #000000;
}
.fsw-share-link[data-net="reddit"] {
  background: #ff4500;
}
.fsw-share-link[data-net="pinterest"] {
  background: #e60023;
}

/* Staggered pop-in for each icon when overlay opens */
#fsw-share-overlay.fsw-active .fsw-share-link {
  animation: fswIconPop 0.38s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
#fsw-share-overlay.fsw-active .fsw-share-link:nth-child(1) {
  animation-delay: 0.08s;
}
#fsw-share-overlay.fsw-active .fsw-share-link:nth-child(2) {
  animation-delay: 0.14s;
}
#fsw-share-overlay.fsw-active .fsw-share-link:nth-child(3) {
  animation-delay: 0.2s;
}
#fsw-share-overlay.fsw-active .fsw-share-link:nth-child(4) {
  animation-delay: 0.26s;
}
#fsw-share-overlay.fsw-active .fsw-share-link:nth-child(5) {
  animation-delay: 0.32s;
}
#fsw-share-overlay.fsw-active .fsw-share-link:nth-child(6) {
  animation-delay: 0.38s;
}
#fsw-share-overlay.fsw-active .fsw-share-link:nth-child(7) {
  animation-delay: 0.44s;
}

@keyframes fswIconPop {
  from {
    opacity: 0;
    transform: scale(0.4);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Mobile adjustments */
@media (max-width: 480px) {
  #fsw-share-popup {
    width: 170px;
    padding: 30px 30px 34px;
  }
  .fsw-share-link {
    width: 48px;
    height: 48px;
  }
  .fsw-share-link svg {
    width: 22px;
    height: 22px;
  }
}

/**** Header ****/
nav.site-navigation ul.main-header-menu {
  justify-content: center;
  padding: 5px 0;
}
.ast-desktop .ast-below-header-bar .main-header-menu > .menu-item {
  line-height: 40px;
}
.main-navigation ul.sub-menu {
  padding: 10px;
}
.main-navigation ul.sub-menu li a {
  color: var(--ast-global-color-3) !important;
  transition: 0.3s all ease;
}
.main-navigation li.current-menu-item a {
  color: var(--ast-global-color-3) !important;
}
.main-navigation ul.sub-menu li a:hover{
    color: var(--ast-global-color-2) !important;
}
ul.sub-menu li.current-menu-item a {
  color: var(--ast-global-color-3) !important;
}
header .reviews-header .rating {
  font-size: 20px !important;
}
header .headerWidget .reviews-header .fdn-rating {
  font-size: 25px;
}

/* review */
.single-review .review {
  color: var(--ast-global-color-4);
  width: 100%;
}
#reviews .button {
  border-radius: 50px;
  background-color: transparent;
  display: inline-block;
  padding: 0;
}
#reviews .button a {
  background-color: var(--ast-global-color-2);
  border-radius: 50px;
  color: var(--ast-global-color-4);
  display: inline-block;
  text-decoration: none;
  padding: 15px 30px;
}
#reviews .button a:hover {
  background-color: #CEA675;
  color: var(--ast-global-color-3);
}

/**** Footer ****/
.site-footer .site-above-footer-inner-wrap {
  max-width: 1120px !important;
}
footer h4 {
  border-bottom: 2px solid var(--ast-global-color-2);
  display: inline-block;
}
footer a {
  color: var(--ast-global-color-3);
}
footer a:hover {
  color: var(--ast-global-color-2);
}
.hour-table table,
.hour-table table td {
  border: none;
}
.hour-table table td {
  padding: 0 0 8px 0 !important;
  color: var(--ast-global-color-3);
}
.hour-table table tbody tr:last-child td {
  padding: 0 !important;
}
footer h4,
.sidebar h3 {
  border-bottom: 2px solid var(--ast-global-color-2);
  display: inline-block;
}
footer a:hover {
  color: var(--ast-global-color-2);
}
footer .wp-social-link a,
footer .wp-block-social-links svg {
  display: block;
}
footer ul.wp-block-social-links {
  gap: 7px;
}
footer .widget_nav_menu ul li {
  margin-bottom: 5px;
}
footer .wp-block-social-links li:hover svg path {
  fill: var(--ast-global-color-2) !important;
}

/**** Sidebar ****/
.elementor-widget-sidebar {
  background-color: var(--ast-global-color-5);
  border-radius: 10px 10px 0 0;
  padding: 20px;
}
#recentReviewsWidget {
  margin-top: -20px;
}
.elementor-widget-sidebar .wp-block-heading {
  color: var(--ast-global-color-3);
  margin-bottom: 0;
}
.elementor-widget-sidebar #reviews .fdn-star-on-png,
#reviews .fdn-star-off-png {
  color: var(--ast-global-color-3);
  font-size: 18px;
}
.elementor-widget-sidebar .comment {
  font-size: 15px;
}
.elementor-widget-sidebar .single-review .review {
  border-color: var(--ast-global-color-2);
}
.elementor-widget-sidebar .wp-block-group {
  background-color: #eee;
  border-radius: 10px;
  margin-top: 40px;
  padding: 20px;
}
.elementor-widget-sidebar .wp-block-group p {
  margin: 10px;
}
.elementor-widget-sidebar .wp-block-group p > em {
  font-size: 14px;
}
.elementor-widget-sidebar .wp-block-group p a {
  color: var(--e-global-color-astglobalcolor8);
  text-decoration: none;
}
.elementor-widget-sidebar .meta .time {
  font-weight: 600;
}
.elementor-widget-sidebar .review {
  color: var(--ast-global-color-3);
}
.elementor-widget-sidebar .review .fdn-star-on-png {
  color: #ffc834 !important;
}
.elementor-widget-sidebar .single-review .name{
  font-size: 17px;
  font-weight: 600;
}
a.elementor-button .elementor-button-icon svg {
  transition: all .3s;
}
a.elementor-button:hover .elementor-button-icon svg {
  fill: var(--ast-global-color-3);
}
#reviews > div.single-review:nth-of-type(2) .review {
  border-bottom: none;
	padding-bottom: 0;
}


/* Media Screen */
@media screen and (min-width: 922px) {
  .main-navigation ul.sub-menu li a {
    padding: 10px 10px !important;
  }
}
@media screen and (max-width: 921px) {
  .ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle {
    box-shadow: none;
    top: 2px;
    right: 10px;
    outline: none;
  }
}
