/*!
Theme Name: WebLine
Theme URI: https://webline-solutions.fr/
Author: WebLine
Author URI: http://webline-solutions.fr/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: webline
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

body {
    overflow-x: hidden;
}

thead tr {
    background-color: var(--fifth-color);
}

thead tr td {
    color: var(--second-color);
}

td {
    padding: 3px 5px;
}

ul {
    padding-inline-start: 20px;
}

/*  CSS Header  */
/*  General  */
.site-header {
    position: sticky;
    top: 0;
    z-index: 10000;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
}

body:not(.home) .site-header {
    background-color: var(--second-color);
}

.home .site-header {
    width: 100%;
    background-color: var(--second-color);
    transition: background-color .3s;
}

.site-header li {
    list-style: none;
}

.site-header a {
    text-decoration: none;
    display: inline-flex;
    position: relative;
}

.site-header .logo-link a::after,
.site-header .linkedin-link a::after,
.site-header .logo_link::after {
    content: none;
}

.site-header .site-logo {
    text-align: center;
}

/* .home .site-header.scrolling {
    background-color: var(--first-color);
}

.home .site-header.scrolling * {
    color: var(--second-color);
} */


/* Menu Haut */
.site-header .top-menu {
    display: flex;
    justify-content: flex-end;
    gap: var(--gap-l);
    background-color: var(--fourth-color);
    padding: 0;
}

.top-menu a {
    font-family: var(--font-semibold);
    font-size: var(--font-btn);
    color: var(--second-color);
    letter-spacing: .5px;
    padding: 17px 10px;
    transition: color 0.3s ease;
}

.top-menu a:hover {
    color: var(--first-color);
    transition: background-color 0.3s ease, color 0.3s ease;
    background-color: var(--second-color);
}

.top-menu li:last-child a {
    background-color: var(--second-color);
    color: var(--fourth-color);
    font-family: var(--font-semibold);
}

.top-menu li:last-child a:hover {
    background-color: var(--fifth-color);
    color: var(--second-color);
}

.site-header .top-menu li > a::before  {
    height: calc(100% - (var(--font-btn) + 10px));
	left: 0
}

.site-header li > a::before  {
    position: absolute;
    content: '';
    height: calc(100% - 30px);
    width: 2px;
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
    transition : background-color 0.3s ease;
}

.site-header .current-menu-item:last-child:hover > a::before  {
    background-color: var(--second-color);
}

.site-header li:not(.particular):hover > a::before,
.site-header .current-menu-item:not(.particular) > a::before,
.site-header .current-menu-parent:not(.particular) > a::before {
    background-color: var(--fifth-color);
}

.site-header .top-menu .current-menu-item > a::before,
.site-header .sub-menu li:hover > a::before,
.site-header .sub-menu .current-menu-item > a::before  {
    height: calc(100% - 20px);
}

.site-header .top-menu .current-menu-item:not(:last-child):hover > a::before {
   content: none;
}

/* Menu Principal */

.site-header .principal-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 11px;
}

.site-header__container {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
}

.principal-nav a {
    font-size: clamp(13px, 0.9vw, 14px);
    color: var(--first-color);
    font-family: var(--font-bold);
}

.principal-nav .menu {
    display: flex;
    width: 100%;
    align-items: center;
    gap: var(--gap-s);
    padding-inline-start: 0;
}

.site-header .top-menu .menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-inline-start: 0;
}

.menu-item-has-children {
    position: relative;
}

.principal-nav .menu>li>a {
    text-transform: uppercase;
    padding: 15px;
    letter-spacing: 0.8px;
}

.principal-nav .menu>li:last-child>a {
    background-color: var(--first-color);
    color: var(--second-color);
    transition: background-color 0.3s ease;
}

.principal-nav .sub-menu {
    flex-direction: column;
    background-color: var(--second-color);
    padding: 15px;
}

.principal-nav .sub-menu li>a {
    padding: 10px 15px;
    transition: background-color 0.2s ease, color 0.2s ease;
    color: var(--text-color);
    width: 100%;
    font-size: clamp(13px, 0.9vw, 14px);
    font-family: var(--font-regular);
}

