/*
Theme Name: Digital Green
Theme URI: https://digital.green
Author: Digital Green
Author URI: https://digital.green
 */

*,
::before,
::after {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
	-webkit-tap-highlight-color: transparent; /* 3*/
	font-size: .9em;
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
	font-family: 'Montserrat', sans-serif;
	background-color: #333333;
	color: #FFF;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
	display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

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

/* Lists (definition) */
/* ============================================ */

dt {
	font-weight: bold;
}

dd {
	margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
}

address {
	font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
	background-color: transparent;
	text-decoration: none;
	color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Replaced content */
/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
	vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none; /* 1 */
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	border-radius: 0;
	text-align: inherit;
	text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
	cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
	cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
	outline: auto;
}

select:disabled {
	opacity: inherit;
}

/**
 * Remove padding
 */

option {
	padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
	margin: 0;
	padding: 0;
	min-width: 0;
}

legend {
	padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
	overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * Correct the outline style in Safari.
 */

[type="search"] {
	outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type="number"] {
	-moz-appearance: textfield;
}

/**
 * Clickable labels
 */

label[for] {
	cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
	outline: auto;
}

/* Tables */
/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
	border-color: inherit; /* 1 */
	border-collapse: collapse;
}

caption {
	text-align: left;
}

td,
th {
	vertical-align: top;
	padding: 0;
}

th {
	text-align: left;
	font-weight: bold;
}

h1{
	font-size: 79px;
}

h2{
	font-size: 58px;
}

h3{
	font-size: 2rem;
}

/*
VAR
 */

:root {
	--primary-1: #B1D600;
	--primary-2: #333333;
	--medium: 500;
	--bold: 700;
	--light: 300;
}

p a {
	text-decoration: underline;
}

.p-all{
	padding: 0 5%;
}

.m-top{
	margin-top: 5rem;
}

.oss-b4.m-bottom{
	margin-bottom: 10rem;
}

.ocsr-b3.m-bottom{
	margin-bottom: 10rem;
}

.btn{
	padding: 1rem 1.5rem;
	border: 1px #000 solid;
	text-transform: uppercase;
	box-sizing: border-box;
	display: inline-block;
	font-size: .9rem;
	text-decoration: none;
}

.btn:hover{
	background-color: #000;
	color: #B1D600;
}

.btn-white{
	color: #FFF;
	border-color: #FFF;
}

.btn-white:hover{
	background-color: #FFF;
	color: #333;
}

/*
HEADER
 */

.site-main-navigation-container{
	background-color: #333;
	color: #FFF;
	/*height: 7rem;*/
	padding-top: 20px;
	box-sizing: border-box;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 10;
}

.site-main-navigation-content{
	text-transform: uppercase;
	background-color: #000;
	padding-left: calc(7.5% + 120px);
	padding-right: 5%;
	height: 70px;
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.site-main-navigation-content a:hover{
	text-decoration: underline;
}

.header-booking{
	position: absolute;
	right: 0;
	top: 90px;
	display: inline-flex;
	background-color: var(--primary-1);
	align-items: center;
	padding: 1rem 2.5vw;
	justify-self: flex-end;
	color: #000;
	border: 1px solid #000;
	border-top: none;
	box-sizing: border-box;
}

.header-booking:hover{
	background-color: #000;
	color: #B1D600;
}

.header-booking:hover > span{
	border-left: 1px solid #B1D600;
}

.header-booking span{
	margin-left: 2.5vw;
	padding-left: 2.5vw;
	border-left: 1px solid #000;
	font-weight: bold;
}

.header-bookin a{
	text-decoration: none;
}

.primary-menu{
	display: flex;
	position: relative;
	height: 70px;
	align-items: center;
}

.header-image{
	left: 5%;
	top: 10px;
	position: absolute;
}

.header-image a img{
	width: 120px;
	height: 120px;
	display: block;
}

.menu-item{
	margin-right: 1.5rem;
	cursor: pointer;
}

.primary-menu .sub-menu{
	border: 1px solid #000;
	border-top: none;
	box-sizing: border-box;
}

.primary-menu .sub-menu li.menu-item{
	background-color: var(--primary-1);
	color: #000;
	padding: 1rem 1.5rem;
	box-sizing: border-box;
	margin-right: 0;
	margin-left: 0;
	border-bottom: 1px solid #000;
}

.primary-menu .sub-menu li.menu-item:last-child{
	border-bottom: none;
}

.primary-menu .sub-menu{
	position: absolute;
	top: 4.4rem;
	display: none;
	z-index: 10;
}

.first-level-menu{
	cursor: pointer;
}

.site-header-lang{
	display: flex;
	align-items: center;
}

.site-header-lang a{
	display: block;
}

.site-header-lang a:hover{
	text-decoration: underline;
}

.site-header-lang li:first-child{
	padding-right: 1rem;
	margin-right: 1rem;
	box-sizing: border-box;
	border-right: 1px solid #FFF;
}

.site-header-lang li.current-lang{
	font-weight: bold;
}

.site-responsive-navigation-container{
	background-color: #333;
	color: #FFF;
	padding-top: 20px;
	box-sizing: border-box;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 10;
	display: none;
}

.site-responsive-navigation-content{
	text-transform: uppercase;
	background-color: #000;
	padding-left: 5%;
	padding-right: 5%;
	height: 70px;
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.site-responsive-navigation-content .header-image{
	left: 0;
	top: -15px;
	position: relative;
	z-index: 10;
}

.site-responsive-navigation-content .header-image a img{
	width: 100px;
	height: 100px;
	display: block;
}

.menu-icon-container{
	position: relative;
}

.menu-toggle{
	height: 100%;
	width:  2.75rem;
	cursor: pointer;
}

.menu-toggle-bar {
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -1px;
	right: 0;
	width: 2.75rem;
	height: 3px;
	background-color: #FFF;
	transition: all 0.2s ease-in-out;
}

.menu-toggle-bar--top {
	transform: translate(0, -11px);
}

.menu-toggle-bar--middle {
}

.menu-toggle-bar--bottom {
	transform: translate(0, 11px);
}

.nav-open .menu-toggle-bar--top {
	transform: translate(0, 0) rotate(45deg);
}

.nav-open .menu-toggle-bar--middle {
	opacity: 0;
}

.nav-open .menu-toggle-bar--bottom {
	transform: translate(0, 0) rotate(-45deg);
}

.responsive-navigation{
	position: fixed;
	top: 90px;
	left: 0;
	height: calc(100vh - 90px);
	z-index: 9;
	padding: 2.5rem 5% 0;
	background-color: #333;
	width: 100%;
	display: none;
}

.responsive-menu li{
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #FFF;
	text-transform: uppercase;
	font-size: 1.25rem;
}

.responsive-menu li:last-child{
	border-bottom: none;
}

.responsive-menu .sub-menu{
	display: none;
	margin-top: 1.5rem;
}

.responsive-menu .sub-menu li{
	border-bottom: none;
	margin-left: 1rem;
	padding-top: 0;
	padding-bottom: 0;
	font-size: 1rem;
	margin-bottom: 1rem;
}

.responsive-menu .sub-menu li:last-child{
	margin-bottom: 0;
}


/*
FOOTER
 */

.site-footer{
	display: flex;
	background-color: #000;
	color: #FFF;
	font-size: .9rem;
	padding: 1.5rem 5%;
	justify-content: space-between;
	flex-wrap: wrap;
}

.site-footer a:hover{
	text-decoration: underline;
}

.footer-navigation-container{
	display: flex;
	flex-wrap: wrap;
}

.footer-container{
	border-left: 1px #FFF solid;
	padding-left: 1.5rem;
	margin-right: 1.5rem;
}

.footer-ecodesign-container{
	text-align: right;
}

.footer-container li{
	margin-bottom: .5rem;
}

.footer-container-bold{
	font-weight: bold;
}

.footer-container-underline{
	text-decoration: underline;
}

/*
CONTENT
 */

.site-content{
	min-height: 100vh;
	padding-top: 90px;
	box-sizing: border-box;
}

/**************************************/

.pages{
	padding-top: 5rem;
	padding-bottom: 5rem;
	box-sizing: border-box;
}

.center-bloc{
	position: relative;
	height: 100vh;
	width: 100vw;
}

.center-bloc .p-all{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.center-bloc .p-all a{
	font-weight: bold;
	text-decoration: underline;
}

/**************************************/

.header-page::before{
	content: "";
	background-size: cover;
	background-position: top center;
	position: absolute;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	opacity: 0.75;
	z-index: -1;
}

.header-page{
	height: calc(100vh - 90px);
	display: grid;
	position: relative;
	z-index: 1;
}

.job-offer .header-page{
	height: calc(60vh - 90px);
}

.header-content{
	display: flex;
	justify-content: space-between;
	color: #FFF;
	position: absolute;
	width: 100%;
	bottom: 7.5rem;
	flex-wrap: wrap;
}

.header-title-description h1{
	font-weight: var(--medium);
	line-height: 100%;
	margin-bottom: 1.5rem;
}

.header-title-description p{
	font-weight: var(--bold);
	font-size: 29px;
}

.header-title-description{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 65%;
	flex-wrap: wrap;
}

.header-dg-auhtor-container{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
	text-align: right;
	width: 30%;
	flex-wrap: wrap;
}

.header-dg-auth{
	font-weight: var(--medium);
	margin-bottom: 5rem;
	width: 75%;
	border-right: 1px solid #FFF;
	padding-right: 1.5rem;
}

.header-dg-author{
	font-weight: var(--bold);
}

.header-green-filter{
	height: 2.5rem;
	background-color: var(--primary-1);
	width: 100%;
	align-self: flex-end;
	display: flex;
	z-index: -2;
}

/*******************************/

.p-b1{
	display: flex;
	justify-content: space-between;
	padding: 5rem 5%;
	background-color: var(--primary-1);
	margin-bottom: 5rem;
	color: #000;
	flex-wrap: wrap;
}

.p-b1-right{
	font-size: 29px;
	width: 59%;
}

.p-b1-right p {
	margin-bottom: 40px;
}

.p-b1-right p:last-child {
	margin-bottom: 0;
}


.p-b1-left h2{
	font-weight: var(--medium);
	width: calc(100% - 10rem);
}

.p-b1-left p {
	font-size: 2rem;
}

.p-b1-left .btn{
	margin-top: 2.25rem;
}

.p-b1-left{
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	width: 40%;
}

.p-b1-left span{
	background-color: #000;
	width: 7.5rem;
	height: 1.5rem;
	margin-right: 2.5rem;
	margin-bottom: .75rem;
}


/**********************************************/
.job-offer-content{
	display: flex;
	justify-content: space-between;
	margin-bottom: 84px;
}

.job-offer-aside{
	width: 20%;
}

.job-offer-main{
	width: 75%;
}

.job-offer-aside__single{
	display: flex;
	align-items: flex-start;
	margin-bottom: 24px;
}

.job-offer-aside__single img{
	margin-right: 16px;
	width: 32px;
	height: auto;
}

.job-offer-aside__single-content{
	font-size: 16px;
}

.job-offer-aside__single-content h4{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 8px;
}

.job-offer-main__single{
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 1px #FFF solid
}

.job-offer-main__single-title{
	display: flex;
	font-weight: bold;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
	cursor: pointer;
}

.job-offer-main__single-title h3{
	font-size: 32px;
}

.job-offer-main__single-title p{
	font-size: 24px;
	transform: rotate(90deg);
}

.job-offer-main__single-content{
	display: none;
	font-size: 24px;
}

.job-offer-main__single-content p{
	font-size: 18px;
}

.job-offer-main__single-content li{
	font-size: 18px;
	margin-bottom: 8px;
}

.job-offer-main__single-content ul{
	list-style: disc;
    list-style-position: outside;
  list-style-position: inside;
}

.job-offer-main__single-title p {
	transition: transform 0.3s ease;
}

.job-offer-main__single-title p.rotated {
	transform: rotate(0deg);
}

.job-offer-aside__apply{
	margin-top: 32px;
	background-color: var(--primary-1);
	padding: 14px 0;
	text-align: center;
	color: #000;
	font-size: 18px;
	text-transform: uppercase;
}

.job-offer-aside__apply:hover{
	color: var(--primary-1);
	background-color: #000;
}

.job-offer-contact{
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: var(--primary-1);
	padding: 64px;
	margin-bottom: 80px;
}

.job-offer-contact p{
	font-size: 32px;
	font-weight: bold;
	color: #000;
}

.job-offer-contact a{
	font-size: 18px;
	padding: 14px 32px;
	text-transform: uppercase;
	color: #000;
	border: 1px #000 solid
}

.job-offer-contact a:hover{
	color: var(--primary-1);
	background-color: #000;
}

.job-offer-cf7{
	margin-top: 64px;
	margin-bottom: 96px;
}

.job-offer-cf7 p{
	margin-bottom: 12px;
}

.job-offer-cf7 h2{
	margin-bottom: 24px;
}

.cf7-two-column{
	display: flex;
	justify-content: space-between;
	font-size: 18px;
	margin-bottom: 5rem;
}

.cf7-two-column label{
	display: block;
}

.cf7-two-column p{
	width: 48%;
}

.cf7-two-column input{
	border-bottom: 1px #FFF solid;
	padding-bottom: 8px;
	width: 100%;
}

.cf7-one-column textarea{
	border: 1px #FFF solid;
	padding-bottom: 8px;
	width: 100%;
}

.cf7-one-column label{
	display: block;
	font-size: 18px;
	margin-bottom: 32px;
}

.cf7-one-column-resume{
	margin-top: 5rem;
	margin-bottom: 32px;
}

.cf7-one-column-resume p{
	font-size: 18px;
	margin-bottom: 1.5rem;
}

.cf7-one-column-resume p span{
	font-size: 16px;
}

.cf7-one-column-consent input[type="checkbox"]{
	width: 24px;
	height: 24px;
	border: 1px #FFF solid;
	border-radius: 25px;
}

.cf7-one-column-consent input[type="checkbox"]:checked{
	background-color: var(--primary-1);
}

.cf7-one-column-policy{
	font-size: 0.9rem;
	margin-bottom: 32px;
}

.cf7-one-column-policy p:first-of-type{
	margin-bottom: 24px;
}

.cf7-one-column-submit{
	margin-bottom: 80px;
	display: flex;
	justify-content: flex-end;
}

.cf7-one-column-submit p{
	display: inline-block;
	padding: 14px 48px;
	font-size: 18px;
	background-color: var(--primary-1);
	color: #000;

}

.job-apply-confirmation{
	margin-top: 64px;
	margin-bottom: 64px;
}

.job-apply-confirmation p{
	font-size: 24px;
	margin-bottom: 16px;
}

.job-apply-confirmation p:last-of-type{
	margin-bottom: 64px;
}

.job-apply-confirmation a{
	font-size: 24px;
	padding: 14px 32px;
	border: 1px #FFF solid;
	text-transform: uppercase;
}

.job-apply-confirmation-button{
	display: flex;
	justify-content: center;
}

.job-apply-confirmation-back{
	font-size: 16px;
	margin-top: 64px;
}

.cf7-one-column-submit-contact input{
	margin-top: 64px;
	display: inline-block;
	padding: 14px 48px;
	font-size: 18px;
	background-color: var(--primary-1);
	color: #000;
	margin-bottom: 80px;
}

.cf7-one-column-submit-contact input:hover{
	background-color: #000;
	color: var(--primary-1);
}

#contactsubmit{
	margin-bottom: 64px;
}

.p-b-title {
	margin-bottom: 2.5rem;
	color: #FFF;
	font-size: 75px;
	font-weight: 400;
	display: flex;
	flex-wrap: wrap;
}

.p-b-title span {
	display: flex;
	flex-wrap: wrap;
	align-self: end;
	width: 7.5rem;
	height: 1.5rem;
	background-color: var(--primary-1);
	margin-right: 2.5rem;
	margin-bottom: .75rem;
}

.hp-filters-title{
	margin-bottom: 5rem;
}

.hp-filters-title p{
	font-size: 18px;
}

.hp-filterrs-results-header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}

.hp-filterrs-results-header-title{
	display: flex;
	align-items: center;
}

.hp-filterrs-results-header-title h3{
	font-size: 32px;
	font-weight: bold;
	margin-right: 16px;
}

.hp-filterrs-results-header-title span{
	font-size: 16px;
	font-weight: bold;
	border: 1px #FFF solid;
	padding: 4px 6px;
}

.hp-filterrs-results-header a{
	text-transform: uppercase;
	font-size: 18px;
	color: #000;
	background-color: var(--primary-1);
	padding: 14px 48px;
}

.hp-filterrs-results-header a:hover{
	background-color: #000;
	color: var(--primary-1);
}

.hp-filterrs-results-description{
	margin-bottom: 32px;
	font-size: 24px;
	font-weight: normal;
	width: 50%;
}

.hp-filterrs-results-icons {
	display: flex;
}

.hp-filterrs-results-icons-single {
	display: flex;
	align-items: center;
	margin-right: 32px;
}

.hp-filterrs-results-icons-single img{
	margin-right: 8px;
}

.hp-filterrs-results{
	padding-bottom: 32px;
	margin-bottom: 64px;
	border-bottom: 1px #FFF solid;
}

.filter-container form{
	display: flex;
	gap: 20px;
}


.filter-container button{
	text-transform: uppercase;
	padding: 24px 64px;
	background-color: var(--primary-1);
	color: #000;
	font-size: 18px;
}

.filter-container button:hover{
	color: var(--primary-1);
	background-color: #000;
}

.filter label {
	font-size: 18px;
}

.filter {
	width: 30%;
	position: relative;
}

.filter-header {
	display: flex;
	flex-direction: column;
	padding: 12px;
	border: 1px solid #FFF;
}

.input-checkbox-filter-hp,
.input-radio-filter-hp{
	border: 1px #FFF solid;
	position: absolute;
	background-color: var(--primary-2);
	top: 73px;
	width: max-content;
	padding: 16px 16px 16px 16px;
	z-index: 10;
}

.input-container label {
	font-size: 16px;
	margin-left: 8px;
}

.filter-hp-sortby{
	display: flex;
	justify-content: flex-end;
}

#sortbyarrow{
	transition: 0.3s;
}

.sortbyform{
	border: 1px #FFF solid;
	padding: 8px;
}

.filter-hp-sortby form{
	width: fit-content;
}

.input-container {
	display: flex;
	align-items: center;
	margin-bottom: 16px;
}

.input-group:not(:last-child){
	margin-right: 40px;
}

.input-groups{
	display: flex;
}

.input-clear{
	display: flex;
	justify-content: flex-end;
	margin-bottom: 16px;
}

.input-clear p{
	width: fit-content;
	padding: 4px 8px;
	font-size: 16px;
	border: 1px #FFF solid;
}

.input-clear p:hover{
	background-color: #ffffff;
	color: #000;
	cursor: pointer;
}

.input-container {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 8px;
}

.input-container input[type="checkbox"],
.input-container input[type="radio"] {
	width: 24px;
	height: 24px;
	border: 1px solid #FFF;
	background-color: transparent;
	position: relative;
	cursor: pointer;
	appearance: none;
}

.input-container input[type="checkbox"]:checked::before,
.input-container input[type="radio"]:checked::before {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 16px;
	height: 16px;
	background-color: white;
	border-radius: 50%;
}

.input-container label {
	margin-left: 8px;
	color: #FFF;
}


#department-options{
	right: 0;
}

