/*
Theme Name: Seo
Theme URI: 
Author: Seo
Author URI: 
Description: Русскоязычная тема Wordpress для создания любых типов сайтов. Удобный конструктор сайтов при поддержке Gutenberg. Простое создание одностраничных сайтов и продающих landing page. Оптимизированная загрузка страниц.
Version: 1.0
Tested up to: 5.8.1
Requires PHP: 7.0
License: MIT License
License URI: https://github.com/crftwrk/raviol/blob/main/LICENSE
Text Domain: raviol
Tags: landing page, woocommerce, конструктор страниц
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.  Temporary
2.  Header
3.  Body
4.  Alerts
5.  Breadcrumb
6.  To Top Button
7.  Single Post
8.  Comments
9. Archive
10. Widgets
11. Utilities
12. Colors
13. HTML Markups (Theme Unit Test Data)
14. Icons
15. Woocommerce
16. Animations
--------------------------------------------------------------*/

/*--------------------------------------------------------------
1. Temporary
--------------------------------------------------------------*/

/* scroll-behaviour: smooth not supportet by Safari. 
jQuery smooth scroll script will be removed when Safari supports it */
html {
  scroll-behavior: auto !important;
}

/* Checks, select and form-range fix for webkit browsers. Doesn't compile correctly? */
.form-check-input, .form-select, .form-range {
  -webkit-appearance: none;
  -moz-appearance: none;
}

.form-range::-webkit-slider-thumb {
  -webkit-appearance: none;
}

/*
Remove autop (WP 5.7 bug near shortcode)
https://wordpress.org/support/topic/how-to-stop-wp-from-adding-p-tag-automatically/
*/
p:empty:before {
  content: none;
}

/* To Top Button Fallback (done by classes) */
.top-button {
  position: fixed;
  z-index: 1020;
}

/* Dropdown Search (replaced by Collapse component in 5.1.0.0. Fallback to old headers) */
@media (max-width: 782px) {
  .logged-in.admin-bar .dropdown-search {
    top: 100px !important;
  }
}

@media (min-width: 783px) {
  .logged-in.admin-bar .dropdown-search {
    top: 86px !important;
  }
}

.dropdown-search.dropdown-menu[data-bs-popper] {
  top: 54px;
}

.dropdown-search .searchform {
  opacity: 0;
  transition: opacity 0.8s;
  transition-delay: 0.3s;
}

.dropdown-search.show .searchform {
  opacity: 1;
}

@media (max-width: 991px) {
  .btn-dropdown.right {
    padding-right: 0;
    border: none;
  }

  #dropdown-search:hover {
    color: currentColor;
    background-color: transparent;
    border-color: transparent;
  }

  #dropdown-search:focus {
    box-shadow: none;
  }
}
/* Dropdown Search Fallback End */

/* Offcanvas Backdrop */
.offcanvas-backdrop.fade {
  transition: opacity 0.4s ease-in-out;
}

.offcanvas-backdrop {
  cursor: pointer;
}


.offcanvas-header {
    height: 96px;
}
/* Offcanvas Backdrop END */

/*--------------------------------------------------------------
2. Header
--------------------------------------------------------------*/

@media (max-width: 782px) {
  #wpadminbar {
    position: fixed;
  }

  .logged-in.admin-bar .fixed-top,
  .logged-in.admin-bar .offcanvas:not(.offcanvas-bottom),
  .logged-in.admin-bar .modal {
    top: 46px;
  }

  .logged-in.admin-bar .modal-fullscreen {
    height: calc(100% - 46px);
  }
}

@media (min-width: 783px) {
  .logged-in.admin-bar .fixed-top,
  .logged-in.admin-bar .offcanvas:not(.offcanvas-bottom),
  .logged-in.admin-bar .modal {
    top: 32px;
  }

  .logged-in.admin-bar .modal-fullscreen {
    height: calc(100% - 32px);
  }
  .quick-search {
	width: 350px;
	-webkit-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
	}
.dropdown-menu[style] {
    display: block!important;
	height:auto;
}
}

