:root {
	--color-primary: #0255A2;
	--color-secondary: #002548;
}

/* Global */
#wrapper {
	background: #F0F0F5;
}

.container {
	width: 1420px;
}

.page-content.page-cms {
	background: transparent;
}

.btn-primary {
	color: #fff;
	background-color: var(--color-primary);
}

.btn-primary:hover,
.btn:not(.btn-sm):hover,
.btn-secondary:hover,
.btn-tertiary:hover {
	background-color: #00407B;
	color: #ffffff;
}

.btn {
	border-radius: 100px;
}

.input-group .btn {
	border-radius: 4px;
}

.material-icons {
	font-size: 18px;
}

#subcategories ul li .subcategory-name:hover,
.block-categories .arrows .arrow-down:hover,
.block-categories .arrows .arrow-right:hover,
.block-categories .collapse-icons .add:hover,
.block-categories .collapse-icons .remove:hover,
.cart-grid-body a.label:hover {
	color: var(--color-primary);
}

.titre-category-h1 .elementor-heading-title {
	display: block;
}

@media screen and (max-width: 767px) {
	.titre-category-h1 .elementor-heading-title {
		line-height: 20px;
	}
}

#content {
	border-radius: 12px;
}

@media screen and (max-width: 767px) {
	.container {
		width: 100%;
	}

	.page-content.page-cms {
		padding: 0;
	}
}

/* Menu */
.header-icon li a,
.header-icon .elementor-cart__toggle a.elementor-button {
	flex-direction: column;
	gap: 10px;
}

.header-icon li.elementor-icon-list-item a {
	gap: 5px;
	align-items: center;
}

.header-icon .menu-item-type-account a>span {
	padding-left: 0;
}

.header-icon.cart-icon .elementor-button.elementor-size-sm {
	padding: 0;
	gap: 5px;
}

#adtm_menu .adtm_menu_icon.img-responsive.img-fluid {
	max-width: 20px;
}

@media screen and (min-width: 768px) {
	.menu-tablet, .menu-mobile {
		display:none;
	}
}

@media only screen and (max-width: 768px) and (min-width: 360px) {
	.menu-desktop, .menu-tablet {
		display:none;
	}
}

@media screen and (max-width: 360px) {
	.menu-desktop, .menu-tablet {
		display:none;
	}
}

@media screen and (max-width: 767px) {
	.header-icon .elementor-icon-list-text {
		display: none;
	}

	.header-icon .elementor-cart__toggle a.elementor-button {
		flex-direction: row;
		gap: 10px;
	}
	
	.elementor-menu-toggle {
		margin-top: -42px;
		margin-right: 10px;
	}
	
}

/* Catégories */
.page-category #content-wrapper {
	padding: 0 30px;
}

#category #wrapper .container {
	box-sizing: border-box;
}

#product-list-header .card {
	border-radius: 12px;
}

#_desktop_top_menu {
	padding: 30px;
	background-color: #ffffff;
	border-radius: 12px;
}

#_desktop_top_menu {
	padding: 20px;
}

#_desktop_top_menu #adtm_menu ul#menu li.li-niveau1 a.a-niveau1,
#_desktop_top_menu #adtm_menu ul#menu li.li-niveau1 {
	width: 100%;
}

#_desktop_top_menu #adtm_menu ul#menu li.li-niveau1 a.a-niveau1 .advtm_menu_span {
	display: flex;
	gap: 5px;
	margin: 3px 0;
	padding: 2px 10px;
}

.category-title {
	border-radius: 12px;
	box-shadow: 0px 0px 20px 0px var(--color-primary);
	background-color: #ffffff;
	padding: 10px;
}
#category .ce-mobile-valign-stretch .elementor-column-wrap .elementor-widget-wrap .elementor-section .elementor-container,
#category .ce-mobile-valign-stretch>.elementor-column-wrap>.elementor-widget-wrap>.elementor-widget>.elementor-widget-container{
	height: auto;	
}

.category-title h1 {
	background: var(--color-primary);
	color: #ffffff;
	display: inline;
	padding: 5px 15px;
	border-radius: 8px;
}

