/* start custom checkout */
@media (max-width: 991px) {
body#checkout {
  height: 100%;
}
body#checkout main {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
body#checkout #wrapper {
  flex: 1 0 auto;
}
}
@media (min-width: 992px) { .hidden-desktop {display: none!important;} }
input.form-control, select.form-control {border-radius: 4px;}
.custom-radio input[type=radio]:checked+span {
    background-color: #232323;
}
.form-control:focus {
    border-color: #232323;
    outline: .1rem solid #232323;
}
.popover {
    display: none;
}
body#checkout .container {
    width: 100%;
}

body#checkout a,
body#checkout .product-price {
    color: #232323;
}
body#checkout #wrapper {
    padding: 0;
    background: #fff;
}
body#checkout #header {
	height: 81px;
	width: 100%;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-bottom: 1px solid #ddd;
	box-shadow: none;
}
body#checkout #header .header-nav {
	max-width: 1320px;
	margin: auto;
	padding: 0;
}
body#checkout #header #_desktop_logo a {
    display: block;
    text-align: center;
}
body#checkout #header .header-nav .logo {
    max-height:5rem;
}
body#checkout #header #_back_cart {
    height: 75px;
}
body#checkout #header #_back_cart a {
    align-items: center;
    height: 100%;
    display: flex;
    float: right;
}
body#checkout .col-flex-checkout {
    display: flex;
    flex-wrap: wrap;
}
body#checkout .cart-grid-body,
body#checkout .cart-grid-right {
    display: flex;
    flex-direction: column;
}
.password-strength-feedback {
    margin-bottom: -0.5rem;
}
.password-strength-feedback .progress-container {
    display: none;
}
.password-strength-feedback p {
    font-size: 0.85rem;
	margin-bottom: 0.5rem;
}
.password-strength-feedback p i {
    font-size: 1.3rem;
	display: none;
}
.password-strength-feedback p i.text-success {
    margin-top: -2px;
	margin-left: -3px;
	display: inline-block;
}
.password-requirements-score {
	display: none;
}
#checkout-personal-information-step:not(.-complete) h1 {
	display: none!important;
}
body#checkout .nav-item .nav-link:hover {
    color: #232323;
}
body#checkout .nav-link {
    font-size: 1rem;
    font-weight: 400;
    text-decoration: underline;
    padding-right: 6px;
    padding-bottom: 6px;
    color: #555;
}
body#checkout .nav-link.active {
    font-size: 1.5rem;
    font-weight: 600;
    text-decoration: none;
    color: #232323;
}
@media (max-width: 767px) {
body#checkout .nav-link {
    font-size: 1rem;
}
body#checkout .nav-link.active {
    font-size: 1.25rem;
}
}
body#checkout .form-group:has([for="field-psgdpr"]) {
    margin-bottom: 0;
}
body#checkout .form-control-label[for="field-psgdpr"] {
    display: none;
}
.form-group:has([name="newsletter"]),
.elementor-field-group:has([name="newsletter"]),
body#checkout .form-group:has([for="field-alias"]),
.form-group:has([for="field-vat_number"]) {
	display: none;
}
@media (max-width: 767px) {
.field-password-policy .col-md-3.form-control-comment {
	display: none;
}
body#checkout section.checkout-step #customer-form .form-control-label[for="field-psgdpr"], 
body#checkout section.checkout-step #customer-form .form-control-label[for="field-newsletter"] {
	display: none;
}
.form-group:has([for="field-psgdpr"]) {
	margin-top: 0.5rem;
}
}
.cart-grid-details {
    background: #f6f6f8;
}
.checkout-msummary {
	padding-top: 1rem;
	padding-bottom: 1rem;
	cursor: pointer;
    display: inline-flex;
    width: 100%;
}
.checkout-msummary .js-cart-summary-totals {
    width: 30%;
}
.checkout-msummary .js-cart-summary-totals .cart-total {
    padding: 0!important;
}
.checkout-msummary-txt {
    width: 70%;
}
.checkout-msummary-txt:after {
    position: absolute;
	width: 20px;
    height: auto;
    margin-top: 1px;
    margin-left: 3px;
    content: url("/modules/customcheckout/views/img/chevron-down.svg");
}
.checkout-msummary-txt.bold {
	font-weight: 700;
}
.checkout-msummary-total {
	float: right;
	font-weight: 700;
}
@media (max-width: 991px) {
body#checkout #js-checkout-summary > .checkout-msummary .cart-summary-line.cart-total .label {
    display: none;
}
}
.checkout-msummary-hidden-details {
	display: none;
}
.checkout-msummary-hidden-details.is-open {
	margin-top: -0.25rem;
	display: block!important;
}
.checkout-msummary-hidden-details .aw-cart-total {
    display: none;
}
.checkout-msummary-hidden-details .cart-summary-totals {
	margin-bottom: 1rem;
}
.checkout-msummary-txt2 {
	font-size: 1.5rem;
	font-weight: 600;
}
.checkout-mvoucher {
    margin-top: -0.9rem;
    padding-top: 0rem;
    padding-bottom: 0.8rem;
    cursor: pointer;
}
body#checkout .checkout-mvoucher .btn {
    color: #555;
    font-size: 0.75rem;
    font-weight: 400;
    padding: 0;
    text-transform: none;
    border: 0;
    border-radius: 6px;
    background: #f6f6f8;
    text-decoration: none;
}
.checkout-mvoucher-hidden-details {
	display: none;
}
.checkout-mvoucher-hidden-details.is-open {
	margin-top: -0.5rem;
	display: block!important;
}
@media (max-width: 991px) {
body#checkout .cart-grid-right .card .cart-summary-subtotals-container .cart-summary-line {
    margin-bottom: 0!important;
}
body#checkout .cart-grid-right .card .cart-summary-subtotals-container .cart-summary-line .label {
    font-size: 0.85rem;
}
body#checkout .cart-grid-right .card .cart-summary-subtotals-container {
    padding: 0.6rem 0;
}
.block-promo {
    margin-bottom: 0.5rem;
}
}
.card-block.cart-summary-totals {
	padding-top: 0;
}
body#checkout section.checkout-step.-reachable.-complete h1 .step-edit {
	display: none;
}
body#checkout section#checkout-personal-information-step.checkout-step.-reachable.-complete .step-title.first-contact {
	display: none;
}
@media (max-width: 991px) {
body#checkout .done {
    display: inline-block;
    padding: 0 .8125rem;
    margin-right: 1.563rem;
    color: #4cbb6c;
}
}
body#checkout .form-control-comment,
body#registration .form-control-comment,
body#identity .form-control-comment {
    display: none;
}
body#checkout .column-left {
	background: #fff;
	min-height: 100%;
	margin: 0;
	display: flex;
}
@media (min-width: 992px) {
body#checkout .column-left {
	padding-right: 30px;
}  
}
body#checkout .column-left .content-column-left {
	max-width: 670px;
	margin: 0 0 0 auto;
	padding: 30px 10px;
	width: 100%;
}
body#checkout section.checkout-step .content {
    padding: 1rem 0.25rem 0;
}
@media (max-width: 991px) {
body#checkout .column-left .content-column-left {
	max-width: unset;
	margin: 0 auto;
	padding: 10px 0px;
	width: 100%;
}
body#checkout section.checkout-step,
body#checkout section.checkout-step .content {
	padding-left: 0;
	padding-right: 0;
}
}
body#checkout #checkout-payment-step .payment-options {
	margin-top: -0.5rem;
}
body#checkout #checkout-payment-step .payment-options,
body#checkout #checkout-payment-step #conditions-to-approve {
	margin-left: 0.5rem;
}
body#checkout .column-right {
	background: #f6f6f8;
	border-left: 1px solid #ddd;
	min-height: calc(100vh - 80px);
	display: flex;
}
body#checkout .column-right .content-column-right {
	max-width: 500px;
	margin: 0 auto 0 0;
	padding: 30px 10px;
	width: 100%;
}
@media (max-width: 991px) {
body#checkout .column-right {
	border-left: 0;
	min-height: unset;
	display: none;
}
body#checkout .column-right .content-column-right {
	max-width: unset;
}
}
body#checkout .cart-grid-right .card {
    background: transparent;
}
body#checkout .cart-grid-details .card {
    margin-bottom: 0;
}
body#checkout section.checkout-step.-reachable.-current .step-number {
    width: 33px;
    min-width: 33px;
    height: 33px;
    background-color: #16154d;
}
body#checkout section.checkout-step:last-child .step-title {
    border: 0;
}
body#checkout .btn {
    background: #232323;
    border-radius: 999px;
}
body#checkout .btn[data-action="show-password"] {
    border-radius: 0px;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}
