@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
blocquote,
pre,
form,
fieldset,
legend {
  margin: 0;
  padding: 0
}

sup,
sub,
code {
  line-height: 1em
}

table,
acronym,
textarea {
  font-size: 1em
}

@media (min-width: 1200px) {
  .container {
    max-width: 1280px
  }
}

.hidden {
  display: none
}

img {
  max-width: 100%;
  vertical-align: middle
}

body {
  background-color: #fff;
  font-size: 14px;
  line-height: 1.64;
  color: #3c3c97;
  font-family: "Plus Jakarta Sans", sans-serif;
  width: 100%;
}

a,
a:hover,
a:active {
  text-decoration: none;
  color: #005eb3;
}

.btn {
  font-size: 14px;
  line-height: 22px;
  font-weight: 500;
  padding: 9px 25px;
  box-shadow: none !important
}

.btn:hover,
.btn:focus {
  background-image: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .1))
}

.btn:active {
  background-image: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .2))
}

.btn-primary {
  background-color: #3c3c97 !important;
  border-color: #3c3c97 !important;
}

.btn-primary.submit {
  background-color: #00aaad !important;
  border-color: #00aaad !important
}

.btn span {
  font-size: 18px;
  line-height: 0;
  margin: 0 5px 0 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.25;
  font-weight: 700;
  margin: 0 0 20px 0
}

h1,
h2 {
  font-size: 28px;
  color: #fff;
}

h3,
h4 {
  font-size: 20px
}

header {
  background: #3c3c97;
  background-position: center;
  background-size: cover;
}

header .top-row {
  width: 100%;
  height: 4px;
  background-color: #00aaad;
}

header .navbar {
  padding: 20px 0;
}

header .navbar .navbar-brand {
  padding: 0;
  color: #fff;
  font-size: 30px;
}

header .navbar .navbar-brand img {
  max-width: 300px;
  width: 100%;
  height: auto;
}

header .menu-toggle {
  display: none;
  position: absolute;
  top: 50%;
  right: 15px;
  width: 22px;
  height: 22px;
  transform: translate(0, -50%)
}

header .menu-toggle span {
  position: absolute;
  top: 0;
  width: 100%;
  height: 3px;
  background-color: #fff
}

header .menu-toggle span:before,
header .menu-toggle span:after {
  position: absolute;
  content: '';
  display: block;
  width: 100%;
  height: 3px;
  z-index: 1;
  background-color: #fff;
}

header .menu-toggle span:before {
  top: 8px
}

header .menu-toggle span:after {
  top: 16px
}

ul.nav {
  list-style: none;
  margin-left: auto;
}

ul.nav li {
  position: relative;
  white-space: nowrap;
  font-size: 14px;
  margin: 0 19px;
  padding-top: 5px;
  padding-bottom: 10px;
}

ul.nav li a {
  color: #fff;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 13px;
  padding: 10px 0;
  transition: .5s;
  /* cursor: pointer; */
}

ul.nav li a[nohref] {
  padding-right: 15px
}

ul.nav li a[nohref] span:last-child {
  position: absolute;
  right: 0;
  top: calc(50% - 5px);
  font-size: 18px;
  line-height: 0;
  writing-mode: vertical-rl
}

ul.nav>li>a:after {
  background: #00aaad;
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 50%;
  position: absolute;
  transition: width .3s ease 0s, left .3s ease 0s;
  width: 0;
}

ul.nav>li:hover>a,
ul.nav>li.hover>a,
ul.nav>li>a.active,
ul.nav li a:hover {
  color: #00aaad
}

ul.nav>li:hover>a:after,
ul.nav>li.hover>a:after,
ul.nav>li>a.active:after {
  width: 100%;
  left: 0
}

ul.nav li form {
  display: flex;
  align-items: center;
  margin: 13px
}

ul.nav li .form-control {
  display: inline-block;
  width: 200px;
  margin: 0 7px 0 0
}