#nav-main .menu-item:last-child .nav-link {
  padding-right: 0;
}

/* search form */
.nav-search > .dropdown-toggle:after {
	content: none;
}

.nav-search > .dropdown-menu {
	right: 0;
}

/* .dropdown-menu.dropdown-menu-anim-up {
    -webkit-animation: animation-dropdown-menu-fade-in .3s ease 1,animation-dropdown-menu-move-up .3s ease-out 1;
    animation: animation-dropdown-menu-fade-in .3s ease 1,animation-dropdown-menu-move-up .3s ease-out 1;
}

@-webkit-keyframes animation-dropdown-menu-fade-in{
	from{opacity:0}to{opacity:1}
	}
	
@keyframes animation-dropdown-menu-fade-in{
	from{opacity:0}to{opacity:1}
	}
@-webkit-keyframes animation-dropdown-menu-move-down{
	from{margin-top:10px}to{margin-top:0}
	}
@keyframes animation-dropdown-menu-move-down{
	from{margin-top:10px}to{margin-top:0}
	}
@-webkit-keyframes animation-dropdown-menu-move-up{
	from{margin-top:10px}to{margin-top:0}
	}
@keyframes animation-dropdown-menu-move-up{
	from{margin-top:10px}to{margin-top:0}
	} */

.dropdown-menu-anim-up {
	border-radius: .75rem;
}

.quick-search.quick-search-dropdown {
    padding: 1rem 1.5rem!important;
}

.quick-search .quick-search-form {
    padding: 0;
	margin:0;
}

.quick-search .quick-search-form .input-group-append, .quick-search .quick-search-form .input-group-prepend {
    background-color: transparent;
}

.input-group-prepend {
    margin-right: -1px;
}
.input-group-append, .input-group-prepend {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.quick-search .quick-search-form .form-control {
    border: 0;
    background-color: transparent;
    outline: 0!important;
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: transparent;
    padding-left: 0;
    padding-right: 0;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    padding: 0;
	
    border-radius: 0;
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    margin-bottom: 0;
}

.quick-search .input-group-text {
    white-space: nowrap;
    background-color: transparent;
    border: 0px solid #ced4da;
}

.svg-icon.svg-icon-lg svg {
    height: 1.4rem!important;
    width: 1.4rem!important;
}

.raviol-mini-cart-count {
    text-align: center;
    width: 20px;
    height: 20px;
    font-size: 12px;
    line-height: 22px;
    top: -12px;
    border-radius: 50%;
}
/*--------------------------------------------------------------
3. Body
--------------------------------------------------------------*/

body {
  position: relative;
  word-break: break-word;
}

::-moz-selection {
  text-shadow: none;
}

::selection {
  text-shadow: none;
}

body *:focus {
    box-shadow: none!important;
}

#content {
    min-height: 600px;
    opacity: 0;
	transition: all .3s;
}

footer {
	opacity: 0;
	transition: all .3s;
}

.raviol-loading-page {
    left: 50%;
    top: 50%;
    z-index: 999;
	transform: translate(-50%);
}

.raviol-loader {
  width: 100px;
  height: 100px;
  margin: 0 auto;
  border-top: 5px solid #292929;
  border-right: 5px solid #efefef;
  border-bottom: 5px solid #efefef;
  border-left: 5px solid #efefef;
  border-radius: 100px;
  animation: spin 1s infinite linear;
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}

body .modal-backdrop {
   background-color: #fff;
}

body .modal-backdrop.show {
    opacity: 1;
}
.modal .modal-content {
-webkit-box-shadow: 0px 20px 30px rgb(83 88 93 / 5%), 0px 0px 30px rgb(83 88 93 / 10%);
    box-shadow: 0px 20px 30px rgb(83 88 93 / 5%), 0px 0px 30px rgb(83 88 93 / 10%);
border: 0 solid rgba(0, 0, 0, 0.1);
    border-radius: 0.75rem;
}