body#checkout .btn.float-xs-right {
    float: unset!important;
    display: block;
    margin: auto;
}
body#checkout section.checkout-step .forgot-password {
    font-size: 0.8rem;
    margin-left: 0;
    margin-bottom: 1rem;
}
@media (max-width: 991px) {
body#checkout #delivery-address {margin-top: 0!important;}
}
body#checkout .js-address-form .form-control-comment {display:none !important;}
body#checkout .js-customer-form label.form-control-label.required::after,
body#checkout .js-address-form label.form-control-label.required::after {
	content: " *";
	color: #ff0000;
	font-weight: 600;
}
body#checkout section.checkout-step .content .js-address-form #delivery-address {
    margin: 0;
}
body#checkout .js-address-form {
	margin-top: 1rem;
}
body#checkout section.checkout-step .address-item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 49%;
    flex: 0 0 49%;
    border: 3px solid #ffffff;
}
body#checkout .js-address-form:not(:has(article)) form p {
	display: none;
}
body#checkout .js-address-form form .form-control-label {
	text-align: left;
	line-height: 1.1;
}
body#checkout .js-address-form form .form-control-label[for="field-phone"] span {
	color: #777;
	font-size: 0.75rem;
	font-weight: 400;
}
body#checkout section.checkout-step .address-alias {
    display: none;
}
body#checkout section.checkout-step .address {
    margin-left: 3px;
    margin-top: 0.75rem;
}
body#checkout section.checkout-step .address-item.selected {
    border: #333 3px solid;
}
@media (max-width: 991px) {
body#checkout section.checkout-step .carrier-name {
    padding-top: 7px;
}
body#checkout section.checkout-step .delivery-options .delivery-option .carrier>.col-xs-12.carriere-name-container {
	margin-bottom: -3px;
}
body#checkout .delivery-options {
    margin-bottom: 0.5rem;
}
body#checkout #delivery {
    display: none;
}
}
body#checkout section.checkout-step .delivery-options>.row {
    border-right: 0;
    margin-left: 0;
    margin-right: 0;
}
body#checkout #cart-summary-product-list li {
    margin-bottom: 0.75rem;
}
body#checkout #cart-summary-product-list img {
    width: 4rem;
    margin-right: 7px;
    padding: 3px;
    background: #fff;
    border: 0;
    border-radius: 4px;
}
body#checkout #cart-summary-product-list .media-body .product-name {
    font-weight: 500;
}
body#checkout .media-list .media,
body#checkout .media-list .media .media-left,
body#checkout .media-list .media .media-left a {
  position: relative;
  overflow: visible;
}
body#checkout .media-list .media .product-quantity {
  position: absolute;
  top: -6px;
  left: 54px;
  min-width: 16px;
  height: 16px;
  padding: 0 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #232323;
  color: #fff;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.075;
  border-radius: 999px;
  z-index: 5;
}
body#checkout .condition-label label a {
    text-decoration: underline;
}
body#checkout .condition-label label a:hover {
    text-decoration: none;
}
#payment-confirmation .btn {
    width: 100%;
    padding: 14px 28px 14px 28px;
}
body#checkout #footer {
    padding: 0;
    background: transparent;
}
@media (max-width: 991px) {
body#checkout #footer {
  padding-top: 1.5rem;
  margin-top: auto;
}
}
body#checkout section#content {
    margin-bottom: 0;
}
body#checkout section.checkout-step .step-title {
    font-size: 1.5rem;
	text-transform: none;
    border-bottom: 1px solid #e9e9e9;
}
body#checkout section.checkout-step.-current+.checkout-step .step-title {
    border-top: 1px solid #e9e9e9;
}
body#checkout section.checkout-step .step-title.first-contact {
	display: flex;
	align-items: center;
}
body#checkout section.checkout-step .step-title .nav-item:has([data-link-action="show-login-form"]) {
	width: 100%;
	text-align: right;
	margin-top: -10px;
    font-size: 0.675rem;
    color: #aaa;
    line-height: 1.1;
}
@media (max-width: 767px) {
body#checkout section.checkout-step .step-title .nav-item:has([data-link-action="show-login-form"]) {
    font-size: 0.6rem;
}
}
body#checkout section.checkout-step .step-title .nav-item:has(.nav-link.active[data-link-action="show-login-form"]) {
    font-size: 0;
}
body#checkout section.checkout-step .step-title .contact {
	margin-left: 0.9rem;
}
body#checkout section.checkout-step .step-title .nav-separator {
	color: #ddd;
	padding: 0 0.9rem 0 1rem;
}
body#checkout section.checkout-step #login-form,
body#checkout section.checkout-step #customer-form {
    margin-top: 2rem;
}
@media (min-width: 768px) {
body#checkout #checkout-personal-information-step .form-group .col-md-6,
body#checkout #checkout-addresses-step .form-group .col-md-6 {
    width: 75%!important;
}
body#checkout .form-group:has([for="field-psgdpr"]) .js-input-column,
body#checkout #checkout-personal-information-step .form-group:has([for="field-psgdpr"]) .col-md-6.js-input-column {
    width: 100%!important;
}
}
@media (max-width: 767px) {
body#checkout section.checkout-step .step-title {
    font-size: 1.25rem;
}
body#checkout section.checkout-step #login-form,
body#checkout section.checkout-step #customer-form {
    margin-top: 1.5rem;
}
}
body#checkout section.checkout-step.-complete #customer-form {
    margin-top: 1rem;
}
.form-group:has([for="field-id_gender"]),
.elementor-field-group:has([name="id_gender"]) {
	display: none;
}
body#checkout section.checkout-step .form-informations {
    color: #232323;
	cursor: pointer;
	margin-top: 1.5rem;
}
.form-informations-option:after {
    position: absolute;
	width: 20px;
    height: auto;
    margin-top: 0px;
    margin-left: 3px;
    content: url("/modules/customcheckout/views/img/chevron-down.svg");
}
body#checkout section.checkout-step .form-informations-subtitle {
    color: #aaa!important;
    font-size: 0.8rem!important;
    display: none;
}
.input-group .input-group-btn>.btn[data-action=show-password] {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    font-size: 0;
    padding: .4rem 1rem;
}
.input-group .input-group-btn>.btn[data-action=show-password] i.material-icons {
    font-size: 16px;
}
body#checkout section.checkout-step .field-password-policy {
    display: none;
}
body#checkout section.checkout-step .field-password-policy.is-open {
    display: block;
    margin-bottom: 1.25rem;
}
@media (max-width: 767px) {
body#checkout section.checkout-step .field-password-policy {
    margin-top: -1rem;
}	
}
body#checkout .block-promo .promo-code {
    padding: 0.25rem 0 1rem 0;
}
body#checkout .block-promo .promo-code form {
    text-align: left;
}
body#checkout .block-promo .promo-input {
    width: 78%;
    height: 2.5rem;
    padding: 0;
    color: #333;
    text-indent: .625rem;
	border-radius: 6px;
    border: #c3c3c3 1px solid;
}
body#checkout .block-promo .promo-input+button {
    width: 20%;
	height: 2.5rem;
	color: #555;
	font-size: 0.875rem;
	font-weight: 400;
	margin-top: 0;
    margin-left: 0;
	padding: 0;
	float: right;
	border-radius: 6px;
	background-color: #e7e7e7!important;
    border: #c3c3c3 1px solid;
}
body#checkout .block-promo.promo-highlighted,
body#checkout .cart-grid-right .promo-discounts {
    padding:0;
    color: #232323;
}
body#checkout .cart-grid-right .promo-discounts .cart-summary-line .label {
    color: #777;
}
body#checkout .cart-grid-right .promo-discounts .cart-summary-line .label .code {
    color: #232323;
}
body#checkout .custom-checkbox label,
body#checkout .condition-label label,
body#checkout .custom-checkbox label a,
body#checkout .condition-label label a {
    line-height: 1;
    color: #555;
}
body#checkout .custom-checkbox label,
body#checkout .condition-label label {
    padding-top: 3px;
    padding-bottom: 3px;
}
body#checkout .block-promo .promo-name {
    padding-top: 5px;
    padding-left: 2px;
    padding-right: 0;
}
#cart #content-wrapper {
    margin-top: 2rem;
    padding-bottom: 3rem;
}
#cart .has-discount .discount {
    display: none;
}
#cart .card.cart-container {
    background: none;
}
#cart .block-promo {
    display: none;
}
#cart .card.cart-summary {
    margin-top: 1.375rem;
    padding: 10px 5px 2px;
    border-radius: 8px;
    background: #fff;
}
@media (max-width: 1024px) {
#cart .card.cart-summary {
    margin-top: 0;
}
}
@media (max-width: 767px) {
#cart .card.cart-summary {
    padding: 20px 15px 2px;
}
#cart .product-line-grid-body {
    margin-bottom: 0;
}
}
.cart-grid-body .card-block h1 {
    font-size: 3rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}