.block-category .block-category-inner {
	margin-top: 20px;
}

.page-category .block-category {
	min-height: inherit;
}

.category-title h1 {
	background: var(--color-category);
	color: #000;
}

.category-title {
	box-shadow: 0px 0px 20px 0px var(--color-category);
}

.product-miniature .thumbnail-container {
	width: 100%;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.product-flags li.product-flag {
	background: var(--color-primary);
}

.product-miniature .product-title {
	min-height: 40px;
}

.product-miniature .product-title a {
	color: var(--color-primary);
	text-align: center;
	font-family: "Open Sans";
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	letter-spacing: -.5px;
}

.product-miniature .product-price-and-shipping {
	color: #0255A2;
	text-align: center;
	font-family: "Open Sans";
	font-size: 30px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

.product-miniature .details {
	margin: 10px 0 0 10px;
}

.product-miniature .details-button {
	background: var(--color-primary);
	padding: 10px 20px;
	border-radius: 100px;
	width: calc(100% - 3.5rem);
	text-align: center;
	display: block;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
}

.products article .wishlist-button-add, .product-miniature .wishlist-button-add {
	position: absolute;
	top: inherit;
	right: .635rem;
	z-index: 10;
	bottom: .635rem;
}

.products .wishlist-button-add, .product-miniature .wishlist-button-add {
	box-shadow: none;
	border: 1px solid var(--color-primary);
	background: var(--color-primary);
	color: #ffffff;
}

.products .wishlist-button-add i, .product-miniature .wishlist-button-add i {
	color: #ffffff;
}

.product-miniature .thumbnail-container:focus .product-description::after,
.product-miniature .thumbnail-container:hover .product-description::after {
	border-top: none;
	opacity: 0;
}

#products .up .btn-secondary,
#products .up .btn-tertiary {
	color: #000000;
	border: 1px solid #000000;
	border-radius: 100px;
	padding: 0;
}

#products .up .btn-secondary .material-icons,
#products .up .btn-tertiary .material-icons {
	font-size: 30px;
}

.ce-product-grid > *, .elementor-product-box > * {
	display: grid;
	align-items: stretch;
	height: 100%;
}

.elementor-carousel-wrapper.swiper .swiper-slide {
	display: flex;
	align-items: stretch;
	height: auto !important;
}

.elementor-carousel-wrapper.swiper .swiper-slide .js-product.product {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	justify-content: space-between;
	box-sizing: border-box;
}

.elementor-carousel-wrapper.swiper .swiper-slide .js-product.product .product-miniature {
	display: flex;
	justify-content: space-between;
	flex: 1 1 auto;
}

.elementor-carousel-wrapper.swiper .swiper-slide .js-product.product .product-miniature .product-description {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1;
}

@media screen and (max-width: 767px) {
	#_desktop_top_menu {
		padding: 0;
		border-radius: 12px;
		overflow: hidden;
	}

	#_desktop_top_menu {
		padding: 10px;
	}

	.page-category #content-wrapper {
		padding: 10px;
	}

	.page-category .category-title h1 {
		font-size: 18px;
	}

	#product-list-header .card {
		padding: 20px 15px 5px;
		margin-bottom: 20px;
	}

	.product-miniature .thumbnail-container .product-thumbnail img {
		max-width: 150px;
	}

	.product-miniature .details-button a {
		font-size: 14px;
	}
}

/* Produit */
.elementor-widget-product-quantity .ce-product-quantity .ce-product-quantity__btn.ce-product-quantity__minus.ceicon.ceicon-minus {
	border-radius: 100px 0 0 100px;
}

.elementor-widget-product-quantity .ce-product-quantity .ce-product-quantity__btn.ce-product-quantity__plus.ceicon.ceicon-plus {
	border-radius: 0 100px 100px 0;
}

.elementor-widget-product-quantity .ce-product-quantity .elementor-field-textual {
	line-height: 1.4;
	font-size: 15px;
	min-height: 45px;
	padding: 0px;
	border-radius: 3px;
}

.elementor-4170101 .elementor-element.elementor-element-5c88cb8 .ce-product-variants__radio-wrapper .ce-product-variants__pattern {
	width: 45px;
}

