/*====================================================
  VARIABLES
====================================================*/
:root {
	--blue: #129dc7;
	--yellow: #d49722;
	--text: #1f1f1f;
}

/*====================================================
  TYPOGRAPHY
====================================================*/
@font-face {
	font-family: OpenSans;
	src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: OpenSans;
	src: url("../fonts/OpenSans-Regular-Italic.ttf") format("truetype");
	font-weight: normal;
	font-style: italic;
}
@font-face {
	font-family: OpenSans;
	src: url("../fonts/OpenSans-Bold.ttf") format("truetype");
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: OpenSans;
	src: url("../fonts/OpenSans-Bold-Italic.ttf") format("truetype");
	font-weight: bold;
	font-style: italic;
}

* {
	font-family: "OpenSans", sans-serif;
	font-weight: normal;
	letter-spacing: .01rem !important;
}

h1, h2, h3, h4, h5, h6,
p, a, button, li, input, select, option, textarea, label, span, strong, small, div {
	font-family: "OpenSans", sans-serif;
	font-weight: normal;
}

strong, strong span { font-weight: bold !important; }


/*====================================================
  HELPERS
====================================================*/
.cs-no-list-style { list-style-type: none !important; }

.cs-obj-fit-cover { object-fit: cover; }
.cs-obj-fit-contain { object-fit: contain; }

.cs-soft-light { mix-blend-mode: soft-light; }

.cs-icon {
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	vertical-align: middle;
}
.cs-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 auto;
}

.cs-cursor-pointer { cursor: pointer; }
.cs-cursor-notalllowed { cursor: not-allowed !important; }

.cs-no-whitespace { white-space: nowrap; }