ul.nav li .btn {
  padding: 6px 15px
}

ul.nav .cart {
  position: relative
}

ul.nav .cart .minicart-count {
  position: absolute;
  width: 18px;
  height: 18px;
  line-height: 18px;
  top: -1px;
  right: -16px;
  text-align: center;
  font-size: 10px;
  color: #fff;
  background-color: #00aaad;
  border-radius: 50%
}

ul.nav li:hover ul,
ul.nav li.hover ul {
  visibility: visible;
  opacity: 1;
  z-index: 200
}

ul.nav li ul {
  position: absolute;
  top: 100%;
  left: 0;
  visibility: hidden;
  opacity: 0;
  background: #fff;
  list-style: none;
  padding: 0;
  margin: 0;
  transition: .2s;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2)
}

ul.nav li ul li {
  padding: 0;
  margin: 0
}

ul.nav li ul li a {
  display: block;
  color: #333;
  padding: 5px 15px
}

ul.nav li ul li:first-child a {
  padding-top: 10px
}

ul.nav li ul li:last-child a {
  padding-bottom: 10px
}

footer {
  position: relative;
  overflow: hidden;
  color: #fff;
  font-size: 14px;
  background-color: #3c3c97
}

/* footer { background: radial-gradient(at 30% 300%, rgb(10, 59, 108), rgb(3, 17, 51)) } */

footer .logo-footer-center {
  position: absolute;
  top: 150px;
  left: -160px;
  width: 750px;
  opacity: .6;
  z-index: 0;
}

footer .footer-logo {
  width: 160px;
  margin: 0 0 100px 0;
}

footer .footer-top h3 {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  padding: initial;
}

footer .footer-top .footer-nav {
  list-style: none;
  line-height: 24px;
  padding: initial;
}

footer .footer-top .footer-nav li {
  margin: 0 0 10px 0
}

footer .footer-top .footer-nav a,
footer .footer-bottom a {
  color: #fff
}

footer .footer-top p {
  margin: 0 0 20px 0
}

footer .footer-top p a {
  text-decoration: underline
}

footer .footer-bottom {
  font-size: 13px;
  padding: 25px 0
}

.content {
  margin: 30px 0 50px 0
}

.navigator {
  margin: -2px 0 20px 0
}

.navigator .arrow {
  margin: 0 3px
}

ul.categories,
ul.categories ul {
  margin: 0;
  padding: 0;
  list-style: none
}

ul.categories li {
  margin: 0;
  padding: 0
}

ul.categories li a {
  display: block;
  font-size: 15px;
  line-height: 25px;
  font-weight: 700;
  color: #fff;
  background-color: #3c3c97;
  padding: 3px 10px
}

ul.categories ul li a {
  font-size: 13px;
  line-height: 22px;
  font-weight: 400;
  padding: 3px 10px 3px 20px
}

ul.categories ul ul li a {
  padding-left: 32px
}

ul.categories ul ul {
  display: none
}

ul.categories li.open>ul {
  display: unset
}

ul.categories li a:hover,
ul.categories li.active>a {
  background-color: #03b657
}

ul.categories li.active>a {
  cursor: default
}

.filter {
  padding: 17px;
  margin: 0 0 30px 0;
  border: 1px solid #ddd;
  border-radius: 3.5px
}

.filter .row+.row {
  margin-top: 17px
}

.filter .checkbox {
  margin: 0 20px 0 0
}

.filter .form-control {
  display: inline-block;
  width: auto;
  margin: 0 0 0 5px
}

.pagination {
  display: flex;
  align-items: baseline;
  justify-content: center;
  font-weight: 600;
  margin: 30px 0
}

.pagination a {
  display: inline-block;
  text-align: center;
  width: 30px;
  line-height: 30px;
  font-weight: 400;
  margin: 0 3px;
  border: 1px solid #ddd;
  border-radius: 3.5px
}

.pagination .current {
  font-weight: 600;
  background-color: #03b657;
  border-color: #03b657;
  color: #fff;
  cursor: default
}