/* Pre footer */

.pre-footer.centered-full {
    position: relative;
    padding: var(--gap-l) 0;
}

.pre-footer::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to right, var(--first-color) 60%, #005a9a63 100%);
}

.pre-footer__links {
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-xl);
}

.pre-footer__item {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: var(--gap-m);
}

.pre-footer__title {
    font-family: var(--font-semibold);
    font-size: var(--font-h5);
    color: var(--second-color);
    text-transform: uppercase;
    max-width: 200px;
}

.pre-footer__item:first-child .pre-footer__cta {
    border: 0;
    position: relative;
    font-family: var(--font-medium);
    font-size: var(--font-btn);
    padding: 14px 28px;
    color: var(--second-color);
    background-color: var(--fifth-color);
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: var(--gap-s);
    transition: background-color 0.3s ease;
}

.pre-footer__item:first-child .pre-footer__cta:hover {
    color: var(--first-color);
    border: 0;
    background-color: var(--second-color);
}

.pre-footer__item:last-child .pre-footer__cta.secondary-cta {
    color: var(--first-color);
    background-color: var(--second-color);
    transition: background-color 0.3s ease;
}

.pre-footer__item:last-child .pre-footer__cta.secondary-cta:hover {
    color: var(--second-color);
    background-color: var(--fifth-color);
}

/* Responsive */

@media (max-width: 768px) {
    .pre-footer {
        background-image: none !important;
    }

    .pre-footer::after {
        background: linear-gradient(to bottom, var(--first-color) 15%, var(--fourth-color) 100%);
    }

    .pre-footer__links {
        gap: var(--gap-l);
    }
}

/*  CSS Footer */

#colophon {
    padding: 70px 0 0;
}

.footer {
    background-color: var(--fourth-color);
    gap: var(--gap-l);
}

.footer * {
    color: var(--second-color);
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--gap-l);
}

.footer__container::after {
    content: "";
    position: absolute;
    bottom: calc(-1*var(--gap-l) / 2);
    left: 50%;
    transform: translateX(-50%);
    border-bottom: solid 1px #ffffff45;
    width: 100%;
    margin: 0 auto;
}

.footer li {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--gap-m);
}

.footer__container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--gap-xl);
    position: relative;
    width: 100%;
}

.footer_container>* {
    flex: 1;
}

.footer .menu {
    display: flex;
    gap: var(--gap-xl);
	padding-inline-start: 0;
}

.footer .menu>li>a,
footer .title-footer {
    font-family: var(--font-bold);
    text-transform: uppercase;
    display: inline-flex;
}

.footer__logo-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-s);
}

.logo_plus,
.footer__logo {
    width: 150px;
}

.footer .sub-menu {
    padding-inline-start: 0;
}

.footer .sub-menu li:not(:last-child) {
    margin-bottom: 15px;
}

.footer .sub-menu a {
    color: #ffffffa3;
    transition: color 0.2s ease;
}

.footer .sub-menu a:hover {
    color: #ffffff;
}

.footer__infos {
    display: flex;
    flex-direction: column;
    gap: var(--gap-m);
}

.footer_coordonnee {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--gap-m);
}

.footer_numbers {
    justify-content: flex-start;
    border: 0;
    position: relative;
    font-family: var(--font-medium);
    font-size: var(--font-btn);
    padding: 14px 28px;
    color: var(--second-color);
    background-color: var(--fifth-color);
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: var(--gap-s);
    transition: background-color 0.3s ease;
}

.footer_numbers:hover {
    border: 0;
    background-color: var(--second-color);
}

.footer_numbers:hover  .footer__tel{
    color: var(--first-color);
}

.footer .footer_numbers img {
    width: 15px;
    filter: invert(1) brightness(10);
}

.footer_numbers:hover img {
   filter: initial;
}

.footer__container-social-newsletter {
    display: flex;
    flex-direction: column;
    gap: var(--gap-m);
}

.footer__copyright {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--gap-s);
    flex-direction: column;
    flex-wrap: wrap;
}

.footer__obligatories-pages {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--gap-m) / 2);
    flex-wrap: wrap;
}