.cs-hidden-scrollbar {
	overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.cs-hidden-scrollbar::-webkit-scrollbar{ display: none !important; }


/*====================================================
  COMPONENTS
====================================================*/
/* Buttons */

.btn { transition: all .2s ease-out !important; }

.btn-action-1:hover {
	background-color: var(--yellow) !important;
	border-color: var(--yellow) !important;
}

.btn-outline-light-1:hover { color: var(--text) !important; }
.btn-outline-light-1 .cs-icon svg path { transition: all .2s ease-out; }
.btn-outline-light-1:hover .cs-icon svg path { fill: var(--text) !important; }

/* Modal */

.modal { z-index: 99999; }
.modal .btn-close { top: 1.2rem; right: 1.5rem; opacity: .3 !important; }

/* Tables */

@media screen and (max-width: 567px) {
	.cs-shipping-table .border-end {
		border-right: 0 !important;
		border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important;
	}
}


/*====================================================
  HEADER
====================================================*/
.site-header { z-index: 9999; }
.site-header .navbar-brand { flex-shrink: 0; width: 15rem; }

.site-header .cs-cart .cs-number.cs-not-empty {
	width: 1.2rem;
	height: 1.2rem;
	margin-top: .5rem;
	margin-left: -.2rem;
}

.site-header li a:hover,
.site-header li span:hover,
.site-header li.hover > span,
.site-surheader .link:hover  {
	color: var(--yellow) !important;
	transition: all .2s ease-out;
}

.site-header .menu-item-has-children .cs-icon { width: .6rem; height: .6rem; }
.site-header span.nav-link { cursor: pointer; }

.site-header .menu-item:not(:last-child) .nav-link::after,
.site-surheader .link::after,
.site-surheader .cs-social-media::after {
	content: "";
    position: absolute;
	top: 50%;
    right: 0;
    transform: translate(0, -50%);
    width: 1px;
    height: .9rem;
    background-color: #fff;
}

.site-header .cs-icon svg { fill: var(--yellow); }
.site-header .cs-points .cs-icon { width: 1rem; height: 1rem; }
.site-header .cs-points .cs-icon svg { fill: #fff; }
.site-header .cs-burger-btn .cs-icon { width: 1.8rem; height: 1.8rem; }

.site-header .sub-menu { padding: 0; list-style-type: none; }
.site-header .cs-submenu-wrapper{
	max-height: 0;
	overflow: hidden;
	transition: max-height .4s ease-out;
}

/* Surheader */

.site-surheader .cs-social-media .cs-icon { width: 1rem; height: 1rem; }
.site-surheader .cs-social-media .cs-icon svg path,
.site-header #navbarNav .cs-social-media svg path { fill: var(--yellow); }

/* Language switch */

.site-surheader .cs-languages .wpml-ls-slot-shortcode_actions,
.site-surheader .cs-languages .wpml-ls-legacy-dropdown-click { width: auto; }
.site-surheader .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
	padding: 0 .5rem;
	background: transparent;
	border: none;
}
.site-surheader .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after { display: none; }
.site-surheader .cs-languages .wpml-ls-sub-menu { z-index: 99999; top: 1.7rem; border: none; }
.site-surheader .wpml-ls-legacy-dropdown-click a { background: transparent; border: none; }
.site-surheader a.wpml-ls-link { padding: .3rem .5rem; background-color: #231F20; opacity: 1 !important; }

/* Burger menu */

.site-header.burger-nav > .container { max-width: 100%; }
.site-header.burger-nav #navbarNav {
	position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    max-width: 350px;
}
.site-header.burger-nav .menu-item .nav-link::after { display: none; }
.site-header.burger-nav #navbarNav .cs-account .cs-icon { width: 1.6rem; height: 1.6rem; }
.site-header.burger-nav #navbarNav .cs-login .cs-icon { width: 1.4rem; height: 1.4rem; }
.site-header #navbarNav .cs-close-btn .cs-icon { width: 1rem; height: 1rem; cursor: pointer; }

.site-header.burger-nav .menu-item-has-children .cs-submenu-wrapper { position: relative !important; }
.site-header.burger-nav .menu-item-has-children .sub-menu { position: relative !important; }


/* MEDIA QUERIES */

@media screen and (max-width: 576px) {
	.site-header .navbar-brand { width: 10rem; }
}


/*====================================================
	FOOTER
====================================================*/
.site-footer .cs-informations h2,
.site-footer .cs-informations strong,
.site-footer .cs-informations span,
.contact-template .cs-informations h2,
.contact-template .cs-informations strong,
.contact-template .cs-informations span { font-weight: bold; }

.site-footer .cs-informations h2,
.contact-template .cs-informations h2 { margin-bottom: 1rem; }

.site-footer .cs-informations p,
.site-footer .cs-informations strong,
.contact-template .cs-informations p,
.contact-template .cs-informations strong { font-size: .875rem !important; color: var(--text); }

.site-footer .cs-social-media .cs-icon,
.contact-template .cs-social-media .cs-icon { width: 1rem; height: 1rem; }
.site-footer .cs-social-media svg path,
.contact-template .cs-social-media svg path { fill: var(--blue); }

/* Form */

.site-footer form textarea { height: 10rem !important; }

.site-footer form input:not([type=submit]),
.site-footer form textarea,
.site-footer form select {
	border: 1px solid #000 !important;
	border-radius: 0 !important;
}


/*====================================================
	FORM STYLE
====================================================*/
/* Submit button */

form input[type=submit],
form .um-button.um-alt{
	padding: .9rem 2rem !important;
	font-size: .875rem !important;
	font-weight: bold !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transition: all .2s ease-out;
}
form input[type=submit] {
	color: #fff !important;
	background-color: var(--blue) !important;
}
form input[type=submit]:hover { background-color: var(--yellow) !important; }

/* Label style */

form .gfield_label,
form .um-field-label label {
	font-size: 16px !important;
	font-weight: normal !important;
	color: var(--text) !important;
	-webkit-font-smoothing: initial !important;
	-moz-osx-font-smoothing: initial !important;
}

/* Input style */

form input:not([type=submit]),
form textarea,
form select,
.um .um-form form input:not([type=submit]) {
	padding: 10px 15px !important;
	border: 1px solid #CAC9C9 !important;
	border-radius: 5px !important;
}
form input:not([type=submit]):focus-visible,
form textarea:focus-visible,
form select:focus-visible,
.user-cart-template .cs-cart-step-2 #orderComment:focus-visible {
	outline-color: var(--blue) !important;
}
.um .um-form form input:not([type=submit]):focus {
	border: 1px solid var(--blue) !important;
	border-radius: 3px !important;
	outline: var(--blue) solid 2px !important;
}