.products {
  margin: 0 0 -30px 0
}

.products h2 {
  margin: 0 0 25px 0
}

.products h2:empty {
  display: none
}

.products .article:not(:empty) {
  margin: -2px 0 25px 0
}

.products .pagination {
  margin-top: 10px
}

a.subcategory,
div.product {
  display: block;
  height: calc(100% - 30px);
  text-align: center;
  padding: 17px;
  margin: 0 0 30px 0;
  border: 1px solid #ddd;
  border-radius: 3.5px;
  transition: .2s
}
a.subcategory:hover, 
div.product:hover {
  border-color: #2384c6;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2)
}

a.subcategory .image,
div.product .image {
  position: relative;
  padding-top: 67%;
  margin: 0 0 15px 0
}

a.subcategory .image img,
div.product .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 100%;
  max-height: 100%;
  transform: translate(-50%, -50%);
  z-index: 100
}

a.subcategory strong,
div.product strong {
  display: block;
  font-size: 16px;
  line-height: 22px;
  overflow: hidden;
  text-overflow: ellipsis
}

div.product {
  padding: 14px 17px 15px 17px
}

div.product .image {
  margin: 17px 0 15px 0
}

div.product .image .flags {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 101
}

div.product .image .flags span {
  float: left;
  clear: both;
  font-size: 11px;
  line-height: 1;
  font-weight: 500;
  text-transform: uppercase;
  color: #fff;
  background-color: #00aaad;
  padding: 4px 5px;
  margin: 0 0 5px 0;
  border-radius: 3.5px
}

div.product strong {
  font-size: 15px
}

div.product .status {
  font-size: 13px;
  color: #333;
  margin: 7px 0
}

div.product .price {
  font-size: 17px;
  font-weight: 900;
  color: #3c3c97;
}

div.product .price small {
  font-size: 13px;
  font-weight: 400
}

div.product .price del {
  font-size: 15px;
  font-weight: 400;
  color: #999;
  margin: 0 7px 0 0
}

div.product .price.novat {
  font-size: 13px;
  color: #333;
  margin: -1px 0 0 0
}

div.product .price.novat small {
  font-size: 11px
}

div.product .package {
  margin-top: 15px
}

div.product .package .add2cart .count {
  display: none
}

div.product .add2cart {
  justify-content: center;
  margin: 15px 0 7px 0;
  cursor: default
}

div.product .add2cart .count {
  margin: 0 7px 0 0
}

div.product .add2cart .btn {
  padding: 6px 15px
}

.add2cart {
  display: flex;
  align-items: center
}

.add2cart .count {
  display: inline-block;
  text-align: center;
  width: 60px;
  padding-left: 7px;
  padding-right: 7px;
  margin: 0 10px 0 0
}

.product-detail .product-image {
  text-align: center;
  margin: 4px 0 25px 0
}

.product-detail .product-image a {
  display: block
}

.product-detail .product-image a img {
  max-height: 350px
}

.product-detail .product-thumb-images {
  margin: 0 0 10px 0;
  display: flex;
  flex-wrap;
  wrap
}

.product-detail .product-thumb-images a {
  margin: 0 15px 15px 0
}

.product-detail .product-thumb-images a img {
  max-height: 100px
}

.product-detail .price {
  font-size: 22px;
  font-weight: 900;
  color: #3c3c97;
}

.product-detail .price small {
  font-size: 17px;
  font-weight: 400
}

.product-detail .price del {
  font-size: 20px;
  font-weight: 400;
  color: #999;
  margin: 0 8px 0 0
}

.product-detail .price.novat {
  font-size: 17px;
  color: #333;
  margin: -3px 0 20px 0
}

.product-detail .price.novat small {
  font-size: 13px
}

.product-detail .package {
  margin-top: 20px
}

.product-detail .package .add2cart .count {
  display: none
}

.product-detail .params {
  font-size: 16px;
  line-height: 26px;
  margin: 20px 0
}