.footer__obligatories-pages li:hover a {
    color: var(--fifth-color);
}

.footer__obligatories-pages li:not(:last-child) a:after {
    content: "-";
    margin-left: calc(var(--gap-m) / 2);
}

.footer__infos * {
    color: #ffffffa3;
}

.footer .footer__infos div:not(:last-child) {
    margin-bottom: .5rem;
}

.footer__title-media {
    margin-bottom: 1rem;
    font-family: var(--font-bold);
    text-transform: uppercase;
    display: flex;
    gap: var(--gap-s);
}

.footer .copyright-container {
    width: 100vw;
    background: var(--fifth-color);
    text-align: center;
    padding: 10px;
    margin: 0 -30px;
}

.footer .menu .menu-item-has-children::before {
	display: none;
}

/* Formulaire */

#main-content .forminator-row .forminator-field .forminator-label:has(.forminator-required) {
    font-family: var(--font-semibold);
}

.forminator-guttenberg {
    max-width: calc(1250px + 30px * 2);
    margin: 0 auto;
    padding: 100px 30px;
}

.btn-newsletter {
    background-color: var(--fifth-color);
}

#forminator-module-1019 {
    display: flex;
    align-items: flex-end;
    gap: var(--gap-s);
}

.footer__newsletter .forminator-ui.forminator-custom-form[data-design=material] .forminator-button {
    min-width: 0;
}

/* Formulaire */
.forminator-guttenberg *:not(.primary-cta) {
    color: var(--first-color);
}

form#forminator-module-1026 * ::after {
    border-color: var(--first-color);
}

.form__first-name input,
.form__last-name input,
.form__mail input,
.form__phone input,
.form__profession input,
.form__postal input,
.form__city input,
.form__desc textarea,
.form__object input,
.form__society input {
    border: solid 1px #c2c2c2;
}

.forminator-guttenberg button.forminator-button.forminator-button-submit.primary-cta {
    position: relative;
    font-family: var(--font-medium);
    font-size: var(--font-btn);
    padding: 14px 28px;
    color: var(--second-color);
    background-color: var(--fifth-color);
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: var(--gap-s);
    transition: background-color 0.3s ease;
}

.forminator-guttenberg button.forminator-button.forminator-button-submit.primary-cta * {
	color: var(--second-color);
	font-family: var(--font-bold);
}

/* Radio part */

.choice-buttons .forminator-field {
	display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.choice-buttons .forminator-field>span {
	grid-column: 3 span;
}


#main-content div.choice-buttons .forminator-field .forminator-label,
#main-content .forminator-row .forminator-field h2.forminator-title,
#body .forminator-row .forminator-field-group .forminator-label.forminator-repeater-label {
	padding-left: 22px;
    text-transform: uppercase;
    font-family: var(--font-regular);
    font-size: var(--font-h4);
    letter-spacing: 2px;
    color: var(--first-color);
    border-left: solid 1px var(--first-color);
    display: inline-flex;
    line-height: 110%;
	margin-bottom: var(--gap-m);
	font-weight: 700;
}

#main-content div.choice-buttons .forminator-field .forminator-description {
	font-family: var(--font-regular);
	font-size: var(--font-text);
    line-height: 26px;
    color: var(--text-color);
    margin-bottom: var(--gap-m);
}

#main-content .choice-buttons .forminator-field>label {
	border: solid 1px #e6e6e6;
	padding-top: 0;
	flex-direction: column-reverse;
	align-items: flex-start;
	padding: var(--gap-xl) var(--gap-l);
    gap: var(--gap-m);
    justify-content: space-between;
	margin: 0;
	transition: background-color 0.3s ease;
	pointer-events: auto;
}

#main-content .choice-buttons .forminator-field>label:hover {
    background-color: var(--first-color);
}

#main-content div.choice-buttons .forminator-field>label:hover * {
    color: var(--second-color);
}

#main-content .choice-buttons .forminator-field>label .forminator-radio-label {
	border-left: solid 1px var(--first-color);
    padding-left: 15px;
	margin-left: 0;
    font-family: var(--font-medium);
    font-size: var(--font-h5);
    color: var(--fourth-color);
    letter-spacing: 1px;
    display: inline-flex;
    text-transform: uppercase;
}