#cartOpen .widgettitle, #accountOpen .woocommerce > h2 {
	display:none;
}

 #accountOpen .woocommerce form.login {
	 margin: 0;
 }
 .woocommerce form .form-row .required {
    color: #be0000;
    font-weight: 400;
}

.woocommerce form.login, .woocommerce form.register {
    border: none;
    padding: 0;
    margin: 0;
}

.woocommerce form.login .form-row label.woocommerce-form__label-for-checkbox, .woocommerce form.register .form-row label.woocommerce-form__label-for-checkbox {
    line-height: 1.6;
}

.woocommerce form.register .form-row:not(.woocommerce-form-row), .woocommerce form.login .form-row:not(.woocommerce-form-row):not(.form-row-last):not(.form-row-first), #raviol-form-tabs .login .form-row:not(.form-row-last):not(.form-row-first):not(.form-captcha-row) {
    display: flex;
    align-items: center;
    flex-flow: row-reverse;
    justify-content: left;
}

.form-captcha-row {
    display: flex;
    align-items: center;
    justify-content: left;
}

#raviol-form-tabs .login .form-row:not(.form-row-last):not(.form-row-first) .woocommerce-form__label {
    margin-left:1.5rem;
}

.log-out-link {
    background: #fff;
    padding: 3px 17px;
    border-radius: 1rem;
    right: 0;
    bottom: -30px;
	box-shadow: 0px 20px 30px rgb(83 88 93 / 5%), 0px 0px 30px rgb(83 88 93 / 10%);
}
.log-out-link:after {
    content: '';
    background: #fff;
    width: 10px;
    height: 10px;
    top: -5px;
    position: absolute;
    left: 50%;
    /* margin-left: -50%; */
    transform: translateX(-50%) rotate(
45deg);
box-shadow: 0px 20px 30px rgb(83 88 93 / 5%), 0px 0px 30px rgb(83 88 93 / 10%);
}

.log-out-link {
	opacity:0;
	visibility:hidden;
}

.hover-login:hover .log-out-link {
	opacity:1;
	visibility:visible;
}

.lost_password a {
	position: relative;
}

.lost_password a:after {
    content: '';
    border-bottom: 1px solid;
    position: absolute;
    width: 100%;
    left: 0;
    bottom: -4px;
    opacity: .3;
}

.page-title {
	margin-bottom: 1.1rem;
}
/*--------------------------------------------------------------
4. Alerts
--------------------------------------------------------------*/

.alert.alert-danger,
.alert.alert-warning,
.alert.alert-info,
.alert.alert-success {
  padding-left: 3.25rem;
}

.alert::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  left: 1.25rem;
  top: 50%;
  transform: translate(0, -50%);
}

.alert-danger::before {
  content: '\f071';
}

.alert-warning::before {
  content: '\f06a';
}

.alert-info::before {
  content: '\f05a';
}

.alert-success::before {
  content: '\f058';
}

/*--------------------------------------------------------------
5. Breadcrumb
--------------------------------------------------------------*/

@media (max-width: 991px) {
  .breadcrumb {
    display: block !important;
    white-space: nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
    -ms-overflow-style: none;
    overflow: -moz-scrollbars-none;
    scrollbar-width: none;
  }

  .breadcrumb::-webkit-scrollbar {
    display: none;
  }
}

/*--------------------------------------------------------------
6. To Top Button
--------------------------------------------------------------*/

.top-button {
  right: 5%;
  bottom: 30px;
  opacity: 0;
  transition: opacity 1s;
}

.top-button.visible {
  opacity: 1;
}

/*--------------------------------------------------------------
7. Single Post
--------------------------------------------------------------*/

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

.wp-post-image {
  width: 100%;
}

.page-image img,
.post-image img {
  width: 100%;
  object-fit: contain;
  height: auto;
}

.featured-full-width-img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* [rel='prev']:before {
  content: '« ';
}

[rel='next']:after {
  content: ' »';
} */

.entry-header, .entry-content > *:not(.qubely-section) {
    margin-bottom: 2rem;
}