.product-tabs .nav {
  position: relative;
  margin: 0 0 20px 0
}

.product-tabs .nav:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  bottom: 0;
  background: #eee;
  z-index: -1
}

.product-tabs .nav li {
  padding: 0 0 8px 0;
  margin: 0 30px 0 0
}

.product-tabs .nav a {
  font-size: 20px;
  font-weight: 700;
  color: #333
}

.product-tabs .nav a.active {
  cursor: default
}

.product-tabs .tabs .tab.hidden {
  display: none
}

.article {
  text-align: justify
}

.article p,
.article ul,
.article li {
  margin: 0 0 20px 0
}

.article a:not(.btn) {
  text-decoration: underline
}

.swal2-shown {
  padding-right: unset !important;
  overflow-y: unset !important
}

.swal2-popup {
  width: 550px !important;
  padding: 22px 25px !important
}

.swal2-popup .swal2-close {
  outline: none !important;
  box-shadow: none !important
}

.swal2-popup .swal2-content {
  font-size: 14px;
  line-height: 22px;
  cursor: default
}

.swal2-popup .swal2-content * {
  text-align: center
}

.swal2-popup .swal2-actions {
  margin-top: 15px
}

.swal2-popup .swal2-actions .swal2-styled {
  font-size: 14px;
  line-height: 22px;
  height: auto;
  padding: 9px 25px;
  background-color: #2384c6 !important;
  box-shadow: none;
  cursor: pointer
}

label {
  color: unset;
  font-weight: 500;
  margin-bottom: 3px
}

h3 label {
  font-weight: unset;
  margin: 0
}

label a {
  text-decoration: underline !important
}

.form-control {
  font-size: 14px;
  height: auto !important;
  margin: 0 0 20px 0
}

.form-control[readonly] {
  pointer-events: none
}

label.checkbox {
  padding: 0 0 0 22px;
  cursor: pointer;
  text-align: left;
  color: unset;
  line-height: 1.8;
  font-weight: 400
}

label.checkbox input {
  cursor: pointer;
  margin: 0 5px 0 -22px;
  vertical-align: top;
  position: relative;
  top: 6px
}

table {
  border: none
}

.table {
  color: inherit
}

table td,
table th {
  border-color: #ddd
}

.table td,
.table th,
table td,
table th {
  padding: 6px 10px;
  vertical-align: middle;
  border-top: 1px solid #ddd
}

.table th,
table th,
.table tr:first-child td {
  border-top: none;
  vertical-align: bottom
}

table tbody:first-child tr:first-child td {
  border-top: none
}

table.order td {
  padding: 0 5px 0 0;
  border: none;
  vertical-align: top
}

h2 a {
  color: inherit;
  transition: color .3s
}

h2 .small {
  font-size: 20px;
  font-weight: 600
}

h2 .arrow {
  display: inline-block;
  font-size: 20px;
  margin: 0 5px
}

h2 .selected {
  text-decoration: none;
  cursor: default;
  pointer-events: none
}

table.cart .image {
  display: flex;
  align-items: center;
  float: left;
  font-weight: 600
}

table.cart td:empty {
  padding: 0
}

table.cart .image div {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 15px 0 0;
  flex-shrink: 0
}

table.cart .image img {
  max-height: 100%
}

table.cart input.count {
  display: inline-block;
  text-align: center;
  width: 60px;
  padding-right: 7px;
  padding-left: 7px;
  margin: 0
}

table.cart label {
  font-weight: 500;
  margin: 6px 0 5px 0;
  line-height: 1.5;
  cursor: pointer
}

table.cart label small:not(:empty) {
  display: block;
  font-weight: 400;
  font-size: 13px;
  margin: 0
}

table.cart .radio {
  display: inline-block;
  position: relative;
  top: 2px;
  cursor: pointer;
  margin: 6px 0 8px -8px
}

table.cart .price_label {
  transition: none
}

