@charset "UTF-8";
:root {
  --form-control-color: blue;
  --bs-breadcrumb-divider: "›" !important;
}

* {
  outline: none;
}

.btn, input[type=text], input[type=phone], input[type=email], input[type=password] {
  border-radius: 0 !important;
}

h1 {
  font-size: 2rem;
  padding: 0.5rem 0;
}

body {
  min-height: 100vh;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  font-family: "Open Sans", sans-serif;
}
@media (max-width: 767.98px) {
  body {
    overflow-x: hidden !important;
  }
}
body #wrapper {
  position: relative;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
html[style="overflow-x: hidden;"] #content-container {
  -webkit-filter: blur(0.125rem);
          filter: blur(0.125rem);
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  z-index: -1;
}

a {
  color: #091d33;
  text-decoration: none;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
a:hover {
  color: #cc2936;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

#panel {
  z-index: 99;
  min-height: 100%;
  -webkit-box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.25);
          box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.25);
  min-width: 24rem;
  width: 24rem;
  visibility: hidden;
}
#panel .panel-close {
  width: 100%;
  display: block;
  text-align: right;
  cursor: pointer;
  padding: 1rem 0;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
#panel .panel-close:hover {
  color: #cc2936;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
#panel .panel-close i {
  display: inline-block;
  font-size: 1.5rem;
}
#panel #top-panel-content {
  padding: 0 1rem;
}
#panel #panel-content {
  padding: 0 1em;
}
#panel ul {
  width: 22rem;
  min-width: 100%;
  list-style: none;
  padding: 0 1rem 0 0;
  font-size: 1.125rem;
}
#panel ul li {
  padding: 0.125rem 0;
}
#panel ul .deeper {
  width: 100%;
  padding-right: 2rem;
  display: block;
}
#panel ul .deeper ul {
  padding: 0 2rem 0 2rem;
  font-size: 1rem;
}
#panel ul .deeper .has-arrow {
  display: block;
}
#panel ul .deeper .has-arrow:after {
  right: -2rem;
}

#top-panel-content a.logo {
  position: relative;
  display: inline-block;
  top: -2rem;
}
#top-panel-content a.logo img {
  max-width: 14rem;
}
#top-panel-content .sidebar-address-block {
  font-size: 0.925rem;
}
#top-panel-content .sidebar-address-block ul {
  padding-top: 0.25rem;
}
#top-panel-content .sidebar-address-block ul li {
  padding: 0.375rem 0;
  font-size: 0.925rem;
}
#top-panel-content .sidebar-address-block ul li.sender, #top-panel-content .sidebar-address-block ul li.phone {
  padding-left: 1rem;
}

#panel-content a {
  font-size: 1.0625rem;
}