#main-content .choice-buttons .forminator-field>label:hover .forminator-radio-label {
    border-left: solid 1px var(--second-color);
}

#main-content .choice-buttons .forminator-field .forminator-radio-image {
	aspect-ratio: 16 / 12;
	overflow: hidden;
	width: 100%;
	display: flex;
	position: static;
	border: 0;
	box-shadow: initial;
}

#main-content .choice-buttons .forminator-field .forminator-radio-image span {
    display: flex;
    width: 100%;
    height: 100%;
}

#main-content .choice-buttons .forminator-radio-bullet {
	display: none;
}

/* Selects forminator */

#body .forminator-pagination .forminator-row .forminator-field-group .forminator-repeater-field {
	margin-top: 10px;
	padding: 0;
	box-shadow: initial;
}

#body .select2-container .forminator-select-dropdown {
	background-color: #FCF9F9;
	padding: var(--gap-m);
}

#body .select2-container.forminator-select .forminator-select-dropdown  .select2-results__option {
	position: relative;
    color: var(--text-color);
    font-size: 14px;
    transition: color 0.3s ease;
    width: 100%;
    padding: 11px 15px;
    transition: background-color 0.3s ease;
    display: inline-flex;
	line-height: 110%;
}

#body .select2-container.forminator-select .forminator-select-dropdown  .select2-results__option:hover {
	background-color: var(--first-color);
	color: var(--second-color);
}

/* CSS Error 404  */
.error-banner,
.error-banner .container,
.error-banner .title-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--gap-xl);
}

.error-banner .container,
.error-banner .title-content {
    gap: var(--gap-l);
}

.error-banner .absol {
    font-size: var(--font-h1);
    font-family: var(--font-bold);
    color: var(--first-color);
    line-height: initial;
}

.error-banner .form-error.full_bloc {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--gap-m);
}

@keyframes appear {
	from {
		opacity: 0;
		transform: translateY(15px)
	}
}

/* Responsive  */

@media (min-width:1370px) {

    .site-header .top-menu .menu {
        gap: var(--gap-s);
    }

    .principal-nav .menu>li:last-child>a:hover {
        background-color: var(--fifth-color);
    }

    .principal-nav .menu>li:not(:last-child):hover>a {
        color: var(--fifth-color);
    }

    .principal-nav .menu-item-has-children:hover>.sub-menu {
        opacity: 1;
        visibility: visible;
        top: 100%;
        transform: translateY(0);
    }

    .principal-nav .menu-item-has-children .sub-menu {
        opacity: 0;
        visibility: hidden;
        position: absolute;
        background-color: var(--second-color);
        top: 100%;
        transform: translateY(-20px);
        transition: opacity 0.3s ease,
            visibility 0.3s ease,
            transform 0.3s ease,
            top 0.3s ease;
        width: 150%;
        min-width: 270px;
    }

    .principal-nav .sub-menu li:hover>a {
        background-color: var(--first-color);
        color: var(--second-color);
    }
}