.btn-devis .elementor-button-link.elementor-button .elementor-button-content-wrapper {
	align-items: center;
}

#blockcart-modal .product-name {
	color: var(--color-primary);
}

.productPrice.productPriceQuote {
	padding: 10px;
	margin: 0;
	font-weight: 700;
	color: var(--color-primary);
	font-size: 26px;
}

#productPrice {
	display: flex;
	gap: 5px;
	align-items: center;
	margin-right: 10px;
}

.elementor-main-swiper .swiper-slide.swiper-slide-active {
	width: 600px !important;
}

@media screen and (max-width: 1100px) {
	.elementor-main-swiper .swiper-slide.swiper-slide-active {
		width: inherit !important;
	}
}

#productPrice .current-price,
#productPrice .tax-shipping-delivery-label,
.product-price {
	margin: 0 !important;
	color: var(--color-primary);
	font-size: 20px;
	font-weight: bold;
}

.page-content.page-cms ul,
p {
	color: #000000;
}

/* Module Devis */

/* a[href*="/module/opartdevis/createquotation?create=1"] {
	display: none;
} */
#opartDevisForm {
	margin-top: 30px;
	width: 100%;
}

.opartdevis-message {
	background: #ffd4d4;
	padding: 20px;
	border-radius: 4px;
	color: #8b0101;
	font-weight: 600;
}

.form-control:focus {
	outline: .1875rem solid var(--color-primary);
}

#submitOpartMessage {
	background-color: var(--color-primary);
	color: #ffffff;
	font-weight: 700;
}

#module-opartdevis-createquotation .footer_links {
	display: flex;
	border-top: 1px solid var(--color-primary);
	margin-top: 20px;
	padding-top: 10px;
	flex-wrap: wrap;
}

.btn.btn-default.button.button-medium.backquote {
	background: var(--color-primary);
	color: #fff;
	font-weight: 600;
}

.confirm-action {
	display: flex;
	justify-content: flex-end;
	gap: 20px;
	flex-wrap: wrap;
}

table.table-striped tbody tr:nth-of-type(2n+1) {
	background-color: rgba(2, 85, 162, 0.05);
}

.ce-product-variants__radio-wrapper.hidden-variant {
    display: none;
}

.ce-product-variants__toggle-btn {
	background-color: #c4c4c4;
	border: none;
	padding: 6px 12px;
	cursor: pointer;
	font-size: 14px;
	border-radius: 100px;
	font-weight: 600;
	color: #444;
	margin-bottom: 8px;
}
	
@media screen and (max-width: 767px) {

	#opartDevisForm,
	#order-list {
		overflow-x: scroll;
		scrollbar-width: thin;
		scrollbar-color: var(--color-primary) #0255a21c;
		display: block;
		cursor: grab;
	}

	#order-list th {
		font-size: 12px;
	}
}

/* Module JoliSearch */
#search_widget {
	overflow: initial;
	width: 100%;
}

#search_widget form input {
	width: 100%;
	padding: 10px 20px 10px 20px;
	background-color: #fff;
	border-radius: 100px;
	font-style: italic;
	border: 1px solid #f0f0f5;
}

#search_widget form input::placeholder,
#search_widget form textarea::placeholder {
	color: #9b9b9b;
}

#search_widget form i {
	position: initial;
	padding: 0;
	font-size: 32px;
	color: #000000;
	vertical-align: text-bottom;
}

.page-not-found .search-widget form,
.search-widget,
body#checkout section.checkout-step.-reachable.-complete h1 .done {
	width: 100%;
}

.ui-jolisearch.ui-menu .product.ui-menu-item {
	width: 100%;
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
	border-bottom: 1px solid #f0f0f5;
	padding-top: 0 !important;
	padding-bottom: 10px;
}

.ui-jolisearch.ui-menu .product.ui-menu-item .product {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ui-jolisearch.ui-menu .product.ui-menu-item .product .jolisearch-description {
	display: flex;
	flex-direction: row;
}

.ui-jolisearch.ui-menu .product.ui-menu-item .product .jolisearch-description .jolisearch-name {
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 600;
	color: #000000;
}

.ui-jolisearch.ui-menu .product.ui-menu-item .product .jolisearch-description .jolisearch-price {
	font-size: 20px;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--color-primary);
}