#top-navigation {
  z-index: 9;
  background: lightgray -webkit-gradient(linear, left bottom, right top, from(#f5f7fa), color-stop(#e6ebf2), color-stop(#d6deea), color-stop(#c7d2e3), to(#b8c6db));
  background: lightgray linear-gradient(to right top, #f5f7fa, #e6ebf2, #d6deea, #c7d2e3, #b8c6db);
}
#top-navigation #panel-toggle {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 2;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
#top-navigation #panel-toggle:hover {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
#top-navigation .top-lang-switcher-block {
  padding: 1rem 0;
  font-size: 0.9375rem;
  line-height: 1.5;
}
#top-navigation .top-lang-switcher-block a {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #6c757d;
}
#top-navigation .top-lang-switcher-block a:hover {
  color: #cc2936;
}
#top-navigation .top-lang-switcher-block div.advanced-dropdown a.langChoose:link,
#top-navigation .top-lang-switcher-block div.advanced-dropdown a.langChoose:visited {
  background-color: transparent;
  border: none;
  border-radius: 0;
  width: 2.5rem;
  margin-top: 0.5rem;
  padding: 0.25rem 0.25rem 0.25rem 0.375rem;
  line-height: 0;
  -webkit-transition: all 0.75s;
  transition: all 0.75s;
  color: #040707;
}
#top-navigation .top-lang-switcher-block div.advanced-dropdown span.caret {
  display: inline-block;
  width: 0;
  height: 0;
  vertical-align: middle;
  border: none;
  content: "";
  margin-left: 0.0625rem;
}
#top-navigation .top-lang-switcher-block div.mod-languages.advanced-dropdown ul {
  background: #040707;
  position: absolute;
  z-index: 100;
  list-style-type: none;
  left: 0;
  padding: 0.5rem 10px 5px 4px;
  border-radius: 0 0 2px 2px;
}
#top-navigation .top-lang-switcher-block div.mod-languages.advanced-dropdown ul a {
  color: white;
}
#top-navigation .top-menu-container {
  padding: 0;
}
#top-navigation .top-account-block {
  line-height: 2;
}
#top-navigation .top-account-block i {
  font-size: 1rem;
  margin-top: 1.375rem;
}
@media (max-width: 991.98px) {
  #top-navigation .top-account-block i {
    font-size: 1.5rem;
    margin-top: 1rem;
  }
}
#top-navigation .top-account-block span {
  display: inline-block;
  padding-left: 0.25rem;
}
@media (max-width: 991.98px) {
  #top-navigation .top-account-block span {
    display: none;
  }
}
#top-navigation .top-favorite-block, #top-navigation .top-basket-block, #top-navigation .top-account-block {
  padding: 0 1rem 0 0;
}
#top-navigation .top-favorite-block a, #top-navigation .top-basket-block a, #top-navigation .top-account-block a {
  color: #6c757d;
}
#top-navigation .top-favorite-block a:hover, #top-navigation .top-basket-block a:hover, #top-navigation .top-account-block a:hover {
  color: #cc2936;
}
#top-navigation .dropdown-block {
  position: relative;
  width: 3rem;
  height: 3rem;
}
#top-navigation .dropdown-block-trigger {
  position: relative;
  line-height: 3rem;
  text-align: center;
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
  z-index: 2;
}
#top-navigation .dropdown-block-trigger:hover {
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
  color: #cc2936;
}
#top-navigation .dropdown-block-trigger i {
  font-size: 1.5rem;
  margin-top: 1rem;
}
#top-navigation .dropdown-block-trigger sup {
  display: inline-block;
  position: absolute;
  top: 1.75rem;
  right: 0.125rem;
  background: #6c757d;
  width: 1.125rem;
  height: 1.125rem;
  line-height: 1.125rem;
  color: white;
  font-size: 0.675rem;
  border-radius: 50%;
  z-index: 2;
}
#top-navigation .dropdown-block-trigger sup.full {
  background: #cc2936;
}
#top-navigation .dropdown-block-content {
  display: none;
  position: absolute;
  right: 0;
  top: 3rem;
  width: 30rem;
  background: white;
  border: 0.0625rem solid rgba(0, 0, 0, 0.125);
  -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.125);
          box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.125);
  padding: 2rem;
  z-index: 99;
}
#top-navigation .dropdown-block-content .items {
  max-height: 18rem;
  padding-right: 1rem;
  overflow-y: scroll;
}
#top-navigation .dropdown-block-content table {
  width: 100%;
}
#top-navigation .dropdown-block-content img {
  max-width: 4rem;
}