@media (max-width:1370px) {
    /* General */

    .site-header {
        flex-direction: column-reverse;
        display: flex;
    }

    .site-header li {
        width: 100%;
    }

    .site-header.active .main-navigation {
        display: flex;
        width: 100%;
        background-color: var(--seventh-color);
    }

    .site-header .burger {
        width: 35px;
		cursor: pointer;
    }

    .site-header .burger:before,
    .site-header .burger:after,
    .site-header .burger div {
        background: var(--first-color);
        content: "";
        display: block;
        height: 3px;
        margin: 7px 0;
        transition: 0.5s;
    }

    .site-header.active .burger:before {
        transform: translateY(12px) rotate(135deg);
    }

    .site-header.active .burger:after {
        transform: translateY(-12px) rotate(-135deg);
    }

    .site-header.active .burger div {
        transform: scale(0);
    }

    .site-header .logo_link img {
        width: 150px;
        object-fit: contain;
    }

    /* Menu Haut */
    .site-header .top-menu {
        display: none;
    }

    .site-header.active .top-menu {
        display: flex;
        max-width: none;
        width: 100%;
        justify-content: center;
        padding-top: var(--gap-s);
    }

    .site-header .top-menu nav {
        width: 100%;
        padding: 0 20px 20px;
    }

    /* Menu Principal*/
    .principal-nav .site-header__container {
        flex-direction: column-reverse;
        padding: 0;
    }

    .principal-nav .menu>li:not(:last-child) {
        border-bottom: solid 1px #8c8d9673;
        position: relative;
    }

    .principal-nav .menu>li:last-child>a {
        background-color: transparent;
        color: var(--font-color);
    }

    .site-header .principal-nav {
        flex-direction: column-reverse;
        padding: 0;
    }

    .site-header .main-navigation {
        display: none;
    }

    .site-header .menu {
        flex-direction: column;
        width: 100%;
        align-items: flex-start;
    }

    .principal-nav .sub-menu li>a {
        color: var(--text-color);
    }

    .footer .menu>li>a,
    footer .title-footer {
        max-width: calc(100% - 20px - var(--font-h5));
    }

    .principal-nav .sub-menu {
        position: static;
        display: none;
		flex-direction: column;
		padding-top: 0;
    }

    .principal-nav .menu-item-has-children.active .sub-menu {
        display: flex;
    }

    .menu .menu-item-has-children::before {
        content: "+";
        font-family: var(--font-medium);
        font-size: var(--font-h5);
        color: var(--fifth-color);
        margin-right: 30px;
        position: absolute;
        right: 0;
        top: 0;
    }

    .principal-nav .menu .menu-item-has-children::before {
        margin-top: calc((var(--font-text) / 2) + (15px / 2));
    }

    .menu .menu-item-has-children.active::before {
        content: "-";
    }

    .site-header__content {
        display: flex;
        width: 100%;
        justify-content: space-between;
		align-items: center;
        padding: 15px 30px;
    }
}

@media (min-width: 1000px) {
	#main-content .choice-buttons .forminator-field>label:nth-of-type(3n + 1) {
		border-right: none;
	}

	#main-content .choice-buttons .forminator-field>label:nth-of-type(3n) {
		border-left: none;
	}
	
	#main-content .choice-buttons .forminator-field>label:nth-of-type(n + 4) {
		border-top: none
	}
}

@media (max-width: 1000px) {
	.choice-buttons .forminator-field {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	
	.choice-buttons .forminator-field>span {
    	grid-column: 2 span;
	}
	
    .footer__container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 768px) and (max-width: 1000px) {
	#main-content .choice-buttons .forminator-field>label:nth-of-type(2n + 2) {
		border-left: none;
	}
	
	#main-content .choice-buttons .forminator-field>label:nth-of-type(2n + 4) {
        border-top: none;
    }

	#main-content .choice-buttons .forminator-field>label:nth-of-type(2n + 3) {
		border-top: none;
	}
}

@media (max-width: 768px) {
	
	.choice-buttons .forminator-field {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}

	.choice-buttons .forminator-field>span {
    	grid-column: 1 span;
	}
	
    /* Responsive header */
    .site-header .logo_link img {
        width: 100px;
    }

    /* Responsive footer */

    #colophon {
        padding: 30px 0 0;
    }

    .footer__wrapper {
        align-items: flex-start;
    }

    .footer__container {
        justify-content: flex-start;
        flex-direction: column;
        gap: var(--gap-m);
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }

    .footer .menu .menu-item-has-children::before {
        display: flex;
    }
    
    .footer .menu .menu-item-has-children::before {
        margin-right: 0;
        padding: 0 10px;
    }

    .footer .menu-item-has-children.active .sub-menu {
        display: flex;
        flex-direction: column;
    }

    .footer .sub-menu {
        position: static;
        display: none;
    }

    .footer .menu {
        flex-direction: column;
        gap: var(--gap-s);
    }

    .footer .menu-footer {
        width: 100%;
    }

	.footer__logo-container {
		flex-direction: initial;
		flex-wrap: wrap;
		gap: var(--gap-m);
	}
    
	.footer img {
        width: 100%;
		max-width: 150px;
    }

    .footer p {
        font-size: 15px;
    }
}