@media (max-width: 1024px) {
#cart .bootstrap-touchspin input.form-control {
    width: 1.75rem;
}
}
.cart-grid-body .card-block, .cart-grid-body .cart-overview {
    padding-left: 0;
}
.cart-grid-body hr {
    border-color: transparent;
}
.product-price {
    color: #161523;
}
.product-line-grid-body>.product-line-info>a.label {
    font-size: 1.125rem;
}
@media (max-width: 1024px) {
.product-line-grid-body>.product-line-info>a.label {
    font-size: 1.025rem;
}
}
.product-line-info.product-price {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.product-line-grid-body>.product-line-info>.value {
    font-size: 0.875rem;
}
.cart-items .cart-item {
    padding-bottom: 1rem;
}
.cart-items .product-line-grid-left {
    padding-left: 0;
}
.cart-items .product-image img {
    margin-top: -10px;
    padding: 4px;
    border-radius: 8px;
    background: #fff;
}
@media (max-width: 767px) {
.cart-items .product-image img {
    margin-top: 0px;
}
}
#cart .input-group .form-control:not(:first-child):not(:last-child) {
    border-radius: 4px 0 0 4px;
}
#cart .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up {
    border-radius: 0;
    border-top-right-radius: 4px;
}
#cart .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down {
    margin-top: -2px;
    border-radius: 0;
    border-bottom-right-radius: 4px;
}
#cart .qty .input-group {
    padding-bottom: 8px;
    width: 100%;
}
#cart .qty .remove-from-cart {
    font-size: .8rem;
    color: #777;
    text-decoration: underline;
}
@media (max-width: 767px) {
#cart .qty .remove-from-cart {
    font-size: .7rem;
}
.cart-summary-line:not(:last-child) {
    margin-bottom: 0.4rem;
}
#cart .cart-detailed-subtotals > .cart-summary-line:last-child {
    margin-bottom: 1rem;
}
}
#cart .card-block.cart-summary-totals .cart-summary-line.cart-total {
    padding: 2rem 0 1.5rem;
}
.card-block.checkout .btn-primary {
    border-radius: 999px;
}
.securepayment_cart {
    font-size: 0.8rem;
    text-align: center;
    line-height: 1.6;
    margin-top: 1.125rem;
    margin-bottom: 0;
}