.gfield_select { cursor: pointer; }

/* UM input style */

.um .um-form input:not([type=submit]) { height: auto !important; }
.um-form form input[type=number] { width: 100% !important; }

/* Request form checkboxes */

.gfield.cs-checkboxes .gfield_checkbox { display: flex; flex-wrap: wrap; }
.gfield.cs-checkboxes .gfield_checkbox .gchoice { margin-right: 2rem; }
.gfield.cs-checkboxes .gfield_checkbox .gchoice label { max-width: 100%; }

/* Input date */

.ginput_container_date .datepicker { width: 100% !important; cursor: pointer; }

/* Consent field */
.gfield--type-consent .ginput_container {
	display: flex;
	align-items: flex-start;
	gap: .8rem;
}
.gfield--type-consent .ginput_container input { margin-top: .3rem; }
.gfield--type-consent .ginput_container .gfield_consent_label {}


/*====================================================
	REGISTER TEMPLATE
====================================================*/
/* Register + cart information form */

.register-template form .gform_fields,
.user-cart-template form .gform_fields,
.request-template form .gform_fields {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
}
.register-template form .gfield,
.user-cart-template form .gfield,
.request-template  form .gfield { width: 48%; }

.register-template form .cs-field-100 { width: 100%; }

.register-template form .gfield_description {
	padding-top: 0.3rem !important;
    text-align: right;
    font-size: .85rem !important;
	font-style: italic;
	color: var(--blue);
}

.register-template form .cs-field-password { margin-top: -1.5rem !important; }
.register-template form .ginput_container_password { justify-content: space-between !important; }
.register-template form .ginput_container_password span { padding: 0 !important; }
.register-template form .ginput_container_password > span:first-child { padding-right: 2% !important; }
.register-template form .ginput_container_password > span:nth-child(2) { padding-left: 2% !important; }

.register-template form .cs-field-gdpr .ginput_container { display: flex !important; align-items: center; }
.register-template form .cs-field-gdpr .ginput_container input { margin-right: .8rem; }
.register-template form .cs-field-gdpr .ginput_container .gfield_consent_label { font-size: .875rem !important; }

/* MEDIA QUERIES */

@media screen and (max-width: 767px) {
	.register-template form .gfield,
	.user-cart-template form .gfield,
	.request-template form .gfield { width: 100%; }

	.register-template form .ginput_container_password > span:first-child { padding-right: 0 !important }
	.register-template form .ginput_container_password > span:nth-child(2) {
		padding-left: 0 !important;
		padding-top: 1rem !important;
	}
	.register-template form .ginput_container_password > span {
		flex: initial !important;
		width: 100% !important;
	}
}
@media screen and (max-width: 640px) {
	.register-template form .ginput_container_password > span:nth-child(2) {
		padding-top: 0 !important;
	}
}


/*====================================================
	RESET PASSWORD TEMPLATE
====================================================*/
.password-reset-template .um-field-block { display: none !important; }


/*====================================================
	ACCOUNT TEMPLATE
====================================================*/
.cs-account-menu  .menu-item:hover a {
	color: #fff !important;
	background-color: var(--blue) !important;
	transition: all .2s ease-out;
}

/* Information tab */