header {
  padding: 0.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
}
@media (max-width: 991.98px) {
  header .mobile-tablet-fix-container {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
}
header .header-logotype {
  padding: 0.75rem 0;
}
header .header-logotype img {
  max-width: 14rem;
  margin: 0 1rem;
}
header .top-address-block {
  font-size: 0.9375rem;
}
header .top-address-block ul {
  list-style: none;
}
header .top-address-block ul li {
  display: block;
  width: 100%;
  padding: 0.125rem 0;
}
header .top-address-block ul a {
  color: black;
  text-decoration: none;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
header .top-address-block ul a:hover {
  color: blue;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
@media (max-width: 767.98px) {
  header .top-address-block {
    display: none;
  }
}
header .top-address-block .contacts {
  padding-top: 0.25rem;
}
header .top-address-block .contacts li a {
  display: inline-block;
  position: relative;
}
header .top-address-block .contacts li a:before {
  font-weight: 700;
  font-family: "Font Awesome 6 Free";
  font-size: 0.925rem;
  color: #36454f;
  position: absolute;
  top: 0.0625rem;
  left: -1.5rem;
}
header .top-address-block .contacts li.phone a.main:before {
  content: "\f095";
}
header .top-address-block .contacts li.sender a:before {
  content: "\f0e0";
}

header .callback {
  border: 0.0625rem solid rgba(54, 69, 79, 0.5);
  border-radius: 0;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  margin-top: 1rem;
}
@media (max-width: 767.98px) {
  header .callback {
    position: absolute;
    top: 4.25rem;
    right: 1rem;
  }
}
header .callback:hover {
  border: 0.0625rem solid #36454f !important;
}
@media (max-width: 991.98px) {
  header .callback span {
    display: none;
  }
}

nav.top-nav {
  display: none;
  position: relative;
  z-index: 9;
}
@media only screen and (min-width: 920px) {
  nav.top-nav {
    display: block;
  }
}
nav.top-nav ul {
  font-size: 0;
  margin: 0;
  padding: 0;
}
nav.top-nav ul li {
  display: inline-block;
  position: relative;
}
nav.top-nav ul li a {
  color: inherit;
  display: block;
  position: relative;
  font-size: 0.935rem;
  padding: 1rem;
  text-decoration: none;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}
nav.top-nav ul li:hover {
  color: #fff;
  background: #126d9b;
}
nav.top-nav ul li.parent > a {
  padding-right: 2.5rem;
}
nav.top-nav ul li.parent > a:after {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  content: "\f078";
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  font-size: 0.625rem;
}
nav.top-nav ul li ul {
  padding: 0;
  margin: 0;
  border-bottom: 0.12rem solid #2ba0db;
  display: none;
  position: absolute;
  width: 250px;
  z-index: 99;
}
nav.top-nav ul li ul li {
  border-top: 0.00625rem solid #444;
  display: block;
}
nav.top-nav ul li ul li:first-child {
  border-top: none;
}
nav.top-nav ul li ul li a {
  background: #373737;
  display: block;
  padding: 0.75rem 0.935rem;
}
nav.top-nav ul li ul li a:hover {
  background: #126d9b;
}
nav.top-nav ul li ul li.parent > a:after {
  top: 1rem;
  content: "\f054";
}
nav.top-nav ul li ul li ul {
  left: 250px;
  top: 0;
}

footer {
  min-height: 4rem;
  padding: 2rem 0 0 0;
  background: #040707;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  footer .container, footer .container-fluid {
    background: url("../images/logotypes/logo-stamp-white-transparent.png") no-repeat top right;
    background-size: contain;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  footer .container, footer .container-fluid {
    background-size: 35%;
    background-position: bottom right;
  }
}
footer .footer-block .heading {
  font-family: "Amatic SC", cursive;
  font-weight: 700;
  font-size: 1.5rem;
  color: #ABC6DD;
}
footer .logo {
  display: inline-block;
  max-width: 12rem;
  margin: 1rem 0;
}
@media (max-width: 991.98px) {
  footer .logo {
    display: none;
  }
}
footer .footer-work-time .footer-block-content {
  padding-top: 1rem;
  color: rgba(255, 255, 255, 0.85);
}
footer .footer-work-time .footer-block-content p {
  padding: 0.125rem;
  margin: 0;
}
@media (max-width: 575.98px) {
  footer .footer-menu .navbar-toggler {
    display: block;
    margin-bottom: 1rem;
    border: 0.0625rem solid rgba(248, 249, 250, 0.25);
    outline: none;
  }
  footer .footer-menu .navbar-toggler span.icon-menu {
    color: white;
  }
  footer .footer-menu .navbar-toggler span.icon-menu:after {
    display: inline-block;
    content: "\f078";
    font-family: "Font Awesome 6 Free";
    font-weight: 700;
    font-size: 1rem;
  }
  footer .footer-menu .navbar-toggler.collapsed span.icon-menu:after {
    content: "\f077";
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  footer .footer-menu ul {
    margin: 0 auto;
  }
}
footer .footer-menu ul li {
  width: 100%;
  display: block;
  padding: 0.125rem;
}
footer .footer-menu ul li ul {
  display: none;
}
footer .footer-menu ul li a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
}
footer .footer-contacts-block .footer-block-content .time {
  display: none;
}
footer .footer-contacts-block .footer-block-content ul {
  list-style: none;
}
footer .footer-contacts-block .footer-block-content ul li {
  padding: 0.125rem 0;
  margin: 0.75rem 0;
  position: relative;
}
footer .footer-contacts-block .footer-block-content ul li:before {
  font-weight: 700;
  font-family: "Font Awesome 6 Free";
  font-size: 0.925rem;
  color: #ABC6DD;
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
}
footer .footer-contacts-block .footer-block-content ul li.phone:before {
  content: "\f095";
}
// start new
footer .footer-contacts-block .footer-block-content ul li.phone a {
  display: block !important;
  width: 100% !important;
}
// end new
footer .footer-contacts-block .footer-block-content ul li.sender:before {
  content: "\f0e0";
}
footer .footer-contacts-block .footer-block-content a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
}
footer .copyright {
  padding: 1rem 0;
  margin-top: 2rem;
  background: #1f2430;
  font-size: 0.875rem;
  text-align: center;
  color: white;
}

.frontpage .frontpage-block {
  padding: 1rem 0 0 0;
}
.frontpage .present {
  background: url("../images/frontpage/sheet.png") no-repeat center center;
}
.frontpage .present .left {
  background-image: url("../images/frontpage/stamps.png"), url("../images/frontpage/_bg.png");
  background-position: center center, top left;
  background-repeat: no-repeat, no-repeat;
  background-size: cover, contain;
}
@media (max-width: 991.98px) {
  .frontpage .present .left {
    display: none;
  }
}
.frontpage .present .left img {
  visibility: hidden;
  width: 90%;
  height: auto;
}
.frontpage .present .right .content {
  padding: 5rem 5rem 7rem 5rem;
  background: #f7f7f7 url("../images/frontpage/pattern.png") no-repeat center right;
  background-size: contain;
}
@media (max-width: 767.98px) {
  .frontpage .present .right .content {
    padding: 2rem;
  }
}
.frontpage .present .right .content .heading {
  font-size: 2rem;
  line-height: 1.12;
  font-weight: 700;
  font-family: "Amatic SC", cursive;
  color: #c95000;
}
.frontpage .present .right .content ul {
  list-style: circle;
  padding-top: 1rem;
}
.frontpage .present .right .content ul li {
  padding: 0.25rem 0;
  font-size: 1rem;
}
.frontpage .categories-block image {
  display: inline-block;
}
.frontpage .categories-block a {
  display: block;
  font-size: 1.25rem;
  text-align: center;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
.frontpage .categories-block a span {
  display: inline-block;
  padding: 1rem 0;
}
.frontpage .categories-block a:hover {
  -webkit-box-shadow: 1px 1px 12px rgba(0, 0, 0, 0.125);
          box-shadow: 1px 1px 12px rgba(0, 0, 0, 0.125);
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
.frontpage .intro-block .mod-custom {
  padding: 1rem 0;
}

.breadcrumbs {
  font-size: 0.9375rem;
}
.breadcrumbs ol li:first-child a {
  display: inline-block;
  position: relative;
}
.breadcrumbs ol li:first-child a:before {
  content: "\f015";
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  font-size: 0.75rem;
  position: relative;
  top: -0.0625rem;
  left: 0;
}
.breadcrumbs ol li:first-child a span {
  display: none;
}

.list_category .category {
  padding: 1rem;
}
.list_category .category .category_name {
  font-size: 1.25rem;
}

.list_product .block_product {
  padding: 1rem;
}

.pagination span[class*=icon-angle] {
  display: inline-block;
}
.pagination span[class*=icon-angle]:before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
}
.pagination .icon-angle-double-left:before {
  content: "\f100";
}
.pagination .icon-angle-left:before {
  content: "\f104";
}
.pagination .icon-angle-right:before {
  content: "\f105";
}
.pagination .icon-angle-double-right:before {
  content: "\f101";
}

#product-preview {
  padding-bottom: 1rem;
}
#product-preview .heading {
  text-align: center;
  font-weight: 700;
  font-size: 1.25rem;
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
}
#product-preview .price {
  font-size: 1.5rem;
  text-align: center;
  font-weight: 400;
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  color: #a53f2b;
}
#product-preview .image {
  text-align: center;
}
#product-preview .image img {
  display: inline-block;
}
#product-preview .attributes-wrapper {
  display: block;
  text-align: center;
  padding: 0.25rem 0.25rem 0.25rem 1rem;
  border-bottom: 0.0625rem solid rgba(128, 128, 128, 0.5);
  background: rgba(128, 128, 128, 0.125);
}
#product-preview .attributes-wrapper input {
  position: relative;
  top: 1.25rem;
}
#product-preview .attributes-wrapper .label-name {
  position: relative;
  display: inline-block;
  padding-left: 1rem;
  bottom: 0.75rem;
}
#product-preview .attributes-wrapper .label-image {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#telegram-submit {
  border-radius: 0;
}