/*--------------------------------------------------------------
8. Comments
--------------------------------------------------------------*/

ul.comment-list {
  list-style: none;
  padding: 0;
}

ul.comment-list li {
  list-style: none;
}

.avatar:not(.raviol-avatar-head) {
  width: 80px;
}

.raviol-avatar-head {
    max-width: none;
}

.comment-list ul.children {
  padding-left: 96px;
}

@media (max-width: 991px) {
  .comment-list ul.children ul.children {
    padding-left: 0;
  }
}

@media (min-width: 992px) {
  .comment-list ul.children ul.children ul.children {
    padding-left: 0;
  }
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
}

#cancel-comment-reply-link {
  margin-left: 1rem;
}

/* 
    Adding width to comment. 
    When using <pre> in comment, comment-content will not crashed
*/

.comment-content {
  width: calc(100% - 96px);
}

/*--------------------------------------------------------------
9. Archive
--------------------------------------------------------------*/

@media (max-width: 767px) {
  .card-img-left img {
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px);
    width: 100%;
    height: auto;
  }
}

@media (min-width: 768px) {
  .card-img-left img {
    border-top-left-radius: calc(0.25rem - 1px);
    border-bottom-left-radius: calc(0.25rem - 1px);
    object-fit: cover;
    height: 100%;
    width: 100%;
  }
}

@media (max-width: 991px) {
  .card-img-left-md img {
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px);
    width: 100%;
    height: auto;
  }
}

@media (min-width: 992px) {
  .card-img-left-md img {
    border-top-left-radius: calc(0.25rem - 1px);
    border-bottom-left-radius: calc(0.25rem - 1px);
    object-fit: cover;
    height: 100%;
    width: 100%;
  }
  
  .header-text {
    min-width: 190px;
	}
}

/*--------------------------------------------------------------
10. Widgets
--------------------------------------------------------------*/

.widget-area ul,
.raviol-footer ul {
  padding: 0;
  list-style: none;
  margin-bottom: 0;
}

.widget ul li + li {
	margin-top: .5rem;
}

.product_list_widget li + li {
    margin-top: .5rem!important;
}

.product_list_widget a {
	line-height: 1.2;
}

.widget-area ul.children, .widget-area ul.sub-menu {
  padding-left: 1rem;
  margin-top: .5rem;
}

#footer-menu li a {
  padding-left: 0;
}
/* 
.content-area li + li {
	margin-top: 10px;
} */

.widget.card-body.card {
	border: none;
}

.widget:not(.widget_recent_comments) .list-inner {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.rounded-raviol-num-outline-xl {
    display: inline-block;
    width: 25px;
    height: 25px;
    font-weight: 700;
    text-align: center;
    line-height: 24px;
    font-size: 13px;
    vertical-align: middle;
    margin-top: -3px;
    overflow: hidden;
    border: 1px solid;
}

.inner-price .woocommerce-Price-amount:nth-child(2):before {
    content: " - ";
}

.wp-calendar-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: -1rem;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
    background-color: #9e757d;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background-color: #9e757d;
}


.woocommerce ul.cart_list li img, .woocommerce ul.product_list_widget li img {
    float: none;
    margin-right: 1rem;
    margin-left: 0;
    width: 55px;
    height: 55px;
    /* box-shadow: none; */
    border-radius: 78px!important;
    box-shadow: 0 .5rem 1rem rgba(22,28,45,.05)!important;
    object-fit: cover;
    min-width: 55px;
}

.woocommerce .product_list_widget .list-inner a {
	display: flex;
    font-weight: normal;
}

.woocommerce ul.cart_list li .star-rating, .woocommerce ul.product_list_widget li .star-rating {
    float: none;
    margin-bottom: 4px;
    font-size: .7em;
    margin-top: 3px;
}

.woocommerce .product_list_widget .list-inner a .product-title {
    margin-bottom: 7px;
}

.woocommerce .inner-price {
    color: #000;
    font-size: .85rem;
}

.woocommerce .product_list_widget .reviewer {
    line-height: 1.2;
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
    height: 3px;
    top: 3px;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    top: -.4em;
}