.cs-unique-fields .cs-field-group { width: 48%; }
.cs-unique-fields .cs-field-group span,
.cs-unique-fields .cs-field-group div { font-size: 15px !important; }
.user-account-template .um-req { color: var(--blue) !important; font-weight: bold; }
.user-account-template .um .um-form form input:not([type=submit]) {
	color: var(--blue) !important;
}
.user-account-template .um-field-User_Country .select2.select2-container .select2-selection,
.user-account-template .um-field-country .select2.select2-container .select2-selection {
	height: auto !important;
	padding: 2.5px 15px !important;
	border: 1px solid #CAC9C9 !important;
	border-radius: 5px !important;
}
.user-account-template .um-field-User_Country .select2-container--default .select2-selection--single .select2-selection__rendered,
.user-account-template .um-field-country .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--blue) !important;
}
.user-account-template .um-field-User_Country .select2-container--default .select2-selection--single .select2-selection__clear,
.user-account-template .um-field-country .select2-container--default .select2-selection--single .select2-selection__clear {
	display: none;
}
.user-account-template .um-field-User_Country .select2.select2-container .select2-selection .select2-selection__arrow:before,
.user-account-template .um-field-country .select2.select2-container .select2-selection .select2-selection__arrow:before {
	line-height: 45px;
}

/* My orders */

.user-orders-template .modal-dialog { max-width: 60rem; }


/* MEDIA QUERIES */
@media screen and (max-width: 991px) {
	/* My orders */
	.user-orders-template .cs-table-row,
	.user-requests-template .cs-table-row {
		border-top: none !important;
	}
	.user-orders-template .cs-id {
		order: 1;
		border-right: none !important;
		border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important;
		background-color: #F0F0F0 !important;
	}
	.user-orders-template .cs-date {
		order: 2;
		border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important;
	}
	.user-orders-template .cs-text {
		order: 4;
		border-right: none !important;
		border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important;
	}
	.user-orders-template .cs-points {
		order: 3;
		border-right: none !important;
		border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important;
	}
	.user-orders-template .cs-button { order: 5; border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important; }

	/* My requests */
	.user-requests-template .cs-id {
		order: 1;
		border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important;
		background-color: #F0F0F0 !important;
	}
	.user-requests-template .cs-name {
		order: 2;
		border-right: 0 !important;
		border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important;
		background-color: #F0F0F0 !important;
	}
	.user-requests-template .cs-status {
		order: 3;
		border-right: 0 !important;
		border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important;
	}
	.user-requests-template .cs-date-start { order: 4; border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important; }
	.user-requests-template .cs-date-end {
		order: 5;
		border-right: 0 !important;
		border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important;
	}
	.user-requests-template .cs-button { order: 6; border-bottom: 1px solid rgba(39, 40, 42, 0.3) !important; }
	.user-requests-template .cs-table-row:last-child .cs-button { border-bottom: 0 !important; }
}
@media screen and (max-width: 767px) {
	/* Information tab */
	.cs-unique-fields .cs-field-group { width: 100%; }
}


/*====================================================
	STORE TEMPLATE
====================================================*/
.store-template .cs-store-menu li:first-child { padding-left: 0 !important; }
.store-template .cs-store-menu li:last-child { padding-right: 0 !important; }

.store-template .cs-store-menu li a { transition: all .2s ease-out !important; }
.store-template .cs-store-menu li:not(.current-menu-item):hover a {
	color: #fff !important;
	background-color: var(--blue) !important;
}

/* Products */

.store-template .cs-products-container { margin-left: -1.5rem !important; }

.store-template .cs-product .cs-img-wrapper { height: 10rem; }
.store-template .cs-product .cs-icon svg path { fill: var(--yellow); transition: all .15s ease-out; }

.store-template .cs-product .cs-read-more:hover {
	color: var(--text) !important;
	transition: all .15s ease-out;
}
.store-template .cs-product .cs-read-more:hover svg path {
	fill: var(--text);
	transition: all .15s ease-out;
}

