@import url("https://fonts.googleapis.com/css2?family=Open+Sans&display=swap");

body {
    font-family: "Open Sans", Verdana, sans-serif;
    padding: 0;
    margin: 0;
    font-size: 14px;
}

.message_submit_form:focus {
    outline: none;
}

input:hover,
input:focus {
    outline: none !important;
}

.gray_bg {
    background-color: #f4f4f4;
}

.section_padding {
    padding: 200px 0px;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .section_padding {
        padding: 100px 0px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .section_padding {
        padding: 70px 0px;
    }
}

@media (max-width: 576px) {
    .section_padding {
        padding: 70px 0px;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    .section_padding {
        padding: 70px 0px;
    }
}

.single_padding_top {
    padding-top: 200px !important;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .single_padding_top {
        padding-top: 70px !important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .single_padding_top {
        padding-top: 70px !important;
    }
}

@media (max-width: 576px) {
    .single_padding_top {
        padding-top: 70px !important;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    .single_padding_top {
        padding-top: 100px !important;
    }
}

.padding_top {
    padding-top: 200px;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .padding_top {
        padding-top: 100px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .padding_top {
        padding-top: 70px;
    }
}

@media (max-width: 576px) {
    .padding_top {
        padding-top: 70px;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    .padding_top {
        padding-top: 70px;
    }
}

.padding_bottom {
    padding-bottom: 200px;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .padding_bottom {
        padding-bottom: 100px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .padding_bottom {
        padding-bottom: 70px;
    }
}

@media (max-width: 576px) {
    .padding_bottom {
        padding-bottom: 70px;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    .padding_bottom {
        padding-bottom: 70px;
    }
}

a {
    text-decoration: none;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

a:hover {
    outline: none;
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #1f3b4d;
    font-family: "Open Sans", Verdana, sans-serif;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

p {
    font-family: "Open Sans", Verdana, sans-serif;
    line-height: 2;
    font-size: 15px;
    margin-bottom: 0px;
    color: #737373;
    font-weight: 400;
}

h2 {
    font-size: 44px;
    line-height: 28px;
    color: #1f3b4d;
    font-weight: 600;
    line-height: 1.222;
}

@media (max-width: 576px) {
    h2 {
        font-size: 22px;
        line-height: 25px;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    h2 {
        font-size: 24px;
        line-height: 25px;
    }
}

h3 {
    font-size: 24px;
    line-height: 25px;
}

@media (max-width: 576px) {
    h3 {
        font-size: 20px;
    }
}

h5 {
    font-size: 18px;
    line-height: 22px;
}

img {
    max-width: 100%;
}

a:focus,
.button:focus,
button:focus,
.btn:focus {
    text-decoration: none;
    outline: none;
    box-shadow: none;
    -webkit-transition: 1s;
    transition: 1s;
}

.section_tittle {
    margin-bottom: 80px;
}

@media (max-width: 991px) {
    .section_tittle {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .section_tittle {
        margin-bottom: 40px;
    }
}

.section_tittle h2 {
    font-size: 36px;
    color: #1f3b4d;
    line-height: 27px;
    font-weight: 700;
    position: relative;
    margin-bottom: 28px;
}

@media (max-width: 576px) {
    .section_tittle h2 {
        font-size: 25px;
        line-height: 35px;
        margin-bottom: 15px;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    .section_tittle h2 {
        font-size: 25px;
        line-height: 35px;
        margin-bottom: 15px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .section_tittle h2 {
        font-size: 30px;
        line-height: 40px;
        margin-bottom: 15px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .section_tittle h2 {
        font-size: 35px;
        line-height: 40px;
    }
}

.section_tittle p {
    color: #556172;
    text-transform: capitalize;
    line-height: 30px;
    font-family: "Open Sans", Verdana, sans-serif;
}

@media (max-width: 576px) {
    .section_tittle p {
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    .section_tittle p {
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .section_tittle p {
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .section_tittle p {
        margin-bottom: 10px;
    }
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mb_110 {
    margin-bottom: 110px;
}

@media (max-width: 576px) {
    .mb_110 {
        margin-bottom: 220px;
    }
}

.mt_130 {
    margin-top: 130px;
}

@media (max-width: 576px) {
    .mt_130 {
        margin-top: 70px;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    .mt_130 {
        margin-top: 70px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .mt_130 {
        margin-top: 70px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .mt_130 {
        margin-top: 70px;
    }
}

.mb_130 {
    margin-bottom: 140px;
}

@media (max-width: 991px) {
    .mb_130 {
        margin-bottom: 70px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .mb_130 {
        margin-bottom: 100px;
    }
}

.padding_less_40 {
    margin-bottom: -50px;
}

.z_index {
    z-index: 9 !important;
    position: relative;
}

@media only screen and (min-width: 1200px) and (max-width: 3640px) {
    .container {
        max-width: 1170px;
    }
}

@media (max-width: 1200px) {
    [class*="hero-ani-"] {
        display: none !important;
    }
}

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #dddddd;
    outline: 0;
    box-shadow: none;
}

.pageination .page-link {
    border: 0px solid transparent;
    font-weight: 500;
    font-size: 18px;
    color: #979797;
    padding: 10px 8px;
}

.pageination .page-link:hover {
    background-color: transparent;
    color: #000;
}

.pageination i {
    font-size: 12px;
}

.sidebar_box_shadow {
    box-shadow: 0px 10px 10px 0px rgba(153, 153, 153, 0.1);
}

.border_top {
    border-top: 1px solid #eee;
    max-width: 1110px;
    margin: 0 auto;
}

.section_bg {
    background-color: #f4edf278;
}

/* Main Button Area CSS */
.submit_btn {
    width: auto;
    display: inline-block;
    background: #fff;
    padding: 0px 50px;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    line-height: 50px;
    border-radius: 5px;
    outline: none !important;
    box-shadow: none !important;
    text-align: center;
    border: 1px solid #edeff2;
    cursor: pointer;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.submit_btn:hover {
    background: transparent;
}

.btn_1 {
    display: inline-block;
    padding: 17px 50px;
    border-radius: 5px;
    background-color: #7fafcc;
    border: 2px solid #7fafcc;
    font-size: 15px;
    font-weight: 500;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    text-transform: capitalize;
    color: #fff;
}

.btn_1:hover {
    background-color: #fff;
    color: #7fafcc;
}

@media (max-width: 991px) {
    .btn_1 {
        padding: 13px 35px;
    }
}

.btn_2 {
    display: block!important;
    width: 100%!important;
    margin: 30px 0 17px!important;
    padding: 12px 48px!important;
    border-radius: 5px!important;
    background-color: #1f3b4d!important;
    border: 1px solid #1f3b4d!important;
    font-size: 15px!important;
    font-weight: 700!important;
    color: #fff!important;
    text-transform: uppercase!important;
    font-weight: 400!important;
    -webkit-transition: 0.5s!important;
    transition: 0.5s!important;
}

.btn_2:active {
	transform: translateY(0)!important;
}

.btn_2:hover {
    transform: translateY(-1px)!important;
	background-color: #7fafcc!important;
	border: 1px solid #7fafcc!important;
    color: #fff!important;
}

@media (max-width: 991px) {
    .btn_2 {
         padding: 9px 36px!important;
    }
}

.btn_3 {
    display: inline-block;
    padding: 18px 36px;
    border-radius: 5px;
    background-color: transparent;
    border: 1px solid #7fafcc;
    font-size: 15px;
    font-weight: 700;
    color: #7fafcc;
    text-transform: uppercase;
    font-weight: 400;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.btn_3:hover {
    background-color: #7fafcc;
    color: #fff;
}

@media (max-width: 991px) {
    .btn_3 {
        padding: 13px 35px;
    }
}

/* Custom Button Area CSS */
.button {
    display: inline-block;
    border: 1px solid transparent;
    font-size: 15px;
    font-weight: 500;
    padding: 12px 54px;
    border-radius: 4px;
    color: #fff;
    border: 1px solid #edeff2;
    text-transform: uppercase;
    background-color: #7fafcc;
    cursor: pointer;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

@media (max-width: 767px) {
    .button {
        font-size: 13px;
        padding: 9px 24px;
    }
}

.button:hover {
    color: #fff;
}

.button-link {
    letter-spacing: 0;
    color: #3b1d82;
    border: 0;
    padding: 0;
}

.button-link:hover {
    background: transparent;
    color: #3b1d82;
}

.button-header {
    color: #fff;
    border-color: #edeff2;
}

.button-header:hover {
    background: #b8024c;
    color: #fff;
}

.button-contactForm {
    color: #fff;
    border-color: #edeff2;
    padding: 12px 25px;
}

/* Causes Area CSS */
.causes_slider .owl-dots {
    text-align: center;
    margin-top: 80px;
}

.causes_slider .owl-dots .owl-dot {
    height: 14px;
    width: 14px;
    background: #eeeeee;
    display: inline-block;
    margin-right: 7px;
}

.causes_slider .owl-dots .owl-dot:last-child {
    margin-right: 0px;
}

.causes_item {
    background: #fff;
}

.causes_item .causes_img {
    position: relative;
}

.causes_item .causes_img .c_parcent {
    position: absolute;
    bottom: 0px;
    width: 100%;
    left: 0px;
    height: 3px;
    background: rgba(255, 255, 255, 0.5);
}

.causes_item .causes_img .c_parcent span {
    width: 70%;
    height: 3px;
    position: absolute;
    left: 0px;
    bottom: 0px;
}

.causes_item .causes_img .c_parcent span:before {
    content: "75%";
    position: absolute;
    right: -10px;
    bottom: 0px;
    color: #fff;
    padding: 0px 5px;
}

.causes_item .causes_text {
    padding: 30px 35px 40px 30px;
}

.causes_item .causes_text h4 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    cursor: pointer;
}

.causes_item .causes_text p {
    font-size: 14px;
    line-height: 24px;
    font-weight: 300;
    margin-bottom: 0px;
}

.causes_item .causes_bottom a {
    width: 50%;
    border: 1px solid;
    text-align: center;
    float: left;
    line-height: 50px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
}

.causes_item .causes_bottom a + a {
    border-color: #eeeeee;
    background: #fff;
    font-size: 14px;
}

/* Menu Area CSS */
.main_menu .navbar-brand {
    padding-top: 0rem;
    padding-bottom: 0px;
}

.main_menu .navbar-brand img {
	width: 200px;
	height: 200px;
}

@media only screen and (max-width: 767px) {
    .main_menu .navbar-brand {
		padding-top: 1rem;
		padding-bottom: 10px;
	}
	
	.main_menu .navbar-brand img {
		width: 90px;
		height: 90px;
	}
}

.main_menu .navbar {
    padding: 0px;
}

.main_menu .main-menu-item ul li .nav-link {
    color: #1f3b4d;
    font-size: 16px;
    padding: 35px 21px;
    font-family: "Open Sans", Verdana, sans-serif;
    text-transform: capitalize;
    line-height: 16px;
    font-weight: 400;
}

.main_menu .main-menu-item ul li .nav-link:hover {
    color: #737373 !important;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .main_menu .main-menu-item ul li .nav-link {
        padding: 35px 20px;
    }
}

/* Menu de recherche */
.main_menu .search-area {
    padding-top: 1px;
	position: relative;
    z-index: 1;
    width: 40px;
    display: block;
    text-align: center;
    height: 100%;
    line-height: 80px;
}

.main_menu .search-area a i {
    color: #1f3b4d;
	font-size: 16px;
}

.main_menu #search_input_box {
    display: none;
	position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    max-width: 1140px;
    z-index: 999;
    text-align: center;
    background: #7fafcc;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2);
}

.main_menu #search_input_box ::placeholder {
    color: #fff;
}

@media (max-width: 991px) {
    .main_menu #search_input_box {
        margin-top: 15px;
    }
}

.main_menu #search_input_box .form-control {
    background: transparent;
    border: 0;
    color: #ffffff;
    font-weight: 400;
    font-size: 15px;
    padding: 0;
}

.main_menu #search_input_box .btn {
    width: 0;
    height: 0;
    padding: 0;
    border: 0;
}

.main_menu #search_input_box .fa-close {
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    padding: 10px;
    padding-right: 0;
}

.main_menu .search-inner {
    padding: 5px 5px;
}

/* Menu de langues */
.main_menu .language-area {
    position: relative;
    display: inline-block;
}

.main_menu .language-area .drop-btn {
    background-color: transparent;
    color: #1f3b4d;
    padding: 4px;
    font-size: 14px;
    border: none;
    font-weight: 700;
    cursor: pointer;
}

.main_menu .language-area .drop-btn:hover,
.main_menu .language-area .drop-btn:focus {
    color: #1f3b4d;
}

.main_menu .language-area .drop-btn::after {
    display: none !important;
}

.main_menu .language-area .dropdown-content {
    display: none;
    position: absolute;
    right: 0;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    overflow: hidden;
}

.main_menu .language-area .dropdown-content a {
    color: black;
    text-decoration: none;
    display: block;
    padding: 12px 16px;
    color: #1f3b4d;
    transition: background 0.3s;
}

.main_menu .language-area .dropdown-content a:hover,
.main_menu .language-area .dropdown-content a:focus {
    color: #737373;
}

.main_menu .language-area .dropdown:hover .dropdown-content {
    display: block;
}

/* Menu de compte et panier */
.main_menu .account-area a,
.main_menu .cart-area a {
    position: relative;
    z-index: 1;
    width: 60px;
    display: block;
    text-align: center;
    height: 100%;
    line-height: 80px;
}

@media only screen and (max-width: 767px) {
	.main_menu .account-area a,
    .main_menu .cart-area a {
        width: 45px;
        line-height: 40px;
    }
}

.main_menu .account-area a span,
.main_menu .cart-area a span {
	font-family: "Open Sans", serif;
	font-size: 18px;
	color: #7fafcc;
	font-weight: 700;
	position: absolute;
	top: -10px;
}

@media only screen and (max-width: 767px) {
	.main_menu .account-area a span,
	.main_menu .cart-area a span {
		font-size: 14px; 
	} 
}

.main_menu .account-area a i,
.main_menu .cart-area a i {
    font-size: 16px;
    color: #1f3b4d;
    font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.main_menu .account-area a i,
	.main_menu .cart-area a i {
        font-size: 14px;
    }
}

.main_menu .form-control:focus {
    box-shadow: none;
}

.main_menu .active_color {
    color: #f5790b !important;
}

.main_menu a i {
    color: #1f3b4d !important;
    position: relative;
    z-index: 1;
    font-size: 20px;
    margin-left: 30px;
}

.main_menu .cart .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border: 0px solid transparent;
}

.main_menu .cart i {
    position: relative;
    z-index: 1;
}

/* Masquer le lien "View basket" après l'ajout au panier
.main_menu  a.added_to_cart, 
.main_menu  a.added_to_cart.wc-forward {
    display: none !important;
}
 */
 
.menu_fixed {
    position: fixed;
    z-index: 1040 !important;
    width: 100%;
    box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.05);
    top: 0;
    background-color: #fff;
}

.menu_fixed .active_color {
    color: #7fafcc !important;
}

.dropdown .dropdown-menu {
    transition: all 0.5s;
    overflow: hidden;
    transform-origin: top center;
    transform: scale(1, 0);
    display: block;
    border: 0px solid transparent;
    background-color: #7fafcc;
}

.dropdown .dropdown-menu .dropdown-item {
    font-size: 14px;
    padding: 8px 20px !important;
    color: #fff !important;
    background-color: #7fafcc;
    text-transform: capitalize;
}

@media (min-width: 991px) {
    .dropdown:hover .dropdown-menu {
        transform: scale(1);
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    }
    .dropdown:hover .dropdown-menu {
        display: block;
    }
}

@media (max-width: 991px) {
    .main_menu {
        padding: 26px 0px;
    }
    .home_menu .main-menu-item {
        padding-left: 0px;
    }
    .main_menu .main-menu-item {
        text-align: left !important;
        max-height: 300px;
        overflow: scroll;
    }
    .main_menu .main-menu-item .nav-item {
        padding: 10px 15px !important;
    }
    .main_menu .main-menu-item .nav-item .nav-link {
        padding: 5px 15px !important;
        color: #000;
    }
    .navbar-collapse {
        z-index: 9999 !important;
        position: absolute;
        left: 0;
        top: 50px;
        width: 100%;
        background-color: #fff;
        text-align: center !important;
    }
    .dropdown .dropdown-menu {
        transform: scale(1, 0);
        display: none;
        margin-top: 10px;
    }
    .dropdown:hover .show {
        transform: scale(1);
        display: block;
        color: #7fafcc;
    }
    .dropdown .dropdown-item:hover {
        color: #7fafcc !important;
    }
    .navbar-brand img {
		margin: 0 auto;
		position: absolute;
		top: 3px;
		display: inline-block;
    }
    .navbar-light .navbar-toggler {
        border-color: transparent;
        position: absolute;
        right: 0;
    }
    .menu_icon i {
        color: #000;
    }
    .main_menu a i {
        margin-left: 13px;
    }
	.header_meta {
		margin-right:40px;
	}
}

@media (max-width: 576px) {
    .main_menu {
        padding: 20px 0px;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    .main_menu {
        padding: 20px 0px;
    }
}

.dropdown-menu {
    border: 0px solid rgba(0, 0, 0, 0.15) !important;
    background-color: #fafafa;
}

.main-menu-item {
    justify-content: center !important;
}

/* Banner Part Area CSS */
.banner_part {
  width: 100%;
  min-height: 60vh;
  position: relative;
  padding: 60px 0;
  display: flex;
  align-items: center;
  background-color: #f2f2f2;
}

.banner_part h1 {
  margin: 0;
  font-size: 50px;
  font-weight: 500;
}

.banner_part p {
  margin: 5px 0 20px 0;
  font-size: 16px;
  font-weight: 400;
}

.banner_part .animated {
  animation: up-down 2s ease-in-out infinite alternate-reverse both;
}

@media (max-width: 640px) {
  .banner_part h1 {
    font-size: 28px;
    line-height: 36px;
  }

  .banner_part p {
    font-size: 15px;
    line-height: 24px;
    margin-bottom: 20px;
  }
}

@keyframes up-down {
  0% {
    transform: translateY(10px);
  }

  100% {
    transform: translateY(-10px);
  }
}

.banner_part .btn_1 {
    margin-top: 50px;
}

@media (max-width: 991px) {
    .banner_part .btn_1 {
        margin-top: 20px;
        padding: 12px 25px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .banner_part .btn_1 {
        margin-top: 20px;
    }
}

/* General Part Area CSS */
.main-content-wrapper {
    background: #fff;
    padding: 100px 0 70px 0;
}

.main-content-wrapper ul,
.main-content-wrapper ol {
    font-size: 15px;
    font-weight: 400;
    margin-bottom: 10px;
	color: #737373;
}

.main-content-wrapper ul.s-list li::before {
    font-family: 'fontawesome';
	content: "\f105";
	font-size: 12px;
	margin-right:5px;
	font-weight: normal;
	color: #7fafcc;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transform: translateY(-50%)
}

.text-heading {
    margin-bottom: 30px;
    font-size: 24px;
}

b,
sup,
sub,
u,
del {
    color: #7fafcc;
}

h1 {
    font-size: 36px;
}

h2 {
    font-size: 40px;
    line-height: 1.5;
}

h3 {
    font-size: 24px;
}

h4 {
    font-size: 18px;
}

h5 {
    font-size: 16px;
}

h6 {
    font-size: 14px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.5;
}

.mt-10 {
    margin-top: 10px;
}

.section-top-border {
    padding: 50px 0;
    border-top: 1px dotted #eee;
}

.mb-30 {
    margin-bottom: 30px;
}

.mt-30 {
    margin-top: 30px;
}

.switch-wrap {
    margin-bottom: 10px;
}

.content-area .helpful-links a:hover, .search-content-area .helpful-links a:hover {
	background-color: #7fafcc;
}

/* Contact Form Area CSS */
.contact-info {
    margin-bottom: 25px;
}

.contact-info__icon {
    margin-right: 20px;
}

.contact-info__icon i,
.contact-info__icon span {
    color: #8f9195;
    font-size: 27px;
}

.contact-info .media-body h3 {
    font-size: 16px;
    margin-bottom: 0;
    font-size: 16px;
    color: #2a2a2a;
}

.contact-info .media-body h3 a:hover {
    color: #7fafcc;
}

.contact-info .media-body p {
    color: #8a8a8a;
}

.contact-title {
    font-size: 27px;
    font-weight: 600;
    margin-bottom: 20px;
}

.form-contact label {
    font-size: 14px;
}

.form-contact .form-group {
    margin-bottom: 30px;
}

.form-contact .form-group .button-contactForm {
    color: #7fafcc !important;
    border: 1px solid #7fafcc;
}

.form-contact .form-group .button-contactForm:hover {
    color: #fff !important;
}

.form-contact .form-group .btn_1 {
    margin-bottom: -30px;
    border: 1px solid #999999;
    border-radius: 0;
    color: #000;
    display: flex;
    align-items: center;
}

@media (max-width: 991px) {
    .form-contact .form-group .btn_1 {
        margin-bottom: 20px;
    }
}

.form-contact .form-group .btn_1 i {
    color: #000;
    width: 50px;
    height: 50px;
    display: inline-block;
    line-height: 50px;
    margin-left: 20px;
    background-size: 200% auto;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.form-contact .form-group .btn_1:hover {
    border: 1px solid #7fafcc;
    color: #7fafcc !important;
}

.form-contact .form-group .btn_1:hover i {
    color: #7fafcc;
    color: #fff !important;
}

.form-contact .form-control {
    border: 1px solid #f0e9ff;
    border-radius: 5px;
    height: 48px;
    padding-left: 18px;
    font-size: 13px;
    background: transparent;
}

.form-contact .form-control:focus {
    outline: 0;
    box-shadow: none;
}

.form-contact .form-control::placeholder {
    font-weight: 300;
    color: #999999;
}

.form-contact textarea {
    border-radius: 12px;
    height: 100% !important;
}

@media (max-width: 576px) {
    .contact-section .btn_1 {
        margin-bottom: 0px !important;
        margin-top: 0px !important;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
    .contact-section .btn_1 {
        margin-bottom: 0px !important;
        margin-top: 0px !important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .contact-section .btn_1 {
        margin-bottom: 0px !important;
        margin-top: 0px !important;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .contact-section .btn_1 {
        margin-bottom: 0px !important;
        margin-top: 0px !important;
    }
}

/* WP Hide cookies consent in review form */
.form-contact.review-form .comment-form-cookies-consent {
    display: none !important;
}

/* Newsletter Form Area CSS */
.subscribe_part {
    background-color: #1f3b4d;
}

.subscribe_part .subscribe_part_content {
    text-align: center;
}

.subscribe_part .subscribe_part_content h2 {
    color: #fff;
}

@media (max-width: 991px) {
    .subscribe_part .subscribe_part_content h2 {
        font-size: 25px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .subscribe_part .subscribe_part_content h2 {
        font-size: 30px;
    }
}

.subscribe_part .subscribe_part_content p {
    color: #fff;
}

.subscribe_part .subscribe_form {
    margin: 0 auto;
    margin-top: 45px;
    position: relative;
    max-width: 558px;
}

.subscribe_part .subscribe_form input {
    border: 1px solid #fff;
    width: 100%;
    background-color: transparent;
    color: #fff;
    border-radius: 50px;
    padding: 19px 30px;
    line-height: 20px;
}

.subscribe_part .subscribe_form .btn_1 {
    padding: 15px 30px;
    line-height: 16px;
    border-radius: 50px;
    position: absolute;
    right: 5px;
    top: 5px;
}

@media (max-width: 991px) {
    .subscribe_part .subscribe_form .btn_1 {
        padding: 15px 15px;
    }
}

.subscribe_part .subscribe_form ::placeholder {
    color: #737373;
}

/* Client Review Area CSS */
.section-testimonials {
	max-width: 750px;
	margin: 50px auto;
	padding: 40px;
	background: #fff;
	position: relative;
}

.testimonial-wrapper {
	position: relative;
	height: 250px;
}

@media (max-width: 576px) {
    .testimonial-wrapper {
		position: relative;
		height: 380px;
	}
}

.testimonial-item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	transition: opacity 0.4s ease;
}

.testimonial-item.active {
	opacity: 1;
	visibility: visible;
}

/* Style Font Awesome Quote */
.fa-quote-left {
	font-size: 2.5rem;
	color: #333;
	display: block;
	margin-bottom: 20px;
}

.testimonial-content {
	font-size: 1.15rem;
	line-height: 1.7;
	color: #444;
	font-style: italic;
	flex: 1;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}

.company-highlight { 
	font-weight: 700; 
	font-style: normal; 
}

.testimonial-meta {
	border-top: 1px solid #eee;
	padding-top: 15px;
	color: #333;
	margin-top: 15px;
}

.author-job {
	color: #aaa;
	text-transform: uppercase;
	font-size: 0.8rem;
	letter-spacing: 1px;
}

/* Contrôles manuels */
.controls {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-top: 30px;
	gap: 15px;
}

.nav-btn {
	cursor: pointer;
	font-size: 1.2rem;
	color: #ccc;
	transition: color 0.3s;
}

.nav-btn:hover { 
	color: #333; 
}

.dots-container { 
	display: flex; 
	gap: 8px; 
}

.dot {
	width: 8px;
	height: 8px;
	background: #ddd;
	border-radius: 50%;
	cursor: pointer;
	transition: background 0.3s;
}

.dot.active { 
	background: #333; 
}

/* Breadcrumb Area CSS */
.breadcrumb-section {
	margin-bottom: 1rem;
}

.breadcrumb-showcase {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-top: 1.5rem;
}

.showcase-item {
	background-color: #f7fafc;
	border-radius: 12px;
	padding: 1.5rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
}

.showcase-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
}

.showcase-label {
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #718096;
	margin-bottom: 0.75rem;
}

/* Breadcrumb Styles */
.breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 0.5rem 0;
	position: relative;
}

.breadcrumb-item {
	position: relative;
	display: flex;
	align-items: center;
	font-size: 0.875rem;
	color: #718096;
}

.breadcrumb-link {
	position: relative;
	color: inherit;
	text-decoration: none;
	padding: 0.25rem 0.5rem;
	transition: all 0.3s ease;
	white-space: nowrap;
}

.breadcrumb-link:after {
	content: '';
	position: absolute;
	width: 0;
	height: 1px;
	bottom: 0;
	left: 50%;
	background-color: #1f3b4d;
	transition: all 0.3s ease;
}

.breadcrumb-link:hover {
	color: #1f3b4d;
}

.breadcrumb-link:hover:after {
	width: calc(100% - 1rem);
	left: 0.5rem;
}

.breadcrumb-separator {
	margin: 0 0.25rem;
	color: #718096;
	opacity: 0.5;
}

.breadcrumb-item:last-child .breadcrumb-link {
	color: #2d3748;
	font-weight: 500;
}

.breadcrumb-item:last-child .breadcrumb-link:hover:after {
	background-color: #7fafcc;
}

/* Responsive styles */
@media (max-width: 600px) {
	.container {
		padding: 1rem;
	}

	.showcase-item {
		padding: 1rem;
	}

	/* Mobile breadcrumb adjustments */
	.mobile-breadcrumb .breadcrumb-item:not(:first-child):not(:last-child) {
		display: none;
	}

	.mobile-breadcrumb .ellipsis {
		display: block;
	}
}

/* About us Area CSS */
.about_us .about_us_video {
    position: relative;
}

.about_us .about_us_content h5 {
    font-size: 20px;
    color: #7fafcc;
    font-weight: 400;
}

@media (max-width: 576px) {
    .about_us .about_us_content h5 {
        font-size: 18px;
    }
}

.about_us .about_us_content h3 {
    font-size: 24px;
    line-height: 1.5;
    color: #1f3b4d;
    margin: 5px 0 60px;
    font-weight: 400;
}

@media (max-width: 991px) {
    .about_us .about_us_content h3 {
        margin: 5px 0 30px;
        font-size: 20px;
    }
}

.about_us .about_video_icon {
    height: 84px;
    width: 84px;
    line-height: 84px;
    border-radius: 50%;
    background-color: #7fafcc;
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 41%;
}

@media (max-width: 576px) {
    .about_us .about_video_icon {
        height: 50px;
        width: 50px;
        line-height: 50px;
    }
}

.about_us .about_video_icon:after {
    position: absolute;
	left: 0;
    right: 0;
	top: 41%;
    content: "\f04b";
	font-family: 'fontawesome';
    width: 14px;
    height: 18px;
    background-color: #fff;
    margin: 0 auto;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
}

@media (max-width: 576px) {
    .about_us .about_video_icon:after {
        top: 32%;
    }
}

#videoPopup{
  width:75%;
  margin:0 auto;
  z-index:1000;
}

#videoPopup iframe{
  width:100%;
  margin:0 auto;
}

/* Footer Part Area CSS */
.footer_part .footer_iner {
    padding: 120px 0;
}

@media (max-width: 991px) {
    .footer_part .footer_iner {
        padding: 70px 0;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .footer_part .footer_iner {
        padding: 100px 0;
    }
}

.footer_part .footer_iner .footer_menu {
    display: flex;
    align-items: center;
}

@media (max-width: 991px) {
    .footer_part .footer_iner .footer_menu {
        display: block;
    }
}

.footer_part .footer_iner .footer_logo a {
    display: inline-block;
    margin-right: 45px;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .footer_part .footer_iner .footer_logo a {
        margin-right: 10px;
    }
}

/* WP Footer Menu */
.footer_part .footer_iner .footer_menu_item {
    margin-top: 15px;
}

.footer_part .footer_iner .footer_menu_item ul.menu li a {
    display: inline-block;
    color: #1f3b4d;
    font-size: 16px;
    padding: 0 17px;
}

@media (max-width: 991px) {
    .footer_part .footer_iner .footer_menu_item ul.menu li a {
        padding: 0 15px 0 0;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .footer_part .footer_iner .footer_menu_item ul.menu li a {
        padding: 0 7px;
    }
}

.footer_part .footer_iner .footer_menu_item ul.menu li a:hover {
    color: #737373;
}

.footer_part .footer_iner .footer_menu_item ul.menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-block;
}
.footer_part .footer_iner .footer_menu_item ul.menu li {
    display: inline-block;
}

.footer_part .social_icon {
    text-align: right;
}

@media (max-width: 991px) {
    .footer_part .social_icon {
        text-align: left;
        margin-top: 25px;
    }
}

.footer_part .social_icon ul.menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-block;
}

.footer_part .social_icon ul.menu li {
    display: inline-block;
}

.footer_part .social_icon ul.menu li a {
    height: 45px;
    width: 45px;
    border-radius: 50%;
    background-color: #1f3b4d;
    line-height: 45px;
    color: #fff;
    display: inline-block;
    text-align: center;
    margin-left: 5px;
}

.footer_part .social_icon ul.menu li a:hover {
    background-color: #737373;
}

.footer_part .copyright_part {
    background-color: #1f3b4d;
    padding: 30px 0px;
}

.footer_part .copyright_part .copyright_text {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 991px) {
    .footer_part .copyright_part .copyright_text {
        display: block;
    }
}

.footer_part .copyright_part .copyright_text p a {
    color: #737373;
}

/*
.footer_part .gateways img {
    max-width: 100%;
	height: 50px;
	padding:8px;
}
/*

/* WP Pages CSS */
.content-area .pagination, .search-content-area .pagination {
	justify-content: center;
}

.content-area .pagination .page-link, .search-content-area .pagination .page-link {
	color: #7fafcc;
}

.content-area .pagination .page-item.active .page-link, .search-content-area .pagination .page-item.active .page-link {
	background-color: #1f3b4d;
	border-color: #1f3b4d;
}

.content-area .pagination-wrapper .pagination li::before, .search-content-area .pagination-wrapper .pagination li::before {
    content: none;
}

.content-area .helpful-links, .search-content-area .helpful-links {
    text-align: center;
}

.content-area .helpful-links a, .search-content-area .helpful-links a {
    display: inline-block; /* pour que le centrage text-align fonctionne */
    margin: 5px auto;
    width: 200px; /* optionnel, pour une largeur uniforme */
	height: 60px;
    line-height: 60px;
    font-size: 15px;
    font-family: "Open Sans", Verdana, sans-serif;
    font-weight: 500;
	background-color: #1f3b4d;
	color: white;
	text-decoration: none;
	border-radius: 5px;
	transition: background-color 0.3s;
    text-transform: capitalize;
}

/* Single Product List Area CSS */
.single_product_list {
    padding: 200px 0 100px;
}

@media (max-width: 991px) {
    .single_product_list {
        padding: 100px 0 0;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .single_product_list {
        padding: 100px 0 100px;
    }
}

.single_product_list .single_product_img {
    position: relative;
    margin: 35px 0 0 35px;
}

@media (max-width: 991px) {
    .single_product_list .single_product_img {
        max-width: 204px;
    }
}

.single_product_list .single_product_img .product_overlay {
    position: absolute;
    left: -35px;
    top: -35px;
    z-index: -1;
}

.single_product_list .single_product_img .product-badges-container {	
	position: absolute;
    top: 20px;
    left: 20px; 
	z-index: 10;
}

.single_product_list .single_product_img .product-badge {
    height: 25px;
    background-color: #000000;
    color: #ffffff;
    font-family: "Open Sans", serif;
    font-weight: 700;
    font-size: 14px;
    padding: 0 10px;
	margin: 2px;
    display: inline-block;
    line-height: 25px;
}

@media (max-width: 576px) {
    .single_product_list .single_product_img .product-badge {
		height: 25px;
		background-color: #000000;
		color: #ffffff;
		font-family: "Open Sans", serif;
		font-weight: 700;
		font-size: 12px;
		padding: 0 8px;
		margin: 2px;
		display: inline-block;
		line-height: 25px;
	}
}

.single_product_list .single_product_img .product-badge.offer-badge {
    background-color: #e60023;
}

.single_product_list .single_product_img .product-badge.new-badge {
    background-color: #e60023;
}

.single_product_list .single_product_content ol,
.single_product_list .single_product_content ul {
    font-size: 15px;
    font-weight: 400;
    margin-bottom: 10px;
	color: #737373;
}

.single_product_list .single_product_content ul li::before {
    font-family: 'fontawesome';
	content: "\f105";
	font-size: 12px;
	margin-right:5px;
	font-weight: normal;
	color: #7fafcc;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transform: translateY(-50%)
}

.single_product_list .single_product_content h5 {
    font-weight: 500;
    font-size: 20px;
    color: #7fafcc;
}

@media (max-width: 991px) {
    .single_product_list .single_product_content h5 {
        font-size: 16px;
    }
}

.single_product_list .single_product_content h2 {
    font-size: 40px;
    line-height: 1.5;
    font-weight: 500;
    margin: 10px 0 50px;
}

.single_product_list .single_product_content h2 a {
    color: #1f3b4d;
}

.single_product_list .single_product_content h2 a:hover {
    color: #737373;
}

@media (max-width: 991px) {
    .single_product_list .single_product_content h2 {
        font-size: 25px;
        margin: 10px 0 30px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .single_product_list .single_product_content h2 {
        font-size: 30px;
        margin: 10px 0 30px;
    }
}

@media (max-width: 991px) {
    .single_product_list .single_product_content {
        margin-top: 80px;
    }
    .single_product_list .single_product_content .btn_3 {
        padding: 13px 29px;
    }
}

.single_product_list .single_product_iner {
    margin-bottom: 100px;
}

@media (max-width: 991px) {
    .single_product_list .single_product_iner {
        margin-bottom: 60px;
    }
}

.single_product_list .single_product_iner:nth-child(2n-2) .row {
    flex-direction: row-reverse;
    margin-top: 140px;
}

@media (max-width: 991px) {
    .single_product_list .single_product_iner:nth-child(2n-2) .row {
        margin-bottom: 70px;
        margin-top: 100px;
    }
}

@media (max-width: 991px) {
    .single_product_list .single_product_iner:nth-child(2n-2) .row .single_product_content {
        margin-top: 40px;
    }
    .single_product_list .single_product_iner:nth-child(2n-2) .row .single_product_content .btn_3 {
        padding: 13px 29px;
    }
}

.single_product_list .single_product_iner:nth-child(2n-2) .row .single_product_img {
    position: relative;
    margin: 0 35px 35px 0;
}

.single_product_list .single_product_iner:nth-child(2n-2) .row .single_product_img .product_overlay {
    position: absolute;
    left: auto;
    right: -35px;
    top: -35px;
    z-index: -1;
}

/* Single Product Area css */
.product_image_area {
    padding-top: 80px;
}

.product_image_area .owl-nav button.owl-prev,
.product_image_area .owl-nav button.owl-next {
	position: absolute;
	left: 30px;
	top: 54%;
	cursor: pointer;
	width: 58px;
	height: 58px;
	line-height: 58px;
	border-radius: 50%;
	background: rgba(59, 93, 80, 0.1);
	color: #fff;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

.product_image_area .owl-nav button.owl-prev:hover,
.product_image_area .owl-nav button.owl-next:hover {
    background-color: #7fafcc;
    color: #fff;
}

.product_image_area .owl-nav button.owl-next {
    text-indent: 2px;
    left: auto;
    right: 30px;
}

.product_image_area .single_product_text {
    margin-left: -15px;
    margin-top: 65px;
}

@media (max-width: 575px) {
    .product_image_area .single_product_text {
        margin-left: 0px;
    }
}

.product_image_area .single_product_text h3 {
    font-size: 24px;
    font-weight: 500;
    color: #222222;
    margin-bottom: 10px;
}

.product_image_area .single_product_text h2 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 15px;
}

.product_image_area .single_product_text .price-block .regular-price {
	font-size: 24px; 
	color: #1f3b4d; 
}

.product_image_area .single_product_text .price-block .sale-price {
	font-size: 24px;
	font-weight :800;
	color: #1f3b4d;
}

.product_image_area .single_product_text .price-block .discount-badge {
	font-size: 14px;
	background: #1f3b4d;
	color: #fff;
	padding: 4px 8px;
	border-radius: 999px;
}

/* Small helpers */
.price-block { 
	display: flex;
	align-items: center;
	gap: 8px;
}

.product_image_area .single_product_text .list li {
    margin-bottom: 5px;
	list-style-type: none!important;
	font-size: 14px;
    font-family: "Open Sans", Verdana, sans-serif;
    font-weight: normal;
    color: #555555;
}

.product_image_area .single_product_text .list li::before {
    content: none;
}

.product_image_area .single_product_text .list li:last-child {
    margin-bottom: 0px;
}

.product_image_area .single_product_text p {
    padding-top: 20px;
    border-top: 1px dotted #d5d5d5;
    margin-top: 20px;
    margin-bottom: 70px;
}

.product_description_area {
    padding-bottom: 120px;
    margin-top: 60px;
}

.product_description_area .nav.nav-tabs {
    background: #e8f0f2;
    text-align: center;
    display: block;
    border: none;
    padding: 10px 0px;
}

.product_description_area .nav.nav-tabs li {
    display: inline-block;
    margin-right: 7px;
}

.product_description_area .nav.nav-tabs li:last-child {
    margin-right: 0px;
}

.product_description_area .nav.nav-tabs li a {
    padding: 0px;
    border: none;
    line-height: 38px;
    background: #fff;
    border: 1px solid #eeeeee;
    border-radius: 0px;
    padding: 0px 30px;
    color: #222222;
    font-size: 13px;
    font-weight: normal;
}

@media (max-width: 570px) {
    .product_description_area .nav.nav-tabs li a {
        padding: 0 15px;
    }
}

.product_description_area .nav.nav-tabs li a.active {
    color: #fff;
	background: #7fafcc;
    border: 1px solid transparent;
}

.product_description_area .tab-content {
    border-left: 1px solid #eee;
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 30px;
}

.product_description_area .tab-content h3 {
    font-size: 40px;
}

@media (max-width: 991px) {
    .product_description_area .tab-content .desc h3 {
        font-size: 25px;
    }
    .product_description_area .tab-content .desc h3 br {
        display: none;
    }
}

.product_description_area .tab-content .desc p {
    margin-top: 8px;
    color: #707070;
}

.product_description_area .tab-content .desc ul,
.product_description_area .tab-content .desc ol {
    font-size: 15px;
    font-weight: 400;
    margin-bottom: 10px;
	color: #737373;
}

.product_description_area .tab-content .desc ul li::before {
    font-family: 'fontawesome';
	content: "\f105";
	font-size: 12px;
	margin-right:5px;
	font-weight: normal;
	color: #7fafcc;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transform: translateY(-50%)
}

@media (max-width: 991px) {
    .product_description_area .tab-content .desc p {
        margin-top: 5px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .product_description_area .tab-content .desc p {
        margin-top: 5px;
    }
}

.product_description_area .tab-content .total_rate .box_total {
    background: #e8f0f2;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
}

.product_description_area .tab-content .total_rate .box_total h4 {
    font-size: 48px;
    font-weight: bold;
}

.product_description_area .tab-content .total_rate .box_total h5 {
    color: #222222;
    margin-bottom: 0px;
    font-size: 24px;
}

.product_description_area .tab-content .total_rate .box_total h6 {
    color: #222222;
    margin-bottom: 0px;
    font-size: 14px;
    color: #777777;
    font-weight: normal;
}

.product_description_area .tab-content .table {
    margin-bottom: 0px;
}

.product_description_area .tab-content .table tbody tr td {
    padding-left: 65px;
    padding-right: 65px;
    padding-top: 14px;
    padding-bottom: 14px;
	color: #707070;
}

.product_description_area .tab-content .table tbody tr td h5 {
    font-size: 14px;
    font-family: "Open Sans", Verdana, sans-serif;
    font-weight: 600;
    color: #707070;
    margin-bottom: 0px;
    white-space: nowrap;
}

.product_description_area .tab-content .table tbody tr:first-child td {
    border-top: 0px;
}

.review_item {
    margin-bottom: 15px;
}

.review_item:last-child {
    margin-bottom: 0px;
}

.review_item .media {
    position: relative;
}

.review_item .media .media-body {
    vertical-align: middle;
    align-self: center;
}

.review_item .media .media-body h4 {
    margin-bottom: 0px;
    font-size: 14px;
    color: #222222;
    font-family: "Open Sans", Verdana, sans-serif;
    margin-bottom: 8px;
}

.review_item .media .media-body i {
    color: #fbd600;
}

.review_item p {
    padding-top: 10px;
    margin-bottom: 0px;
}

.rating_list ul.list li a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
    font-size: 13px;
}

.rating_list .star-label {
    min-width: 50px;
    font-weight: 500;
}

.rating_list .star-label i {
    display: none; /* Cacher les étoiles pour gagner de l'espace */
}

.rating_list .progress-bar-wrapper {
    flex: 1;
    height: 6px;
    background: #f0f0f0;
    border-radius: 10px;
    overflow: hidden;
}

.rating_list .progress-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #ffc107 0%, #ff9800 100%);
    border-radius: 10px;
    transition: width 0.5s ease;
}

.rating_list .count-badge {
    background: #0073aa;
    color: white;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    min-width: 28px;
    text-align: center;
}

.review_box h4 {
    font-size: 24px;
    color: #222222;
    margin-bottom: 20px;
}

.review_box p {
    margin-bottom: 0px;
    display: inline-block;
}

.review_box .comment-form-rating {
    margin-bottom: 25px;
}

.review_box .comment-form-rating > label {
    display: block;
    margin-bottom: 12px;
    font-weight: 500;
    color: #333;
    font-size: 16px;
}

.review_box .stars-rating {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: 8px;
    font-size: 35px;
}

.review_box .stars-rating input[type="radio"] {
    display: none;
}

.review_box .stars-rating label {
    cursor: pointer;
    color: #ddd;
    transition: all 0.2s ease;
    margin: 0;
}

.review_box .stars-rating label:hover,
.review_box .stars-rating label:hover ~ label {
    color: #ffc107;
    transform: scale(1.1);
}

.review_box .stars-rating input[type="radio"]:checked ~ label {
    color: #ffc107;
}

.review_box .stars-rating input[type="radio"]:checked + label {
    animation: starPulse 0.3s ease;
}

@keyframes starPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.2);
    }
}

.review_box .required {
    color: #e74c3c;
}

.review_box .contact_form {
    margin-top: 15px;
}

.review_box .primary-btn {
    line-height: 38px !important;
    padding: 0px 38px;
    text-transform: uppercase;
    margin-right: 10px;
    border-radius: 5px;
    border: none;
}

.card_area {
    margin-top: 60px;
}

.card_area .product_count_area {
    display: flex;
    align-items: center;
    justify-content: center;
}

.card_area .product_count_area p {
    margin-top: 0 !important;
    color: #737373;
}

.card_area .product_count {
    border: 1px solid #737373;
    margin: 0 35px;
}

@media (max-width: 991px) {
    .card_area .product_count {
        margin: 0 15px;
    }
}

.card_area .product_count .product_count_item {
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    display: inline-block;
}

@media (max-width: 991px) {
    .card_area .product_count .product_count_item {
        width: 45px;
    }
}

.card_area .product_count input[type="number"] {
    background-color: #737373;
    color: #fff;
    border: 1px solid #737373;
    width: 50px;
    padding: 1px;
    margin-bottom: 1px;
    text-align: center;
}

.card_area .product_count button {
    background-color: #fff;
    border: 0px;
}

.card_area .add_to_cart {
    margin-top: 60px;
}

input:focus {
    outline-offset: 0;
}

.fond-options {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.fond-input {
    display: none;
}

.fond-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    padding: 10px 20px;
    font-size: 14px;
    font-family: inherit;
    letter-spacing: 0.3px;
    color: #111;
    text-align: center;
    background: transparent;
    border: 1px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.fond-label:hover {
    border-color: #737373;
}

.fond-input:checked + .fond-label {
    background-color: #1f3b4d;
    border-color: #1f3b4d;
    color: #fff;
}

#single_add_to_cart_button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Single Product Item Area CSS */
.single_product_item {
    margin-bottom: 58px;
}

@media (max-width: 991px) {
    .single_product_item {
        margin-bottom: 30px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .single_product_item {
        margin-bottom: 30px;
    }
}

.single_product_item .single_product_item_thumb {
    background-color: #fff;
    margin: 0 auto;
    text-align: center;
}

.single_product_item h3 {
    font-size: 24px;
    font-weight: 400;
    margin-top: 22px;
    line-height: 1.5;
    margin-bottom: 8px;
}

@media (max-width: 991px) {
    .single_product_item h3 {
        font-size: 18px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .single_product_item h3 {
        font-size: 18px;
    }
}

.single_product_item h3 a {
    color: #1f3b4d;
}

.single_product_item h3 a:hover {
    color: #7fafcc;
}

.single_product_item p {
    font-size: 20px;
}

@media (max-width: 991px) {
    .single_product_item p {
        font-size: 16px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .single_product_item p {
        font-size: 16px;
    }
}

/* Feature Part Area CSS */
.feature_part .feature_part_tittle h3 {
    font-size: 40px;
    line-height: 1.5;
    font-weight: 500;
}

@media (max-width: 991px) {
    .feature_part .feature_part_tittle h3 {
        font-size: 25px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .feature_part .feature_part_tittle h3 {
        font-size: 30px;
    }
}

.feature_part .feature_part_content p {
    color: #707070;
}

.feature_part .feature_part_content ol,
.feature_part .feature_part_content ul {
    font-size: 15px;
    font-weight: 400;
    margin-bottom: 10px;
	color: #737373;
}

.feature_part .feature_part_content ul li::before {
    font-family: 'fontawesome';
	content: "\f105";
	font-size: 12px;
	margin-right:5px;
	font-weight: normal;
	color: #7fafcc;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transform: translateY(-50%)
}

.feature_part .single_feature_part {
    text-align: center;
    border: 1px solid #737373;
    padding: 35px;
    margin-top: 100px;
}

@media (max-width: 991px) {
    .feature_part .single_feature_part {
        margin-top: 30px;
        padding: 25px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .feature_part .single_feature_part {
        padding: 25px 14px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .feature_part .single_feature_part {
        margin-top: 30px;
    }
}

.feature_part .single_feature_part img {
    max-width: 42px;
    min-height: 40px;
    margin-bottom: 20px;
}

.feature_part .single_feature_part h4 {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 0;
}

/* Product Sidebar Area CSS */
.product_sidebar .single_sedebar {
    position: relative;
    margin-bottom: 20px;
}

.product_sidebar .single_sedebar input {
    background-color: #7fafcc;
    border-radius: 50px;
    border: 1px solid #7fafcc;
    padding: 13px 25px;
    width: 100%;
    line-height: 22px;
}

.product_sidebar .single_sedebar ::placeholder {
    color: #fff;
}

.product_sidebar .single_sedebar i {
    color: #fff;
	position: absolute;
    right: 30px;
    top: 17px;
}

.select_option .select_option_list {
    background-color: #7fafcc;
    border-radius: 50px;
    border: 1px solid #7fafcc;
    padding: 13px 25px;
    width: 100%;
    line-height: 22px;
    color: #fff;
}

.select_option .select_option_dropdown {
    background-color: #7fafcc;
    border-radius: 10px;
    border: 1px solid #7fafcc;
    padding: 13px 25px;
    width: 100%;
    margin-top: 10px;
}

.select_option .select_option_dropdown a {
    color: #fff;
}


/* WooCommerce Uniform style for all cart messages */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    font-size: 15px !important;
}
.woocommerce-message a {
    display: none !important;
}
.woocommerce-error a,
.woocommerce-info a {
    text-decoration: none!important;
	font-size: 14px!important;
	color: #1f3b4d !important;
}
.woocommerce-error a:hover,
.woocommerce-info a:hover {
	color: #7fafcc !important;
}

/* WooCommerce Thank you */
.woocommerce-order {
    font-family: "Open Sans", sans-serif !important;
}
.woocommerce-order-overview .woocommerce-order-overview__order:before,
.woocommerce-order-overview .woocommerce-order-overview__date:before,
.woocommerce-order-overview .woocommerce-order-overview__email:before,
.woocommerce-order-overview .woocommerce-order-overview__total:before,
.woocommerce-order-overview .woocommerce-order-overview__payment-method:before,
.woocommerce-order-overview li:before {
    display: none !important;
}
.woocommerce-order-overview li::before,
.woocommerce-order-overview .woocommerce-order-overview__order::before,
.woocommerce-order-overview .woocommerce-order-overview__date::before,
.woocommerce-order-overview .woocommerce-order-overview__email::before,
.woocommerce-order-overview .woocommerce-order-overview__total::before,
.woocommerce-order-overview .woocommerce-order-overview__payment-method::before {
    content: none !important;
    display: none !important;
}
.woocommerce-order-overview li {
    position: relative !important;
}
.woocommerce-order-overview li:before,
.woocommerce-order-overview li::before {
    display: none !important;
    content: none !important;
}
.woocommerce-customer-details {
    display: flex !important;
    gap: 30px !important;
    margin-top: 40px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.woocommerce-customer-details .woocommerce-column {
    flex: 1 !important;
    width: 48% !important; /* Force une largeur spécifique */
    max-width: none !important; /* Supprimer toute limitation de largeur */
    background: #f9f9f9 !important;
    padding: 25px !important;
    border-radius: 8px !important;
    border: 1px solid #e0e0e0 !important;
    min-height: 250px !important;
    box-sizing: border-box !important;
}
.woocommerce-customer-details .woocommerce-column--billing-address,
.woocommerce-customer-details .woocommerce-column--shipping-address {
    flex: 1 1 48% !important;
    width: 48% !important;
    min-width: 300px !important; /* Largeur minimale pour éviter qu'elles soient trop étroites */
}
.woocommerce-customer-details .woocommerce-column h2 {
    color: #333 !important;
    font-size: 18px !important;
    margin-bottom: 20px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #7fafcc !important;
}
.woocommerce-customer-details .woocommerce-column address {
    line-height: 1.8 !important;
    font-size: 14px !important;
    color: #555 !important;
    margin: 0 !important;
    word-wrap: break-word !important;
    width: 100% !important;
}
.woocommerce-customer-details .woocommerce-column address br {
    margin-bottom: 5px !important;
}
@media (max-width: 1024px) {
    .woocommerce-customer-details {
        flex-direction: column !important;
        gap: 20px !important;
        width: 100% !important;
    }
    .woocommerce-customer-details .woocommerce-column,
    .woocommerce-customer-details .woocommerce-column--billing-address,
    .woocommerce-customer-details .woocommerce-column--shipping-address {
        width: 100% !important;
        max-width: 100% !important;
        min-width: auto !important;
        flex: none !important;
        min-height: 200px !important;
        padding: 20px !important;
        margin: 0 !important;
    }
}
@media (max-width: 768px) {
    .woocommerce-customer-details .woocommerce-column {
        padding: 15px !important;
        min-height: 180px !important;
    }
    .woocommerce-customer-details .woocommerce-column h2 {
        font-size: 16px !important;
        margin-bottom: 15px !important;
    }
    .woocommerce-customer-details .woocommerce-column address {
        font-size: 13px !important;
    }
}
.woocommerce-order-details {
    margin-top: 30px !important;
    background: #fff !important;
    padding: 25px !important;
    border-radius: 8px !important;
    border: 1px solid #e0e0e0 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important;
}
.woocommerce-order-details h2 {
    color: #333 !important;
    font-size: 20px !important;
    margin-bottom: 20px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #7fafcc !important;
}
.woocommerce-order-overview {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    margin-bottom: 30px !important;
    padding: 20px !important;
    background: #f8f9fa !important;
    border-radius: 8px !important;
}
.woocommerce-order-overview li {
    flex: 1 !important;
    min-width: 200px !important;
    background: white !important;
    padding: 15px !important;
    border-radius: 5px !important;
    border: 1px solid #e0e0e0 !important;
    text-align: center !important;
    list-style: none !important;
    margin: 0 !important;
}
.woocommerce-order-overview li strong {
    display: block !important;
    color: #333 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    margin-bottom: 5px !important;
    font-weight: 600 !important;
}
.woocommerce-order-overview .woocommerce-order-overview__total {
    background: #7fafcc !important;
    color: white !important;
    font-weight: bold !important;
}
.woocommerce-order-overview .woocommerce-order-overview__total strong {
    color: white !important;
}
.woocommerce-thankyou-order-received {
    background: #d4edda !important;
    border: 1px solid #c3e6cb !important;
    color: #155724 !important;
    padding: 20px !important;
    border-radius: 8px !important;
    margin-bottom: 30px !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: 500 !important;
}
.woocommerce-order-details .woocommerce-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 20px !important;
}
.woocommerce-order-details .woocommerce-table th,
.woocommerce-order-details .woocommerce-table td {
    padding: 12px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    text-align: left !important;
}
.woocommerce-order-details .woocommerce-table th {
    background: #f8f9fa !important;
    font-weight: 600 !important;
    color: #333 !important;
}
.woocommerce-order-details .woocommerce-table .order-total {
    background: #fff5f5 !important;
    font-weight: bold !important;
    border-top: 2px solid #7fafcc !important;
}
.woocommerce-order-details .woocommerce-table .order-total .amount {
    color: #7fafcc !important;
    font-size: 18px !important;
}
@media (max-width: 768px) {
    .woocommerce-order-overview {
        flex-direction: column !important;
    }
    .woocommerce-order-overview li {
        min-width: auto !important;
        margin-bottom: 10px !important;
    }
}
.woocommerce-order {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 20px !important;
}
.woocommerce-order .woocommerce-order-downloads,
.woocommerce-order .woocommerce-order-again {
    margin-top: 30px !important;
    padding: 20px !important;
    background: #f8f9fa !important;
    border-radius: 8px !important;
}
.woocommerce-order .button {
    background: #7fafcc !important;
    color: white !important;
    border: none !important;
    padding: 12px 20px !important;
    border-radius: 5px !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-top: 10px !important;
}
.woocommerce-order .button:hover {
    background: #c0392b !important;
}
.woocommerce-customer-details .col-1,
.woocommerce-customer-details .col-2 {
    width: 48% !important;
    flex: 1 !important;
}
.woocommerce-customer-details .woocommerce-column {
    max-width: none !important;
    flex-basis: 48% !important;
}
.woocommerce-customer-details {
    display: flex !important;
    align-items: stretch !important;
}
.customer_details .col-1,
.customer_details .col-2 {
    width: 48% !important;
    flex: 1 !important;
    min-width: 300px !important;
}
body.woocommerce-page .woocommerce-customer-details .woocommerce-column {
    width: 48% !important;
    flex: 1 1 48% !important;
    min-width: 300px !important;
}
@media (max-width: 1024px) {
    .woocommerce-customer-details .col-1,
    .woocommerce-customer-details .col-2,
    .customer_details .col-1,
    .customer_details .col-2,
    body.woocommerce-page .woocommerce-customer-details .woocommerce-column {
        width: 100% !important;
        max-width: 100% !important;
        min-width: auto !important;
        flex: none !important;
        flex-basis: 100% !important;
    }
}
.woocommerce-order {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 20px !important;
}
@media (max-width: 768px) {
    .woocommerce-order {
        padding: 15px !important;
    }
}
@media (max-width: 1024px) {
    .woocommerce-customer-details {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .woocommerce-customer-details .woocommerce-column {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Tracking Area CSS */
.tracking_box_area .tracking_box_inner p {
    max-width: 870px;
    color: #2a2a2a;
    margin-bottom: 25px;
}

.tracking_box_area .tracking_box_inner .tracking_form {
    max-width: 645px;
}

.tracking_box_area .tracking_box_inner .tracking_form .form-group {
    margin-bottom: 30px;
}

.tracking_box_area .tracking_box_inner .tracking_form .form-group input {
    height: 40px;
    border: 1px solid #eee;
    padding: 0px 15px;
    outline: none;
    box-shadow: none;
    border-radius: 0px;
    font-size: 14px;
    color: #737373;
    font-family: "Open Sans", Verdana, sans-serif;
    font-weight: normal;
}

.tracking_box_area .tracking_box_inner .tracking_form .form-group input.placeholder {
    font-size: 14px;
    color: #737373;
    font-family: "Open Sans", Verdana, sans-serif;
    font-weight: normal;
}

.tracking_box_area .tracking_box_inner .tracking_form .form-group input:-moz-placeholder {
    font-size: 14px;
    color: #737373;
    font-family: "Open Sans", Verdana, sans-serif;
    font-weight: normal;
}

.tracking_box_area .tracking_box_inner .tracking_form .form-group input::-moz-placeholder {
    font-size: 14px;
    color: #737373;
    font-family: "Open Sans", Verdana, sans-serif;
    font-weight: normal;
}

.tracking_box_area .tracking_box_inner .tracking_form .form-group input::-webkit-input-placeholder {
    font-size: 14px;
    color: #737373;
    font-family: "Open Sans", Verdana, sans-serif;
    font-weight: normal;
}

.tracking_box_area .tracking_box_inner .tracking_form .form-group:last-child {
    margin-bottom: 0px;
}

.tracking_box_area .tracking_box_inner .tracking_form .form-group .btn_3 {
    box-shadow: -1.717px 8.835px 29.76px 2.24px rgba(255, 51, 104, 0.18);
}

/* Shipping Details Area CSS */
.shipping_details {
    background-color: #fff;
}

@media (max-width: 991px) {
    .shipping_details .single_shopping_details {
        margin-bottom: 30px;
    }
}

.shipping_details .single_shopping_details i,
.shipping_details .single_shopping_details span {
    font-size: 45px;
}

.shipping_details .single_shopping_details img {
    max-width: 48px;
}

.shipping_details .single_shopping_details h4 {
    font-size: 20px;
    font-weight: 700;
    margin: 34px 0 10px;
}

@media (max-width: 991px) {
    .shipping_details .single_shopping_details h4 {
        margin: 15px 0 5px;
    }
}

/* Confirmation Area CSS */
.confirmation_part .confirmation_tittle {
    text-align: center;
    margin-bottom: 35px;
}

.confirmation_part .confirmation_tittle span {
    color: #7fafcc;
}

.confirmation_part .single_confirmation_details {
    background-color: #f4f4f4;
    padding: 35px 40px;
}

@media (max-width: 991px) {
    .confirmation_part .single_confirmation_details {
        margin-bottom: 15px;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
    .confirmation_part .single_confirmation_details {
        margin-bottom: 30px;
    }
}

.confirmation_part .single_confirmation_details h4 {
    font-size: 18px;
    font-weight: 500;
    color: #222222;
    text-transform: capitalize;
    margin-bottom: 16px;
}

.confirmation_part .single_confirmation_details ul li {
    position: relative;
    text-transform: capitalize;
    padding-left: 55%;
    margin-bottom: 3px;
}

.confirmation_part .single_confirmation_details ul li p {
    position: absolute;
    left: 0;
    top: 0;
    line-height: 21px;
    color: #777777;
}

.confirmation_part .single_confirmation_details ul li span {
    color: #222222;
}

.confirmation_part .order_details_iner {
    margin-top: 50px;
    background-color: #f4f4f4;
    padding: 30px 30px 15px;
    text-transform: capitalize;
}

.confirmation_part .order_details_iner h3 {
    font-size: 18px;
}

.confirmation_part .order_details_iner .table thead th {
    color: #222222;
    font-size: 16px;
}

.confirmation_part .order_details_iner span {
    color: #777777;
}

.confirmation_part .order_details_iner thead {
    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
}

.confirmation_part .order_details_iner tfoot {
    border-top: 1px solid #dddddd;
}

.confirmation_part .order_details_iner th {
    font-weight: 500;
}