.mini_cart_item > a > img {
	position: absolute;
    left: 0;
}

.mini_cart_item > .quantity {
	font-size: .85rem;
}

.widget .widget-title {
	margin-bottom: 1rem;
}

.woocommerce .widget_shopping_cart .cart_list li, .woocommerce.widget_shopping_cart .cart_list li {
    padding-left: 70px;
    position: relative;
    padding-top: 0;
}

.woocommerce .widget_shopping_cart .cart_list li a.remove, .woocommerce.widget_shopping_cart .cart_list li a.remove {
    position: absolute;
    top: 0;
    left: -15px;
}

.woocommerce a.remove, .woocommerce a.remove:hover {
    color: #000!important;
    background: white;
    font-weight: 400!important;
	z-index:9;
}


.woocommerce .widget_shopping_cart .cart_list li, .woocommerce.widget_shopping_cart .cart_list li {
    padding-top: 4px;
    min-height: 70px;
}

.woocommerce ul.cart_list li a, .woocommerce ul.product_list_widget li a {
    font-weight: 400;
}

.woocommerce .widget_shopping_cart .total, .woocommerce.widget_shopping_cart .total {
    padding: 15px 0 0;
    margin-top: 15px;
	font-weight: 500;
}

.woocommerce ul.cart_list, .woocommerce ul.cart_list.product_list_widget {
    margin-left: 10px;
}

.woocommerce table.shop_attributes td {
    font-style: normal;
}

/* 
**	Social widget
*/
.social-template > div + div {
	margin-top:1rem;
}

.color-facebook {
	background-color: #5785e5;
}
.color-vk {
	background-color: #4C75A3;
}
.color-twitter {
	background-color: #00acee;
}
.color-linkedin {
	background-color: #0077b5;
}
.color-dribbble {
	background-color: #444444;
}
.color-behance {
	background-color: #053eff;
}
.color-instagram {
	background-color: #e1306c;
}
.color-tumblr {
	background-color: #34526f;
}
.color-pinterest {
	background-color: #c8232c;
}
.color-vimeo {
	background-color: #86c9ef;
}
.color-youtube {
	background-color: #c4302b;
}
.color-twitch {
	background-color: #6441a5;
}
.color-flickr {
	background-color: #0063dc;
}
.color-telegram {
	background-color: #0088cc;
}
.color-odnoklassniki {
	background-color: #ed812b;
}
.color-github {
	background-color: #909090;
}
.color-whatsapp {
	background-color: #4ac959;
}
.color-tiktok {
	background-color: #010101;
}

/*--------------------------------------------------------------
11. Utilities
--------------------------------------------------------------*/

/* 
Add width-100 class to element to stretch it to the entire width 
of the screen when element is in .container.
https://raviol.me/documentation/width-height-classes/
*/

/* Hide horizontal scrollbars on Windows Chrome & Firefox */

body {
  overflow-x: hidden;
}

.width-100 {
  position: relative;
  width: 100vw;
  margin-left: -50vw;
  left: 50%;
}

/* 
Hide racaptcha v3 badge 
*/

.grecaptcha-badge {
  display: none !important;
}

/* 
Clear
*/

.clear-both {
  clear: both;
}

/* 
z-index
*/

.zi-1000 {
  z-index: 1000 !important;
}

.zi-1020 {
  z-index: 1020 !important;
}

.zi-1030 {
  z-index: 1030 !important;
}

.zi-1040 {
  z-index: 1040 !important;
}

.zi-1050 {
  z-index: 1050 !important;
}

.zi-1060 {
  z-index: 1060 !important;
}

.zi-1070 {
  z-index: 1070 !important;
}

.zi-n1 {
  z-index: -1 !important;
}

/*
Cursor
*/

.cursor-pointer {
  cursor: pointer;
}

/*
Focus
*/

.focus-none {
  box-shadow: none !important;
  outline: 0 !important;
}

/* 
Hover 
*/