.filter-header-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}

.filter-header-top p{
	font-size: 20px;
	transform: rotate(90deg);
}



.filter-container{
	margin-bottom: 5rem;
}

.sortbyform{
	display: flex;
	flex-direction: column;
}

.sortbyform{
	display: flex;
	align-items: flex-end;
}

.sortbyfilter-header{
	display: flex;
	align-items: center;
}

.sortbyfilter-header label{
	margin-right: 16px;
	font-size: 18px;
}

.sortbyfilter-header p{
	font-size: 24px;
	transform: rotate(90deg);
}

.sortbyform select{
	outline: none;
	font-size: 16px;
	background-color: var(--primary-2);
}

.filter-hp-sortby{
	margin-bottom: 5rem;
	margin-top: 32px;
}

.rotated {
	transform: rotate(270deg)!important;
	transition: transform 0.3s;
}

.filter-header p {
	transition: transform 0.3s;
}

.filter-header-top-flexbox {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.hub-pagination{
	text-align: center;
	font-size: 24px;
}

.hub-pagination span{
	font-weight: bold;
}

.hub-pagination a, .hub-pagination span{
	text-align: center;
	margin-right: 24px;
	font-size: 18px;
}

.hp-filters{
	margin-bottom: 82px;
}

.job-offer .job-apply-confirmation-back{
	margin-bottom: 64px;
}

.jobaaplication-hd .header-content {
	bottom: 0;
}

.jobaaplication-hd .header-title-description {
	width: 90%;
}

.wpcf7 input[type="file"]{
	display: none;
}

#fileuploadcf7 label{
	padding: 12px 32px;
	border: 1px #FFF solid;
	font-size: 16px;
	margin-top: 30px;
	margin-bottom: 50px;
	display: inline-block;
	cursor: pointer;
}