ul.ui-jolisearch.ui-menu {
	padding-top: 0;
}

.ui-jolisearch .product .jolisearch-title {
	display: none;
}

.ui-jolisearch.ui-menu .product.ui-menu-item .jolisearch-image {
	max-width: 50px;
}

/* Passerelle d'achat */
a.text-primary:focus,
a.text-primary:hover {
	color: var(--color-secondary) !important;
}

.text-primary {
	color: var(--color-primary) !important;
}

#header .top-menu a[data-depth="0"]:hover,
a:hover {
	color: var(--color-secondary);
}

.elementor-cart__footer-buttons {
	display: flex;
	flex-direction: column;
}

.elementor-button.elementor-button--view-cart.elementor-size-md {
	background: #83b8e9;
}

.carousel .carousel-control .icon-next:hover i,
.carousel .carousel-control .icon-prev:hover i,
.dropdown:hover .expand-more,
.page-my-account #content .links a:hover i,
.search-widget form button[type="submit"] .search:hover,
.top-menu .sub-menu a:hover,
.page-cart .product-price {
	color: var(--color-primary);
}

body#checkout section.checkout-step .address-item.selected {
	border: var(--color-primary) 3px solid;
}

.btn-primary.focus,
.btn-primary:focus {
	background-color: var(--color-primary);
}

.form-control {
	padding: .5rem 1rem;
	color: #6675a8;
	background: #f0f0f5;
	border: 1px solid rgba(12, 0, 96, 0.25);
	border-radius: 4px;
}

.custom-radio input[type="radio"]:checked+span {
	background-color: var(--color-primary);
}

.brands-sort .select-list:hover,
.products-sort-order .select-list:hover,
.suppliers-sort .select-list:hover {
	background: var(--color-primary);
}

.wishlist-list .wishlist-list-item:hover .wishlist-list-item-title {
	color: var(--color-primary);
}

.form-group.captchapro-form-group {
	display: flex;
	align-items: center;
	gap: 20px;
	justify-content: center;
}

.form-group.captchapro-form-group label {
	margin: 0;
}

.form-footer {
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}

.page-registration .breadcrumb,
.page-registration .page-header,
.page-authentication .breadcrumb,
.page-authentication .page-header {
	text-align: center;
}

.page-cart .alert-info {
	background-color: #0255a226;
	border-radius: 8px;
	margin: 20px 0;
	color: #fff;
	border: none;
}

.page-cart .alert-info p {
	color: #000000;
	font-weight: 500;
}

.page-cart .alert-info .btn {
	background: var(--color-primary);
	margin-top: 10px;
	color: #ffffff;
	font-weight: 600;
}

body#checkout #footer {
	padding: 0;
}

body#checkout section.checkout-step > .content {
	padding-bottom: 40px;
}

.btn-primary.active, .btn-primary:active, .open > .btn-primary.dropdown-toggle {
	background-color: #013a6f;
}

@media screen and (max-width: 767px) {
	footer iframe {
		height: 500px;
	}
}