.hover {
  transition: filter 0.3s;
}

.hover:hover {
  filter: brightness(0.95);
}

.wpcf7-form {
    position: relative;
    border: none!important;
    overflow: hidden;
}

/*--------------------------------------------------------------
12. Colors
--------------------------------------------------------------*/

::selection {
  color: #fff;
  background-color: var(--bs-primary);
}

::-moz-selection {
  color: #fff;
  background-color: var(--bs-primary);
}

pre {
  background-color: var(--bs-light);
}

:focus {
  outline: none !important;
  outline: -webkit-focus-ring-color none !important;
  outline-color: -webkit-focus-ring-color none !important;
  outline-style: none !important;
  outline-width: 0 !important;
}

.blured {
    backdrop-filter: blur(15px) brightness(100%) saturate(67%);
}

/*--------------------------------------------------------------
13. HTML Markups (Theme Unit Test Data)
--------------------------------------------------------------*/

/*
pre
*/

pre {
  padding: 1rem;
  border-radius: 0.25rem;
}

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

iframe {
  max-width: 100%;
}

pre {
  max-width: 100%;
  border-radius: 0.25rem;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/

.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/

.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/

.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*='wp-image-'] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

.blocks-gallery-grid .blocks-gallery-image figcaption,
.blocks-gallery-grid .blocks-gallery-item figcaption,
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
  overflow: auto;
  padding: 0.5rem;
  font-size: 1rem;
  background: rgba(0, 0, 0, 0.5);
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/

.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
	14. Icons
--------------------------------------------------------------*/

/* shop cart */
.gg-shopping-bag {
    transform: scale(var(--ggs,1))
}
.gg-shopping-bag,
.gg-shopping-bag::after {
    box-sizing: border-box;
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    border: 2px solid;
    border-radius: 3px
}
.gg-shopping-bag::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 6px;
    border-bottom-left-radius: 120px;
    border-bottom-right-radius: 120px;
    border-top: 0;
    top: 2px;
    left: 3px
}

/* 
	search icon
*/
.gg-search {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1));
    width: 16px;
    height: 16px;
    border: 2px solid;
    border-radius: 100%;
    margin-left: -4px;
	vertical-align: middle;
/* 	-webkit-transition: all 0.3s;
    transition: all 0.3s; */
    margin-top: -4px
}
.gg-search::after {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    border-radius: 3px;
    width: 1.8px;
    height: 6px;
    background: currentColor;
    transform: rotate(-45deg);
    top: 10px;
    left: 12px
}

.gg-search::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    border-radius: 3px;
    width: 0;
    height: 6px;
    background: currentColor;
    transform: rotate(45deg);
    top: 10px;
    left: 12px
}
	/* close search */
.nav-link.show .gg-search {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1));
    width: 16px;
    height: 16px;
    border: 0;
    border-radius: 100%;
    margin-left: -4px;
    vertical-align: middle;
    margin-top: -4px;
}

.nav-link.show .gg-search::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    border-radius: 3px;
    width: 1px;
    height: 18px;
    background: currentColor;
    transform: rotate(
45deg
);
    top: 0px;
    left: 7px;
}

.nav-link.show .gg-search::after {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    border-radius: 3px;
    width: 1px;
    height: 18px;
    background: currentColor;
    transform: rotate(
-45deg
);
    top: 0px;
    left: 7px;
}

.quick-search .gg-search, .volks-archive-title .gg-search {
    transform: scale(var(--ggs,.9));
}

/* gg-menu */
.gg-menu-right {
    transform: scale(var(--ggs,1.2));
}
.gg-menu-right, .gg-menu-right::after, .gg-menu-right::before {
    box-sizing: border-box;
    position: relative;
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 0px;
    background: currentColor;
}
.gg-menu-right::after,
.gg-menu-right::before {
    content: "";
    position: absolute;
    top: -6px;
    right: 0;
    width: 10px
}
.gg-menu-right::after {
    top: 6px;
    width: 14px
}