.store-template .cs-product .cs-cart-btn { transition: all .15s ease-out; }
.store-template .cs-product .cs-cart-btn:hover {
	background-color: var(--blue) !important;
	transition: all .15s ease-out;
}

/* Modal */

.store-template .modal-dialog { max-width: 42rem; }
.store-template .modal .cs-text-col { height: 20rem; }
.store-template .modal .cs-text-col .cs-wrapper { height: 100%; direction: rtl; overflow-y: auto; }
.store-template .modal .cs-text-col::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 1.3rem;
	width: 100%;
	height: 2rem;
	background: rgb(255,255,255);
	background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
}
.store-template .modal .cs-text-col .cs-wrapper > div { direction:ltr; }

.store-template .modal .cs-text-col .cs-wrapper::-webkit-scrollbar { width: .4rem; }
.store-template .modal .cs-text-col .cs-wrapper::-webkit-scrollbar-track {
	background: #dedede;
	border-left: .095rem solid #fff;
	border-right: .095rem solid #fff;
}
.store-template .modal .cs-text-col .cs-wrapper::-webkit-scrollbar-thumb { background: var(--blue); }

/* MEDIA QUERIES */

@media screen and (max-width: 767px) {
	.store-template #menu-store li { padding: 0 !important; }
}
@media screen and (max-width: 575px) {
	.store-template .modal .cs-text-col { order: 2; }
	.store-template .modal .cs-img-col { order: 1; }
}


/*====================================================
	CART TEMPLATE
====================================================*/
/* STEP 1 */
.user-cart-template .cs-container-products > .row:first-child > div:first-child {
	border-top-left-radius: 5px;
}
.user-cart-template .cs-container-products > .row:first-child > div:last-child {
	border-top-right-radius: 5px;
}
.user-cart-template .cs-products .row:last-child > div:first-child {
	border-bottom-left-radius: 5px;
}
.user-cart-template .cs-products .row:last-child > div:last-child {
	border-bottom-right-radius: 5px;
}
.user-cart-template .cs-decrease,
.user-cart-template .cs-increase { width: .8rem; height: .8rem; }

.user-cart-template .cs-icon-error svg { width: 1.2rem; height: 1.2rem; }

/* STEP 2 */

.user-cart-template .cs-cart-step-2 .gform_footer { display: none !important; }

/* Order Confirmation */

.notice-wrap { display: none; }

/* MEDIA QUERIES */

@media screen and (max-width: 575px) {
	.user-cart-template .cs-products > .row:first-child > div:first-child {
		border-top: 1px solid rgba(39, 40, 42, 0.3);
		border-radius: 5px 5px 0 0;
	}
	.user-cart-template .cs-products > .row > div:nth-child(2) {
		border-left: 1px solid rgba(39, 40, 42, 0.3);
	}
	.user-cart-template .cs-products > .row:last-child > div:nth-child(2) {
		border-radius: 0 0 0 5px;
	}
	.user-cart-template .cs-products .row:last-child > div:first-child {
		border-radius: 0;
	}
}


/*====================================================
	SINGLE REQUEST
====================================================*/
.user-requests-template .cs-proof-label { width: 7.5rem; }

/* Invoice / proof form */

.user-requests-template #message.updated { display: none; }

.user-requests-template .acf-field-repeater { padding: 0 !important; }

.user-requests-template .acf-field-repeater .acf-label label { font-weight: bold !important; }
.user-requests-template .acf-field-repeater .description {
	font-size: .75rem !important;
	font-style: italic;
}

.user-requests-template .acf-row .acf-row-handle.order { display: none; }
.user-requests-template .acf-row .acf-row-handle.remove {
	background: #fff !important;
	border: none !important;
}
.user-requests-template .acf-row .acf-row-handle .acf-icon.-minus { display: block !important; }
.user-requests-template .acf-row .acf-row-handle .acf-icon.-duplicate,
.user-requests-template .acf-row .acf-row-handle .acf-icon.-plus { display: none !important; }
.user-requests-template .acf-repeater .acf-row-handle.order + td { border: none !important; }
.user-requests-template .acf-row .acf-label { display: none; }