/* Formulaire */
form.form-contact .form-fields {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

form.form-contact .label-name {
	display: none;
}

form.form-contact .form-fields label {
	width: 100%;
}

form.form-contact .form-fields input,
form.form-contact .form-fields textarea {
	padding: 10px 15px;
	border-radius: 6px;
	border: 1px solid #CCCCCC;
	width: 100%;
}

form.form-contact button {
	background: var(--color-primary);
	color: #ffffff;
	text-transform: uppercase;
	font-size: 16px;
	padding: 10px 25px;
	border-radius: 100px;
	border: none;
	box-shadow: none;
	cursor: pointer;
}

form.form-contact button:hover {
	background: #00315F;
}

form.form-contact .form-group.captchapro-form-group,
form.form-contact .form-footer {
	justify-content: flex-start;
}

input[type=file]::file-selector-button {
	margin-right: 8px;
	border: none;
	background: var(--color-primary);
	padding: 8px 12px;
	color: #fff;
	cursor: pointer;
}

form.form-contact .form-fields input[type="file"] {
	padding: 0;
	margin: 10px 0;
}

form.form-contact .file-upload {
	position: relative;
	display: flex;
	align-items: center;
	cursor: pointer;
	border: none;
	padding: 10px;
	border-radius: 5px;
	width: 250px;
}

form.form-contact .file-upload input {
	position: absolute;
	opacity: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

form.form-contact .file-upload .icon {
	width: 24px;
	height: 24px;
	margin-right: 10px;
}

form.form-contact .file-upload span {
	flex: 1;
	color: #000;
	text-align: left;
}

.sub-menu>.menu-item-type-category>a.has-submenu, a.elementor-sub-item {
	padding: 5px 15px !important;
}

nav.elementor-nav-menu.elementor-nav--main.elementor-nav__container.elementor-nav--layout-horizontal.e--pointer-background.e--animation-fade {
	z-index: 10000000000000000000000;
}

#adtm_menu ul#menu li div.adtm_sub {
	top: 44px;
}

.height_auto {
	height: fit-content !important;
	flex: 1;
}

.product-miniature .thumbnail-container .product-thumbnail {
	height: auto;
}

.ui-autocomplete {
	width: 1000px !important;
	left: 50% !important;
	transform: translateX(-50%);
}

.ui-menu .ui-menu-divider {
	height: auto !important;
	line-height: inherit !important;
	margin: 0 !important;
}

.ui-jolisearch .separator {
	height: 0 !important;
}

.ui-jolisearch h3, .ui-jolisearch p {
	margin: 0 !important;
	line-height: normal !important;
}

.quickview-content.quickview-content {
	display: flex;
	gap: 15px;
	width: 100%;
}

.quickview-content .part_title {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 25%;
	padding: 0 15px;
}

.quickview-content .part_title img {
	width: 150px;
	height: 150px;
}

.quickview-content .product-attributes {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 50%;
	padding: 5px 0;
}

.quickview-content .part_add_cart {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 25%;
}

.quickview-content button {
	font-family: inherit !important;
}

.quickview-content h3 {
	line-height: 20px !important;
	color: #0255A2 !important;
	margin-top: 15px !important;
	font-weight: 700 !important;
}

.ui-jolisearch.ui-menu .jolisearch-container {
	padding-top: 0 !important;
}

.quickview-content .price, .quickview-content .priceDevis {
	font-size: 22px;
	font-weight: 700;
	color: #0255A2;
}

fieldset legend {
	font-size: 14px;
	margin: 0 0 3px 0;
}

fieldset .attributes {
	display: flex;
	gap: 0 5px;
	flex-flow: wrap;
}

.fake-radio {
	border: 1px solid #0255A2;
	padding: 1px 7px;
	border-radius: 15px;
	font-size: 13px;
	cursor: pointer;
}

.fake-radio.selected {
	background: #0255A2 !important;
	color: white !important;
}

.ui-menu .ui-menu-divider {
	font-size: inherit !important;
}

.quantity-controls {
	display: flex;
	height: 29px;
	height: 35px;
	margin-bottom: 2px;
}

button.btn-quantity {
	background: #0255A2;
	border: none;
	width: 35px;
	color: white;
	cursor: pointer;
	font-size: 20px !important;
}

button.btn-quantity.minus {
	border-radius: 50% 0 0 50%;
}

button.btn-quantity.plus {
	border-radius: 0 50% 50% 0;
}

.quantity-controls input {
	font-family: inherit;
	background: #0255A2;
	color: white;
	border: none;
	border-radius: 0;
	text-align: center;
	width: 135px;
}

.separator {
	margin: -1px;
	border-color: rgba(0, 0, 0, .25);
}

.card.cart-summary {
	padding-bottom: 10px;	
}

p.productPrice.productPriceQuote {
	color: var(--color-primary);
    font-size: 20px;
    text-transform: uppercase;
    font-weight: bold;
}

#captcha-value-input {
    width: 80px !important;
}