table.cart .price_label:not(:empty) {
  margin: 0 0 0 10px
}

table.cart .btn-remove::before {
  content: '×';
  font-size: 22px;
  line-height: 1;
  font-weight: 500;
  color: #333;
  padding: 0 5px;
  transition: color .3s ease;
  position: relative;
  top: -1px
}

table.cart .btn-remove:hover::before {
  color: #c82333
}

table.cart input#promocode {
  width: 125px;
  display: inline-block;
  margin: 0 3px 0 0;
  vertical-align: middle
}

form.cart #step2 table.cart tr.disabled * {
  color: #ccc;
  cursor: unset
}

form.cart #step2 table.cart tr.disabled .price_label {
  display: none
}

form.cart fieldset>label:first-child {
  margin: 0
}

form.cart fieldset>label,
form.cart fieldset>label input,
h3 label,
h3 label input {
  cursor: pointer
}

form.cart fieldset>label input,
h3 label input {
  margin: 0 5px 0 0;
  position: relative;
  top: -2px
}

form.cart fieldset>strong,
form.cart fieldset>label>strong,
form.cart #step2 strong {
  display: inline-block;
  font-weight: 700;
  font-size: 20px;
  margin: 0 0 15px 0
}

form.cart #step2 strong {
  font-size: 18px;
  margin: 0
}

form.cart #step4 fieldset>strong {
  display: inline-block;
  margin: 25px auto 0 auto
}

form.cart #step4 table label {
  text-align: right
}

@media (max-width: 767px) {
  header .navbar .navbar-brand img {
    width: auto;
    height: 25px
  }

  header .menu-toggle {
    display: block
  }

  header .navbar-collapse.show {
    display: unset !important;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    width: calc(100% + 30px);
    height: calc(100vh - 50px);
    margin: 0 -15px;
    padding: 10px 0;
    background-color: #062249
  }

  header .navbar-collapse.show.active {
    visibility: visible;
    opacity: 1;
    transition: .2s;
    z-index: 200
  }

  header .navbar-nav {
    display: block !important;
    margin: 0 !important
  }

  header ul.nav {
    justify-content: flex-end
  }

  header ul.nav li a {
    color: #fff !important
  }

  header ul.nav li a:after {
    display: none
  }

  header ul.nav li a[nohref] span:last-child {
    display: none
  }

  header ul.nav li ul {
    position: static;
    visibility: visible;
    opacity: 1;
    box-shadow: none;
    background: transparent;
    padding-top: 5px
  }

  header ul.nav li ul li a {
    display: inline-block;
    color: #fff;
    padding: 7px 15px
  }

  ul.categories {
    margin-bottom: 30px
  }

  .filter .row>div+div {
    margin-top: 10px
  }

  .filter .text-right {
    text-align: left !important
  }

  h2 a {
    display: block;
    margin: 0 0 5px 0
  }

  h2 .arrow {
    display: none
  }
}

.categories,
.categories ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.categories li {
  border-bottom: 1px solid #3c3c97;
  background: #3c3c97;

}

.category-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: #3c3c97;
}

.category-link {
  flex: 1;
  display: block;
  padding: 12px 15px;
  background: #3c3c97;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.2s ease;
}

.category-link:hover {
  background: rgb(60, 109, 182) !important;
}

.dropdown-toggle-custom {
  padding: 4px 10px;
  width: 40px;
  height: 100%;
  background: #3c3c97;
  border: none;
  color: #fff;
  cursor: pointer;
}

.dropdown-toggle-custom::after {
  content: "▾";
  font-size: 12px;
}

.has-sub.open>.category-item .dropdown-toggle-custom::after {
  content: "▴";
}

/* Submenu */
.submenu {
  display: none;
  background: #3c3c97;
}

.has-sub.open>.submenu {
  display: block;
}

.submenu .category-link {
  padding-left: 30px;
  background: #3c3c97;
}

.submenu .submenu .category-link {
  padding-left: 45px;
}