.user-requests-template .acf-field .acf-label { margin: 0; }
.user-requests-template .acf-field .acf-label label {
	margin: 0;
	font-size: .875rem !important;
	font-weight: normal;
}
.user-requests-template .acf-fields > .acf-field { padding: .5rem 0; border: none !important; }
.user-requests-template .acf-table { margin: 0 !important; border: none !important; }

.user-requests-template .acf-input .acf-basic-uploader { display: flex; }
.user-requests-template .acf-input .acf-basic-uploader input {
	flex-grow: 2;
	padding: 10px 15px !important;
	font-size: .85rem !important;
	color: var(--blue);
	cursor: pointer;
}
.user-requests-template form .acf-form-submit {
	width: 0;
    height: 0;
    margin: 0 !important;
    padding: 0 !important;
	overflow: hidden;
	visibility: hidden;
}
.user-requests-template .disabled .acf-form .acf-label .description,
.user-requests-template .disabled .acf-form .acf-actions.-hover .acf-icon.-cancel,
.user-requests-template .disabled .acf-form .acf-row .acf-row-handle,
.user-requests-template .disabled .acf-form .acf-actions .acf-button {
	display: none !important;
}
.user-requests-template .disabled .acf-fields > .acf-field-repeater{
	margin-bottom: 1rem !important;
}

/* Uploaded file */

.user-requests-template .acf-file-uploader .file-wrap {
	min-height: 35px;
    border-radius: 5px;
    overflow: hidden;
}
.user-requests-template .acf-file-uploader .file-icon img { width: 100%; height: 100%; }
.user-requests-template .acf-file-uploader .file-info { margin-left: 40px !important; padding: 10px !important; }
.user-requests-template .acf-file-uploader .file-info p { margin: 0; }
.user-requests-template .acf-file-uploader .file-info p:first-child,
.user-requests-template .acf-file-uploader .file-info p:last-child { display: none; }


/*====================================================
	CONTACT TEMPLATE
====================================================*/
.contact-template .gform_wrapper.gravity-theme .gfield textarea {
	height: 160px !important;
}


/*====================================================
	MODULE: HERO HEADER
====================================================*/
.module-home-header,
.module-hero-header { min-height: 24rem; }


/*====================================================
	MODULE: TITLE & TEXT
====================================================*/
.module-title-text .cs-text ul { padding-left: 1rem !important; }
.module-title-text .cs-text ul li { line-height: 2; }
.module-title-text.cs-light-bg .cs-text ul li { color: var(--blue) !important; }


/*====================================================
	MODULE: QUESTIONS & ANSWERS
====================================================*/
.module-questions-answers .accordion .accordion-button::after { display: none; }

.module-questions-answers .accordion .accordion-button .cs-arrow { width: 3.5rem; }
.module-questions-answers .accordion .accordion-button .cs-arrow .cs-icon {
	transform: rotate(90deg);
	transition: transform .2s ease-in-out;
}
.module-questions-answers .accordion .accordion-button.collapsed .cs-arrow .cs-icon {
	transform: rotate(0deg);
	transition: transform .2s ease-in-out;
}


/*====================================================
	MODULE: FEATURED BLOCKS
====================================================*/
.module-featured-blocks .cs-wrapper { top:-90px; }
.module-featured-blocks .cs-block .cs-icon { width: 4rem; height: 4rem; }


/*====================================================
	MODULE: TEXT AND MEDIA
====================================================*/
.module-media-text .cs-text ul { padding-left: 1rem !important; }
.module-media-text .cs-text ul li { line-height: 2; color: var(--blue) !important; }

@media screen and (max-width: 991px) {
	.module-media-text .cs-img-wrapper { width: 100%; max-height: 28rem; }
	.module-media-text .cs-img-wrapper img {
		width: 100% !important;
		object-fit: cover;
	}
}
