* {
  box-sizing: border-box;
}
/*
    This ruleset is just for checking if the template is working correctly by giving menu and footer some space to occupy. Comment it remove it if you want.
*******************************************/
.wrapper-inner {
  width: 100%;
}
.main_menu ul {
  display: flex;
  padding: 0;
  list-style: none;
}
.main_menu ul li a {
  padding: 0 10px;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
}
/******************************************/
hr {
  border-top: 2px solid #991d1d;
  margin-top: 30px;
  margin-bottom: 40px;
  clear: both;
}
.more {
  color: #991d1d;
  text-transform: uppercase;
  border: 2px solid #991d1d;
  text-align: center;
  display: block;
  max-width: 100%;
  width: 400px;
  margin: 0 auto;
  padding: 10px;
  font-weight: bold;
  padding-top: 15px;
}
.more:hover {
  color: #f59328;
  border: 2px solid #f59328;
}
.menu-opacity-trigger {
  position: absolute;
  width: 0;
  height: 0;
  z-index: -1;
  top: 50vh;
}
@media (min-width: 980px) {
  .section {
    display: flex;
    padding-top: 30px;
    padding-bottom: 30px;
    justify-content: center;
    align-items: center;
  }
  .header-inner {
    justify-content: space-between;
    align-items: center;
  }
  .video.section {
    justify-content: flex-start;
  }
  .video.section div {
    width: 50%;
    padding-left: 2%;
    box-sizing: content-box;
  }
  .video.section div div {
    width: 100%;
  }
}
.desk-menu > ul {
  display: flex;
}
.desk-menu > ul ul {
  position: absolute;
}
.desk-menu > ul li ul {
  overflow: hidden;
  height: 0;
}
.desk-menu > ul li:hover ul {
  height: auto;
}
.desk-menu ul {
  padding: 0;
  list-style: none;
  margin: 0;
}
.desk-menu ul a {
  padding: 0 10px;
}
@media (max-width: 979px) {
  .header-inner {
    padding-top: 12px !important;
    padding-bottom: 10px !important;
    justify-content: flex-end;
  }
  .header-inner .social {
    padding-right: 1%;
  }
  .music.section {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.header-inner {
  display: flex;
}
.site-wrapper {
  display: grid;
  grid-template-columns: 100%;
  position: relative;
}
html, body, .site-wrapper {
  min-height: 100vh;
}
body {
  margin: 0;
  font-family: "josefin sans";
  font-size: 20px;
  line-height: 1.6em;
  color: #991d1d;
}
a {
  text-decoration: none;
}
.social {
  font-size: 18px;
}
.social i {
  margin-left: 10px;
}
.header-inner {
  color: #f59328;
  text-transform: uppercase;
  padding-left: 1%;
  padding-right: 1%;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 24px;
}
.header-inner a {
  color: #f59328;
}
.header-inner a:hover {
  color: #eeb55a;
}
.header {
  margin-bottom: 50px;
}
@media (min-width: 980px) {
  .section {
    height: 100vh;
  }
}
@media (max-width: 979px) {
  .section {
    background-position: center;
  }
  .music {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.section {
  width: 100%;
  background-size: cover;
}
@media (min-width: 980px) {
  .home {
    background: url("../../img/home.jpg");
  }
  .home-mob-img {
    display: none;
  }
}
.home {
  background-position: center;
  background-size: cover;
}
.home .subscribe {
  position: absolute;
  top: 60vh;
  right: 20vw;
}
.home .subscribe a {
  color: #f59328;
  border: 2px solid #f59328;
  padding: 10px;
  padding-top: 15px;
  font-size: 30px;
}
@media (min-width: 980px) {
  .music {
    background: url("../../img/music.jpg");
  }
  .br-mob {
    display: none;
  }
}
@media (max-width: 979px) {
  .music {
    background: url("../../img/music-mob.jpg");
    min-height: 100vh;
  }
  .music-link {
    min-width: 40%;
    margin-bottom: 5%;
  }
  .video {
    background-color: #e49618;
    padding-bottom: 20px;
  }
  .video .video-embed {
    margin: -15vh auto 20px;
    width: 90%;
    display: block;
  }
}
.music {
  background-size: cover;
  font-size: 40px;
  color: #f59328;
  text-align: center;
}
.music-link {
  border: 2px solid #f59328;
  padding: 10px;
  padding-top: 15px;
  display: inline-block;
  margin-left: 20px;
  margin-right: 20px;
  font-size: 30px;
}
.video-mob-img, .home-mob-img {
  width: 100%;
  vertical-align: bottom;
}
@media (min-width: 980px) {
  .video {
    background: url("../../img/video.jpg");
  }
  .video-mob-img {
    display: none;
  }
}
@media (max-width: 979px) {
  .section {
    flex-direction: column;
  }
}
.video {
  background-size: cover;
}
.footer-inner {
  background: #991d1d;
  color: #f59328;
  text-transform: uppercase;
  text-align: center;
  padding-top: 20px;
  padding-bottom: 20px;
  line-height: 1.2em;
  font-size: 15px;
}
.footer-inner a {
  color: #f59328;
}
.footer-inner a:hover {
  color: #eeb55a;
}
.social-footer {
  margin-bottom: 10px;
}
.social-footer i {
  margin-left: 5px;
  margin-right: 5px;
  font-size: 18px;
}
/*--- SUBSCRIBE ---*/
@media screen and (max-width: 1024px) {
  .home .subscribe {
    display: none;
  }
  .mob-subscribe {
    display: block;
    width: 100%;
    padding-top: 40px;
    padding-bottom: 40px;
    background: #991d1d;
    text-align: center;
    color: #f59328;
  }
  .mob-subscribe a {
    border: 2px solid #f59328;
    color: #f59328;
    padding: 10px;
    padding-top: 15px;
    padding-left: 20px;
    padding-right: 20px;
    text-transform: uppercase;
    font-size: 30px;
  }
}
@media screen and (min-width: 1024.1px) {
  .subscribe {
    display: block;
  }
  .mob-subscribe {
    display: none;
  }
}
/*--- PAGE STYLES ---*/
.content {
  display: block;
}
#header {
  z-index: 99999 !important;
  top: 0;
  left: 0;
}
#header:hover {
  background: #991d1d;
}
#header, #header:hover {
  transition: all 0.3s ease-in-out;
}
ul.nav-drop {
  background: #991d1d;
  transition: all 0.3s ease-in-out;
}
ul.nav-drop li {
  padding-bottom: 5px;
  padding-top: 10px;
}
.header {
  display: block;
  width: 100%;
  z-index: 0;
  position: relative;
  top: 0;
  left: 0;
}
.header img {
  width: 100%;
  height: auto;
}
.desk {
  display: block;
}
.mob {
  display: none;
}
h1 {
  text-transform: uppercase;
  text-align: center;
  color: #991d1d;
}
.page-content {
  display: block;
  font-size: 22px;
  padding-left: 10%;
  padding-right: 10%;
  line-height: 1.5em;
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
  color: #991d1d;
}
@media screen and (max-width: 1024px) {
  .mob {
    display: block;
  }
  .desk {
    display: none;
  }
}
.inner-content {
  max-width: 1200px;
  margin: 0 auto;
}
.inner-content a {
  font-weight: bold;
  color: #f59328;
}
.inner-content a:hover {
  color: #991d1d;
}
.music-link {
  color: #f59328;
}
@media screen and (max-width: 980px) {
  .inner-content {
    padding-left: 5%;
    padding-right: 5%;
  }
}
/*--- RESPONSIVE MENU ---*/
#responsive-menu-pro-container {
  z-index: 1;
  position: relative;
  top: 0;
  left: 0;
  background-position: center;
}
#responsive-menu-pro-wrapper {
  text-transform: uppercase;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  max-width: 500px;
  padding-left: 5% !important;
  padding-right: 5% !important;
  margin: 0 auto !important;
  display: block !important;
}
/*--- MAILING LIST---*/
#mailing-mob {
  display: none;
}
.sub-overlay {
  color: #fff;
  font-family: "Josefin Sans";
  font-size: 20px;
  top: 0;
  left: 0;
  position: fixed;
  height: 100%;
  width: 100%;
  z-index: 9999999;
  opacity: 1;
  background-color: rgba(153, 29, 29, 0.95);
  display: none;
}
.sub-overlay-close-btn {
  color: #f59328;
  font-family: "Josefin Sans";
  position: absolute;
  top: 25px;
  right: 25px;
  cursor: pointer;
  font-size: 32px;
  font-weight: 700;
}
.sub-overlay-inner {
  line-height: 1.8em;
  width: 95%;
  max-width: 800px;
  height: auto;
  max-height: 80%;
  left: 50%;
  color: #f59328;
  top: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  text-align: center;
}
.sub-overlay-inner .text-input {
  height: 40px;
  text-align: center;
  width: 36.5%;
  border: 1px solid #f59328;
  margin-right: 1%;
  color: #f59328;
  background: none;
}
.sub-overlay-inner .submit {
  width: 20%;
}
.sub-overlay-inner .submit {
  background: #f59328;
  color: #991d1d;
  text-transform: uppercase;
  height: 36px;
  border: 0;
  line-height: 2em;
}
.sub-overlay-inner .text-input, .sub-overlay-inner .submit {
  font-family: "Josefin Sans";
  font-size: 16px;
}
.sub-overlay-inner .text-input, .sub-overlay-inner .submit {
  width: 100%;
  display: block;
  margin-bottom: 5px;
}
.sub-overlay-inner .submit {
  width: 180px;
  display: block;
  margin: 5px auto;
}
.sub-overlay-inner ::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #f59328;
}
.sub-overlay-inner ::-moz-placeholder {
  /* Firefox 19+ */
  color: #f59328;
}
.sub-overlay-inner :-ms-input-placeholder {
  /* IE 10+ */
  color: #f59328;
}
.sub-overlay-inner :-moz-placeholder {
  /* Firefox 18- */
  color: #f59328;
}
/*--- STORE ---*/
/* ul.products {
    display: flex;
    justify-content: center;
} */
.woocommerce {
  padding-bottom: 50px;
}
@media (min-width: 980px) {
  .single-product-holder {
    grid-template-columns: 2fr 3fr;
  }
}
@media (max-width: 979px) {
  .single-product-holder {
    grid-template-rows: 1fr 1fr;
  }
  .single-product-holder .summary {
    text-align: center;
  }
  .single-product-holder .summary table.variations {
    margin: 0 auto;
    padding-bottom: 2%;
  }
  .single-product-holder .summary .reset_variations {
    position: absolute;
  }
  .single-product-holder .summary button[type="submit"] {
    margin: 3% auto 0 auto;
  }
  table.variations {
    margin: 0 auto;
    padding-bottom: 2%;
  }
}
.single-product-holder {
  display: grid;
}
.single-product-holder .woocommerce-product-gallery__wrapper img {
  width: 100%;
  height: auto;
}
table.variations tr {
  display: grid;
}
.woocommerce-tabs .woocommerce-Tabs-panel {
  display: block !important;
}
.related {
  display: none !important;
}
p.price {
  font-family: "Josefin Sans" !important;
  color: #991d1d;
}
.button {
  font-family: "Josefin Sans" !important;
  background: #991d1d !important;
  color: #f59328 !important;
  border: 0 !important;
  text-transform: uppercase;
  color: #f59328 !important;
  letter-spacing: 2px;
  margin: 5px 0;
  height: 50px !important;
  line-height: 40px;
  display: block;
  font-size: 20px !important;
  letter-spacing: 1px;
  position: relative;
  top: 0px;
  text-align: center !important;
  font-weight: 700 !important;
}
.single-product-holder .button {
  font-family: "Josefin Sans" !important;
  background: #991d1d !important;
  border: 0 !important;
  text-transform: uppercase;
  color: #f59328 !important;
  letter-spacing: 2px;
  width: 200px !important;
  margin: 5px 0;
  height: 50px !important;
  line-height: 30px !important;
  display: block;
  font-size: 20px !important;
  letter-spacing: 1px;
  position: relative;
  top: 0px;
  text-align: center !important;
  font-weight: 700 !important;
}
.button:hover {
  color: #991d1d !important;
  background: #f59328 !important;
  cursor: pointer !important;
  border: 0 !important;
}
.woocommerce ul.products li.product .button {
  margin: 1em auto 0;
  width: 90% !important;
  padding-top: 15px;
  height: auto !important;
}
.woocommerce ul.products[class*=columns-] li.product, .woocommerce-page ul.products[class*=columns-] li.product {
  padding: 1%;
  text-align: center;
}
.woocommerce ul.products li.product .price {
  font-family: "Josefin Sans" !important;
  color: #991d1d;
  font-size: 16px;
}
figure.woocommerce-product-gallery__wrapper {
  margin-top: 0;
}
h2.woocommerce-loop-product__title {
  line-height: 1.2em;
}
.woocommerce-breadcrumb {
  display: none;
}
.single-product-holder {
  padding-bottom: 50px;
}
/*--- CART ---*/
.woocommerce-input-wrapper input, .woocommerce-input-wrapper select, .woocommerce-input-wrapper textarea, .shipping-calculator-form input {
  border: 2px solid #991d1d;
  padding: 1%;
  color: #991d1d;
  font-family: "Josefin Sans";
}
.select2-selection {
  border: 2px solid #991d1d !important;
}
.select2-container .select2-selection--single, .select2-container {
  height: 36px !important;
  color: #991d1d !important;
  font-family: "Josefin Sans";
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #991d1d;
  font-family: "Josefin Sans";
}
.woocommerce-input-wrapper input:focus, .woocommerce-input-wrapper select:focus, .woocommerce-input-wrapper textarea:focus, .shipping-calculator-form input:focus {
  border: 2px solid #991d1d;
  color: #991d1d;
}
.woocommerce-input-wrapper ::-webkit-input-placeholder {
  color: #991d1d;
}
.woocommerce-input-wrapper :-ms-input-placeholder {
  color: #991d1d;
}
.woocommerce-input-wrapper ::-moz-placeholder {
  color: #991d1d;
}
.woocommerce-input-wrapper ::-ms-input-placeholder {
  color: #991d1d;
}
.woocommerce-input-wrapper ::placeholder {
  color: #991d1d;
}
.shop_table th {
  font-family: "Josefin Sans" !important;
  color: #991d1d;
  text-transform: uppercase;
}
.woocommerce-checkout-review-order-table th {
  color: #991d1d !important;
}
.shop_table {
  font-family: "Josefin Sans";
}
td.product-name a {
  font-family: "Josefin Sans" !important;
  color: #991d1d;
}
.woocommerce #content table.cart td.actions .input-text, .woocommerce table.cart td.actions .input-text, .woocommerce-page #content table.cart td.actions .input-text, .woocommerce-page table.cart td.actions .input-text {
  width: 177px;
  padding: 2%;
  height: 50px;
  border: 2px solid #991d1d;
  text-transform: uppercase;
}
.checkout-button {
  padding-top: 15px !important;
}
.woocommerce-info, .woocommerce-message {
  color: #991d1d !important;
  border: 2px solid #991d1d !important;
}
.woocommerce-form-coupon-toggle {
  display: none;
}
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
  background: none !important;
}
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
  background: #f0f0f0 !important;
}
#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
  content: "";
  display: block;
  border: 1em solid #991d1d !important;
  border-right-color: transparent !important;
  border-left-color: transparent !important;
  border-top-color: transparent !important;
  position: absolute;
  top: -0.75em;
  left: 0;
  margin: -1em 0 0 2em;
}
.woocommerce ul#shipping_method li input, #add_payment_method #payment ul.payment_methods li input, .woocommerce-cart #payment ul.payment_methods li input, .woocommerce-checkout #payment ul.payment_methods li input {
  width: auto !important;
  margin-right: 20px !important;
}
.wc_payment_method label {
  font-weight: bold;
}
.woocommerce-billing-fields input, .woocommerce-shipping-fields input {
  padding: 5px;
}
.woocommerce-shipping-fields input[type="checkbox"] {
  width: auto;
  display: inline-block;
  position: relative;
  top: -8px;
  vertical-align: middle;
}
.cart_totals td {
  padding-bottom: 20px !important;
}
.shop_table th {
  color: #991d1d;
}
.cart-subtotal th {
  padding-top: 4px !important;
}
p.woocommerce-shipping-destination {
  padding-bottom: 0 !important;
}
.shipping-calculator-button {
  margin-bottom: 10px !important;
  color: #991d1d;
  text-transform: uppercase;
  border: 2px solid #991d1d;
  padding: 10px;
}
.shipping-calculator-form {
  padding-top: 20px !important;
}
tr.shipping {
  padding-bottom: 20px !important;
}
.woocommerce .quantity .qty {
  width: 3.631em;
  text-align: center;
  border: 2px solid #991d1d;
  padding-top: 5px;
  text-align: center !important;
}
th {
  text-transform: uppercase;
}
.woocommerce-info, .woocommerce-message {
  background: none !important;
  color: #991d1d;
  border-top-color: transparent;
  border: 2px solid #991d1d !important;
}
#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 0 !important;
}
#order_review_heading {
  padding-top: 30px !important;
}
.woocommerce #content table.cart img, .woocommerce table.cart img, .woocommerce-page #content table.cart img, .woocommerce-page table.cart img {
  width: 50px !important;
}
.woocommerce table.shop_table {
  border: 0;
}
.woocommerce table.shop_table td {
  border-top: 1px solid #991d1d;
  padding-top: 15px;
}
.woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th {
  border-top: 1px solid #991d1d;
}
/*--- SINGLE PRODUCT ---*/
#options, .single_variation_wrap input, .quantity .qty {
  border: 2px solid #991d1d;
  padding: 1%;
  font-family: "Josefin Sans";
}
#options {
  padding: 3% !important;
  margin-bottom: 5px !important;
}
.single_variations_wrap input, .single_variations_wrap .qty, .quantity .qty {
  width: 80px !important;
  max-width: 80px !important;
}
/*--- SLIDE OUT CART ---*/
.xoo-wsc-container {
  background: #991d1d;
  padding-left: 5px;
  padding-right: 5px;
}
.xoo-wsc-header, .xoo-wsc-body, .xoo-wsc-footer {
  background: none;
  color: #fff;
}
.xoo-wsc-bki {
  font-size: 20px !important;
}
.xoo-wsc-basket {
  bottom: 10px !important;
  padding-bottom: 5px !important;
}
.xoo-wsc-items-count {
  border-radius: 50%;
  position: absolute;
  top: -10px;
  font-size: 12px;
  width: 22px;
  height: 22px;
  line-height: 24px;
  text-align: center;
  overflow: hidden;
}
.xoo-wsc-items-count {
  left: -10px;
}
.xoo-wsc-content {
  position: relative;
  font-size: 14px;
  line-height: 1.5em;
  padding-right: 20px;
}
.xoo-wsc-content a {
  color: #991d1d;
  font-weight: bold;
}
.xoo-wsc-header {
  font-family: "Josefin Sans" !important;
  font-weight: 700;
}
.xoo-wsc-pname, .xoo-wsc-qty-price {
  color: #fff !important;
  font-family: "Josefin Sans";
}
.xoo-wsc-footer {
  padding-right: 20px;
  font-family: "Josefin Sans";
}
.xoo-wsc-footer a.button {
  font-size: 18px !important;
  margin: 0px auto !important;
  padding: 5px;
  background: #f59328;
  color: #991d1d;
  width: 90% !important;
  font-weight: bold;
}
.xoo-wsc-footer a.button:hover {
  color: #fff !important;
  background: #f59328;
  cursor: pointer;
}
.xoo-wsc-footer {
  border-top: 2px solid #fff;
}
.xoo-wsc-header {
  border-bottom: 2px solid #fff;
}
.xoo-wsc-ctxt {
  text-align: center;
  font-size: 24px;
  letter-spacing: 8px;
  font-weight: 400;
  text-transform: uppercase;
  padding-bottom: 20px;
}
.xoo-wsc-footer-b {
  padding-bottom: 30px !important;
}
.xoo-wsc-modal.xoo-wsc-active .xoo-wsc-container {
  background: #991d1d;
  color: #fff;
}
.woocommerce ul.order_details li {
  float: none !important;
  display: inline-block !important;
}
.woocommerce-order {
  text-align: center !important;
}
.woocommerce-order-overview {
  padding-top: 20px;
  padding-bottom: 20px;
}
/** Woocommerce related changes Oct 2025 **/
.shop-archive_page ul.products {
  display: block;
}
@media screen and (min-width: 800px) {
  .shop-archive_page ul.products {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1024px) {
  .shop-archive_page ul.products {
    grid-template-columns: repeat(4, 1fr);
  }
}
.shop-archive_page ul.products li.product {
  width: 100% !important;
}
.shop-archive_page ul.products li.product > div {
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;
}
.shop-archive_page ul.products li.product > div a {
  display: grid !important;
  grid-template-rows: auto 1fr auto;
  height: 100%;
}
.shop-archive_page ul.products:before {
  display: none;
}
.single-product_page .woocommerce-tabs ul.tabs {
  display: none;
}
.single-product_page .woocommerce-tabs .woocommerce-Tabs-panel h2 {
  display: none;
}