#modal .modal-dialog {
    width: min(900px, 95vw);
    max-width: 900px;
}
#modal .modal-body {
    max-height: 90vh;
    overflow: auto;
}
#modal .modal-body h2 {
    font-size: 2rem;
}
#modal .checkout-cms-content img,
#modal .checkout-cms-content iframe,
#modal .checkout-cms-content table,
#modal .checkout-cms-content video {
    max-width: 100%;
    height: auto;
}

#delivery-address .js-input-column,
#customer-form .js-input-column,
.js-address-form .js-input-column,
.form-fields .js-input-column {
  position: relative;
}
#delivery-address .js-valid-check,
#customer-form .js-valid-check,
.js-address-form .js-valid-check,
.form-fields .js-valid-check {
  position: absolute;
  top: 50%;
  right: 12px;
  display: none;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%) scale(.7);
  opacity: 0;
  transition: opacity .5s ease, transform .5s ease;
  line-height: 1;
  pointer-events: none;
  z-index: 3;
}
#delivery-address .js-valid-check.is-visible,
#customer-form .js-valid-check.is-visible,
.js-address-form .js-valid-check.is-visible,
.form-fields .js-valid-check.is-visible {
  display: inline-flex !important;
  opacity: 1 !important;
  transform: translateY(-50%) scale(1) !important;
}
#delivery-address .js-valid-check .material-icons,
#customer-form .js-valid-check .material-icons,
.js-address-form .js-valid-check .material-icons,
.form-fields .js-valid-check .material-icons {
  font-size: 15px;
  margin-right: 10px;
}
#delivery-address .js-input-column input.form-control,
#delivery-address .js-input-column select.form-control,
#delivery-address .js-input-column textarea.form-control,
#customer-form .js-input-column input.form-control,
#customer-form .js-input-column select.form-control,
#customer-form .js-input-column textarea.form-control,
.js-address-form .js-input-column input.form-control,
.js-address-form .js-input-column select.form-control,
.js-address-form .js-input-column textarea.form-control,
.form-fields .js-input-column input.form-control,
.form-fields .js-input-column select.form-control,
.form-fields .js-input-column textarea.form-control {
  padding-right: 42px;
}