.wpcf7-select{
	border: 1px white solid;
	width: 100%;
	padding: 6px 8px;
	background-color: #333333;
}

#fileuploadcf7 label:hover{
	background-color: #FFF;
	color: var(--primary-2);
}

.file-uploaded {
	border-color: var(--primary-1) !important;
}

.responsive-820{
	display: none;
}
/**********************************************/

@-ms-viewport {
	width: device-width;
}

@viewport {
	width: device-width;
}

@media screen and (max-width: 1270px) {
}

/**
 * 14.1 - <= 480px
 */

@media screen and (max-width: 480px) {
	body{
		font-size: .8rem;
	}

}

/**
 * 14.2 - <= 783px
 */

@media screen and (max-width: 820px){
	.site-footer{
		padding-bottom: 10rem;
	}

	.header-booking{
		display: none;
	}

	.m-top{
		margin-top: 2.5rem;
	}

	h1{
		font-size: 5rem;
		word-break: break-word;
	}

	.site-header-lang{
		font-size: 1.25rem;
	}

	.footer-container, .footer-ecodesign-container, .footer-navigation-container{
		width: 100%;
		text-align: center;
		padding-left: 0;
	}

	.footer-container{
		border-left: none;
		border-bottom: 1px solid #FFF;
		padding-bottom: 1rem;
		margin-top: 1rem;
		margin-right: 0;
	}

	.footer-container li{
		margin-bottom: 0;
		line-height: 200%;
	}

	.footer-ecodesign-container{
		margin-top: 1rem;
	}

	.header-title-description, .header-dg-auhtor-container,
	.h-b1-left, .h-b1-right,
	.h-b2-left, .h-b2-right,
	.p-b1-left, .p-b1-right,
	.p-b-column-transparent-left, .p-b-column-transparent-right,
	.oss-b3-left, .oss-b3-right,
	.h-b3-animation-container,
	.p-b-column-content-text, .p-b-column-content-image,
	.oscr-b3-left, .oscr-b3-right{
		width: 100%
	}

	.header-page::before{
		background-position: bottom center;
	}

	.header-title-description{
		margin-bottom: 5rem;
		padding-right: .5rem;
	}

	.header-page-bis .header-content{
		flex-direction: column;
		position: absolute;
		bottom: 4rem;
		margin-top: auto;
		height: auto;
	}

	.header-content{
		bottom: auto;
		flex-direction: column;
		position: static;
		margin-top: 2.5rem;
	}

	.header-dg-auth{
		margin-bottom: 1.5rem;
		padding-right: 1rem;
	}

	.h-b1{
		padding: 2.5rem 5%;
	}

	.h-b1-left{
		margin-top: 0;
	}

	h2{
		font-size: 2.25rem;
	}

	.p-b1-left, .oss-b3-date, .p-b-header, .oh-b2-content-image,
	.single .p-b-description, .single .och-b2-content{
		margin-bottom: 2.5rem;
	}


	.p-b1{
		padding: 2.5rem 5% 5rem;
	}

	.p-b1-left span, .p-b-title span{
		width: 3.5rem;
		height: 1rem;
		margin-right: 1.5rem;
	}

	.p-b1-left h2, .p-b-title h2{
		width: calc(100% - 5rem);
		word-break: break-word;
		-webkit-hyphens: manual;
		-ms-hyphens: manual;
		hyphens: manual;
	}

	.filter-container form{
		flex-direction: column;
	}

	.filter {
		width: 100%;
	}

	.desktop-820{
		display: none;
	}

	.responsive-820{
		display: flex;
	}

	.hp-filter-responsive-button-permalink a{
		text-transform: uppercase;
		font-size: 18px;
		color: #000;
		background-color: var(--primary-1);
		padding: 14px 48px;
		width: 100%;
		display: flex;
		justify-content: center;
	}

	.hp-filter-responsive-button-permalink{
		padding-bottom: 48px;
	}

	.hp-filterrs-results-icons {
		display: flex;
		flex-direction: column;
		gap: 34px;
	}

	.hp-filterrs-results-description{
		width: 100%;
	}

	.job-offer-content{
		flex-direction: column;
		gap: 98px;
	}

	.job-offer-aside{
		width: 100%;
	}

	.job-offer-main{
		width: 100%;
	}

	.job-offer-contact{
		flex-direction: column;
		gap: 64px;
	}

	.cf7-two-column{
		flex-direction: column;
		gap: 32px;
	}

	.cf7-two-column p{
		width: 100%;
	}

	.cf7-one-column-submit p {
		width: 100%;
		display: flex;
		justify-content: center;
	}
}

/**
 * 14.3 - <= 960px
 */

@media screen and (max-width: 960px) {
}

/**
 * 14.5 - <= 1200px
 */

@media screen and (max-width: 1024px) {
	.site-main-navigation-container, .site-main-navigation-container .header-image{
		display: none;
	}

	.site-responsive-navigation-container{
		display: block;
	}

	/***********/

	.header-booking-bis{
		width: 100%;
		top: auto;
		bottom: 0;
		left: 0;
		text-align: center;
		height: auto;
		border-top: 1px solid #000;
	}

	.header-booking-bis a{
		border-left: none;
		width: 33.333%;
		display: block;
		padding: 2.5rem 0 5rem;
	}

	.header-booking-bis a:nth-child(2){
		border-left: 1px solid #000;
		border-right: 1px solid #000;
	}
}

/**
 * 14.6 - >= 1600px
 */

@media screen and (min-width: 1600px) {
}