.canvas-menu-open {
    cursor: pointer;
    display: flex;
    width: 33px;
    height: 33px;
    align-items: center;
    justify-content: end;
    margin-right: 3px;
}
/*--------------------------------------------------------------
	15. Woocommerce
--------------------------------------------------------------*/
.woocommerce ul.products li.product .price {
    color: #000000;
	font-weight: 600;

}

.woocommerce ul.products li.product .star-rating {
    color: #363636;
}

.theme-twentytwenty .wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product, .theme-twentytwenty .wc-block-grid.has-5-columns.alignfull .wc-block-grid__product, .wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product, .wc-block-grid.has-5-columns.alignfull .wc-block-grid__product {
    font-size: 1em;
}

.woocommerce div.product form.cart:not(.variations_form) {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.single_add_to_cart_button {
    margin-left: 2rem;
    margin-right: 1rem;
}

.single-product div.product form.cart .quantity {
    float: none !important;
    margin: 0 !important;
    display: inline-block;
}

.single-product div.product form.cart .minus, .single-product div.product form.cart .plus {
    display: inline-block;
    line-height: 15px;
    width: 35px;
    height: 35px;
    text-align: center;
    padding: 0;
    background: #f8f9fa;
}

.single-product div.product form.cart .quantity .qty {
    width: 35px;
    text-align: center;
    padding: 0;
    height: 35px;
    /* background: aliceblue; */
    line-height: 1;
    border: 0;
    font-size: 1.2rem;
    font-weight: 500;
}

.single-product div.product form.cart .quantity .qty {
    width: 35px;
    text-align: center;
    padding: 0;
    height: 35px;
}

.single_variation_wrap .woocommerce-variation-price {
	margin-bottom:1rem;
}

.woocommerce div.product p.price {
    color: #999;
    font-size: 1.20em;
    font-weight: 500;
}

.woocommerce div.product .product_title {
    margin-bottom: 1rem;
}

.woocommerce div.product span.price, .woocommerce div.product.product-type-simple p.price {
    color: #000000;
    font-size: 1.30em;
    font-weight: 500;
}

.shef-right {
    width: 5px;
    height: 5px;
    border-right: 1px solid;
    border-bottom: 1px solid;
    display: inline-block;
    transform: rotate(
-45deg);
    /* margin-bottom: 2px; */
    margin: 0 2px 2px 2px;
}

.wpc-filters-range-max {
	text-align: right;
}

.widget-title.wpc-filter-title {
	padding-bottom: 1rem;
	font-size: 1.5rem;
	padding-top: 0.5rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid #dee2e6 !important;
	line-height: 1.2;
}

.ui-slider-horizontal .ui-slider-range {
    background-color: #000000 !important;
}

.woocommerce #reviews #comments h2, .woocommerce .woocommerce-Tabs-panel h2, .woocommerce .related.products > h2 {
    margin-bottom: 2rem;
    margin-top: 2rem;
    font-size: 1.6rem;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
    padding: 0;
    border-radius: 50%;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    border: 0px solid #e4e1e3;
    border-radius: 9px;
    background: #fafbfc;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: 0;
    background-color: transparent;
    display: inline-block;
    position: relative;
    z-index: 0;
    border-radius: 0;
    margin-right: 1rem;
    padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    list-style: none;
    padding: 0 0 0 .4em;
    margin: 0;
    overflow: hidden;
    position: relative;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after, .woocommerce div.product .woocommerce-tabs ul.tabs li::before {
    border-width: 0;
    box-shadow: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-weight: 600;
	padding: .3em .7em;
    border-radius: 30px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    background: #fafbfc;
}

.woocommerce-tabs.wc-tabs-wrapper {
    margin-bottom: 3rem;
}

.woocommerce ul.products li.product .onsale, .woocommerce span.onsale {
    top: 0;
    right: auto;
    left: auto;
    margin: 10px;
    left: 0;
    width: 3rem;
    height: 3rem;
    text-align: center;
    background: #fff;
    color: #000;
    font-size: .9rem;
    padding: 0;
    line-height: 3rem;
	min-height: 3rem;
    min-width: 3rem;
	font-weight: 500;
}

.woocommerce ul.products li.product .onsale:before, .woocommerce span.onsale:before {
	content: '-';
}

.price ins {
    text-decoration: none;
    font-weight: 600 !important;
    margin-left: .5rem;
}

.single_add_to_cart_button.loading {
    opacity: .25;
    padding-right: 2.618em;
	position: relative;
}

.single_add_to_cart_button.loading::after {
    font-family: WooCommerce;
    content: "\e01c";
    vertical-align: top;
    font-weight: 400;
    position: absolute;
    right: 1em;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

.single_add_to_cart_button.added::after {
    font-family: WooCommerce;
    content: "\e017";
    margin-left: .53em;
    vertical-align: bottom;
}


.actions .coupon {
    display: flex;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message, #add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background-color: #fafbfc;
}

#order_review_heading {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.product-type-simple a.added_to_cart {
    padding-top: 0;
}

.cart_totals > h2 {
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.woocommerce table.shop_attributes tr:nth-child(even) td, .woocommerce table.shop_attributes tr:nth-child(even) th {
    background: rgb(250 251 252);
}

.woocommerce table.shop_attributes th , .woocommerce table.shop_attributes td{
    border-bottom: 1px dotted rgb(250 251 252);
}

.woocommerce table.shop_attributes {
    border-top: 1px dotted rgb(250 251 252);
}

footer .widget form[role="search"] input[type="search"], footer .widget .searchform input[name="s"] {
    border-top-right-radius: 0!important;
    border-bottom-right-radius: 0!important;
}

footer .widget form[role="search"] button[type="submit"], footer .widget .searchform button[type="submit"] {
    border-top-left-radius: 0!important;
    border-bottom-left-radius: 0!important;
}

/* Chrome, Safari, Edge, Opera */
.single-product input::-webkit-outer-spin-button,
.single-product input::-webkit-inner-spin-button,
.wpc-filters-widget-wrapper input::-webkit-inner-spin-button,
.wpc-filters-widget-wrapper input::-webkit-outer-spin-button
 {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Firefox */
.single-product input[type=number],
.wpc-filters-widget-wrapper input[type=number]
 {
  -moz-appearance: textfield !important;
}
/*--------------------------------------------------------------
	16. Animations
--------------------------------------------------------------*/
.animate-top-down {
  transform: translatey(0px);
  -webkit-animation: top-down 6s ease-in-out infinite;
          animation: top-down 6s ease-in-out infinite;
}

@-webkit-keyframes top-down {
  0% {
    transform: translatey(0px);
  }
  50% {
    transform: translatey(-20px);
  }
  100% {
    transform: translatey(0px);
  }
}

@keyframes top-down {
  0% {
    transform: translatey(0px);
  }
  50% {
    transform: translatey(-20px);
  }
  100% {
    transform: translatey(0px);
  }
}

.animate-liner a, .animate-liner button {
	position:relative;
	border:none;
}
.animate-liner a:after, .animate-liner button:after {
	margin-left: -30px;
	content: " ";
	width: 30px;
	height: 300px;
	background: #fff;
	-webkit-animation-delay: 0.05s;
	animation-delay: 0.05s;
	position: absolute;
	left: -40px;
	top: -150px;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
	-webkit-transition: all 0.1s;
	-o-transition: all 0.1s;
	transition: all 0.1s;
	-webkit-animation-name: slideme;
	animation-name: slideme;
	-webkit-animation-duration: 3.5s;
	animation-duration: 3.5s;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

@-webkit-keyframes slideme {
	0% {
		left: -30px;
		margin-left: 0
	}
	30% {
		left: 110%;
		margin-left: 80px
	}
	100% {
		left: 110%;
		margin-left: 80px
	}
}

@keyframes slideme {
	0% {
		left: -30px;
		margin-left: 0
	}
	30% {
		left: 110%;
		margin-left: 80px
	}
	100% {
		left: 110%;
		margin-left: 80px
	}
}