.productfull h1 {
  font-size: 1.75rem;
}
.productfull .image_middle {
  text-align: center;
}
.productfull .image_middle .text_zoom {
  text-align: center;
}
.productfull .prod_price {
  font-weight: 400;
  font-size: 1.25rem;
  padding: 1rem 0;
}
.productfull .prod_price #block_price {
  font-weight: 500;
  font-size: 1.5rem;
}
.productfull .prod_buttons #quantity {
  border-radius: 0 !important;
}
.productfull .prod_buttons .btn-buy, .productfull .prod_buttons .btn-wishlist {
  position: relative;
  border-radius: 0;
  padding: 0.5rem 1rem 0.5rem 2.5rem;
  font-size: 1rem;
  margin-top: 0;
}
.productfull .prod_buttons .btn-buy i, .productfull .prod_buttons .btn-wishlist i {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
}
.productfull .quick-order-trigger {
  padding: 1rem 1rem 1rem 11rem;
}
@media (max-width: 767.98px) {
  .productfull .quick-order-trigger {
    padding: 1rem 1rem 1rem 0;
  }
}
.productfull .quick-order-trigger a {
  display: inline-block;
  padding: 0.5rem 1rem;
  border: 0.0625rem dotted #198754;
  color: #198754;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
.productfull .quick-order-trigger a:hover {
  border: 0.0625rem dotted #198754;
  color: white;
  background: #198754;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
.productfull .jshop_prod_attributes {
  padding-top: 2rem;
}
.productfull .jshop_prod_attributes .attributes_title {
  display: none !important;
}
.productfull .jshop_prod_attributes span[id*=block_attr_sel_] {
  display: inline-block;
  padding: 1.5rem 0;
}
.productfull .related_header {
  font-size: 1.75rem;
  font-weight: 300;
  padding: 1rem;
  text-align: center;
  border-bottom: 1px solid rgba(153, 153, 153, 0.25);
}
.productfull .list_related_products .jshop_price {
  padding: 1rem 0;
  font-size: 1.25rem;
}
.productfull .list_related_products .buttons {
  display: none;
}

.editaccount_block .other_delivery_adress {
  display: none;
}

@media (min-width: 768px) {
  #updateCart .jshop_img_description_center img {
    max-width: 10rem;
  }
}
#updateCart .icon-refresh:before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f021";
}

.address_block .other_delivery_adress {
  display: none;
}

.checkout_shipping_block .shipping_price {
  display: none;
}

.checkout_pfinish_block .checkoutinfo .bill_address, .checkout_pfinish_block .checkoutinfo .delivery_address {
  display: none;
}

.jshop_subtotal .shipping {
  display: none;
}

@media (min-width: 768px) {
  .cartcheckout .jshop_img_description_center img {
    max-width: 10rem;
  }
}

span.mail {
  visibility: hidden;
}

/* *** Scroll Up *** */
.scrollup {
  display: none;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  position: fixed;
  right: 2.25rem;
  bottom: 3rem;
  text-decoration: none;
  text-align: center;
  background: rgba(54, 69, 79, 0.925);
  border-radius: 10rem;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  z-index: 999;
}
.scrollup:before {
  position: relative;
  top: 0;
  left: 0;
  content: "\f077";
  font-weight: 900;
  font-family: "Font Awesome 6 Free";
  font-size: 1.5rem;
  color: white;
}
.scrollup span {
  position: relative;
  top: -0.25rem;
  display: inline-block;
  visibility: hidden;
  color: white;
  font-size: 0.9rem;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  z-index: 999;
}
.scrollup:hover {
  background: #a53f2b;
}

.product_label_attr {
  position: relative;
  padding: 0.5rem;
  width: 8rem;
  margin-bottom: 1rem;
  text-align: center;
}
.product_label_attr input[type=radio] {
  position: absolute;
  top: -0.25rem;
  left: 44%;
}
.product_label_attr .radio_attr_label_name_mod {
  font-size: 0.75rem;
  display: block;
  padding: 1rem 0;
}
.product_label_attr .img_block {
  display: block;
  margin: 0 auto;
  width: 4rem;
  height: 4rem;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.product_label_attr img {
  display: none;
  max-width: 6rem;
  width: 100% !important;
}

.owl-carousel {
  list-style: none;
}
.owl-carousel li {
  text-align: center;
}

/**
* https://moderncss.dev/pure-css-custom-styled-radio-buttons/
 */
input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid currentColor;
  border-radius: 50%;
  -webkit-transform: translateY(-0.075em);
          transform: translateY(-0.075em);
  display: -ms-grid;
  display: grid;
  place-content: center;
}

input[type=radio]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border-radius: 50%;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms transform ease-in-out;
  transition: 120ms transform ease-in-out, 120ms -webkit-transform ease-in-out;
  -webkit-box-shadow: inset 1em 1em var(--form-control-color);
          box-shadow: inset 1em 1em var(--form-control-color);
}

input[type=radio]:checked::before {
  -webkit-transform: scale(1);
          transform: scale(1);
}

input[type=radio]:focus {
  outline: max(2px, 0.15em) solid currentColor;
  outline-offset: max(2px, 0.15em);
}