/* USER VARIABLES SECTION */

:root {
	--accent: #A5F3FF;
	--text: #000000;
	--regular-text: 18px;
	--lineheight: 22px;
	--userfont: "boldonse", sans-serif;
	--systemfont: -apple-system, BlinkMacSystemFont, Arial, sans-serif;
	--desktop: 100 / 1920;
	--mobile: 100 / 440;
  --color0: #FFFFFF;
  --color1: #A5F3FF;
  --color2: #FCD5FF;
  --color3: #B7FEA5;
  --color4: #F87756;
  --color5: #FAF279;
  --color6: #50BDF9;
  --color7: #26E991;
  --color8: #F180C0;
  --color9: #F5A057;

}



/* FONTS LOAD SECTION */


@font-face { src: url("../fonts/Boldonse-Regular.woff2") format("woff2"); font-family: "boldonse"; font-weight: 400; font-style: normal; font-display: swap; }


/* Neue Haas Grotesk Display Pro 65 Medium */
.medium-65 {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 600;
  font-style: normal;
}


/* Neue Haas Grotesk Display Pro 55 Roman */
.roman-55 {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  font-style: normal;
}


/* Neue Haas Grotesk Display Pro 75 Bold */
.bold-75 {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-style: normal;
}


/* Avory I Latin Extrabold */
.avory-extra {
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
}


/* Avory I Latin Semibold */
.avory-semibold {
  font-family: "avory-i-latin", sans-serif;
  font-weight: 600;
  font-style: normal;
}


/* Nunito Regular */
.nunito-regular {
  font-family: "nunito", sans-serif;
  font-weight: 400;
  font-style: normal;
}

/* Source Sans Pro Regular */
.ssp {
  font-family: "source-sans-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
}

body.background-color0 {
	background-color: var(--color0);
}

body.background-color1 {
	background-color: var(--color1);
}

body.background-color2 {
	background-color: var(--color2);
}

body.background-color3 {
	background-color: var(--color3);
}

body.background-color4 {
	background-color: var(--color4);
}

body.background-color5 {
	background-color: var(--color5);
}

body.background-color6 {
	background-color: var(--color6);
}

body.background-color7 {
	background-color: var(--color7);
}

body.background-color8 {
	background-color: var(--color8);
}

body.background-color9 {
	background-color: var(--color9);
}

body.background-color0.single-projets .main-header {
	background-color: var(--color0);
}

body.background-color1.single-projets .main-header {
	background-color: var(--color1);
}

body.background-color2.single-projets .main-header {
	background-color: var(--color2);
}

body.background-color3.single-projets .main-header {
	background-color: var(--color3);
}

body.background-color4.single-projets .main-header {
	background-color: var(--color4);
}

body.background-color5.single-projets .main-header {
	background-color: var(--color5);
}

body.background-color6.single-projets .main-header {
	background-color: var(--color6);
}

body.background-color7.single-projets .main-header {
	background-color: var(--color7);
}

body.background-color8.single-projets .main-header {
	background-color: var(--color8);
}

body.background-color9.single-projets .main-header {
	background-color: var(--color9);
}



body.background-color0.page-template-projects-annexes .main-header {
	background-color: var(--color0);
}

body.background-color1.page-template-projects-annexes .main-header {
	background-color: var(--color1);
}

body.background-color2.page-template-projects-annexes .main-header {
	background-color: var(--color2);
}

body.background-color3.page-template-projects-annexes .main-header {
	background-color: var(--color3);
}

body.background-color4.page-template-projects-annexes .main-header {
	background-color: var(--color4);
}

body.background-color5.page-template-projects-annexes .main-header {
	background-color: var(--color5);
}

body.background-color6.page-template-projects-annexes .main-header {
	background-color: var(--color6);
}

body.background-color7.page-template-projects-annexes .main-header {
	background-color: var(--color7);
}

body.background-color8.page-template-projects-annexes .main-header {
	background-color: var(--color8);
}

body.background-color9.page-template-projects-annexes .main-header {
	background-color: var(--color9);
}

/* =========================================
   PAGE BACKGROUND COLOR CYCLE
   ========================================= */

@keyframes page-background-cycle {

  0% {
    background-color: var(--page-first-color);
  }

  100% {
    background-color: var(--page-second-color);
  }

}


body.page-background-cycle {
  animation:
    page-background-cycle
    10s
    ease-in-out
    infinite
    alternate;
}

body.page-background-cycle.single-projets .main-header,
body.page-background-cycle.page-template-projects-annexes .main-header {
  animation:
    page-background-cycle
    10s
    ease-in-out
    infinite
    alternate;
}



/* GENERAL CSS SETTINGS */

::placeholder { color: #C5D1FF; }
::selection { background-color: #E5FFE9; color: #000000; }
input, textarea { outline: none; }

body {
	font-family: var(--userfont);
	font-size: var(--regular-text);
	line-height: normal;
	position: relative;
	box-sizing: border-box;
	margin: 0 auto;
	background: #fff;
	font-weight: 400;
	color: var(--text);
	font-optical-sizing: auto;
  font-style: normal;
}


ul, li {
	list-style: none;
	margin: 0;
	padding: 0;
}
p {
	margin: 0;
	padding: 0;
}

/* USER STYLES */

a {
	transition: .3s ease-in-out;
	text-decoration: none;
	color: var(--text);
}

a:hover {
	color: var(--accent-text);
}

body {
	/* max-width: 1920px; */
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.homepage-main {
  max-width: 1920px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.container {
  max-width: 1550px;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}

.vertical-align-bottom {
  align-items: flex-end;
}

.vertical-align-middle {
  align-items: center;
}

.vertical-align-top {
  align-items: flex-start;
}

.home-header {
  position: relative;
  padding-top: 77px;
}

.home-header .container {
 /* max-width: 1844px; */
 max-width: 1765px;
 padding-left: 15px;
 padding-right: 15px;
 /* max-width: 100%; */
 width: 100%;
 margin-left: auto;
 margin-right: auto;
 /* padding-left: 88px;
 padding-right: 88px; */
}

.projects-main {
  position: relative;
  max-width: 1920px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.header-menu__list {
  display: flex;
  gap: 50px;
  justify-content: flex-end;
  max-width: 100%;

}

.header-menu__list > li {
  position: relative;
}

.header-menu__list > li > a {
  font-size: 14px;
  line-height: 14px;
  color: #000000;
  font-weight: 400;
  transition: .1s ease-in-out;
}

.header-menu__list > li > a:hover {
  text-decoration: underline;
}

.current-menu-item > a {
  text-decoration: underline;
}

.current-menu-ancestor > a {
  text-decoration: underline;
}


.sub-menu {
  opacity: 0;
  visibility: hidden;
  transition: .1s ease-in-out;
  position: absolute;
  left: 0;
  top: 100%;
  width: 222px;
  padding: 18px 16px 20px 19px;
  background: #fff;
  border: 1px solid #E885F0;
  z-index: 3;

}

.sub-menu {
  display: flex;
  flex-direction: column;
  gap: 16px;

}

.sub-menu a {
  font-size: 12px;
  line-height: 22px;
  color: #000;
  font-weight: 400;
}


.menu-item-has-children:hover > a {
  text-decoration: underline;
}

@media (min-width: 830px) {
  .menu-item-has-children:hover .sub-menu {
    opacity: 1;
    visibility: visible;
  }
}

body {
  position: relative;
}

.homepage-image {
  max-width: 773px;
  width: 100%;

  position: absolute;

  left: 20.5px;
  top: -43.1px;

  --mouse-x: 0px;
  --mouse-y: 0px;
  --scroll-y: 0px;

  transform:
    translate3d(
      var(--mouse-x),
      calc(var(--mouse-y) + var(--scroll-y)),
      0
    )
    rotate(17deg);

  transform-origin: center;

  will-change: transform;
  pointer-events: none;
}

.homepage-image img {
  width: 100%;
}

.home-intro {
  padding-top: 222px;
  width: 100%;
  max-width: 666px;
  position: relative;
  margin-left: auto;
  margin-right: 468px;
  padding-bottom: 203px;
}

.home-intro__logo {
  max-width: 100%;
  width: 100%;
  margin-bottom: 23.4px;
}

.home-intro__logo img {
  width: 100%;
}

.home-intro__description {
  font-size: 18px;
  line-height: 34px;
  font-weight: 400;

}


.home-news-section {
  width: 100%;
  position: relative;
}

.home-news-section .container {
  max-width: 1665px;
}

.home-news__wrap {
  max-width: 100%;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
}

.section-title-small {
  font-size: 23px;
  font-weight: 400;
  line-height: 40px;
  margin-bottom: 28.3px;
  text-transform: uppercase;
}

.home-news__list {
  display: flex;
  gap: 30px;
  width: max-content;
  max-width: 100%;
}

.home-news__list-item {
  max-width: 450px;
  width: 100%;
  position: relative;
}

.home-news__list-item a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.home-news__list-item__image {
  width: 100%;
  height: 300px;
  margin-bottom: 10px;
}


.home-news__list-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-news__list-item__title {
  font-size: 18px;
  line-height: 25px;
  font-weight: 400;
  margin-bottom: 10px;
}

.home-news__list-item__date {
  font-size: 12px;
  line-height: 23px;
  font-weight: 400;
}

.home-news__wrap-inner {
  display: flex;
  width: max-content;
  max-width: 100%;
  gap: 24.5px;
}

.home-news__projects {
  max-width: 200px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding-top: 120px;
  position: relative;

}

.home-news__projects a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.home-news__projects-text {
  font-size: 20px;
  line-height: 30px;
  font-weight: 400;
}

.home-news__projects img {
  width: 146px;
  margin-left: auto;
  display: block;
}

main {
  padding-bottom: 100px;
}

.site-footer {
  border-top: 1px solid #000;
  padding-top: 20px;
  padding-bottom: 30px;
}

.site-footer .container {
  display: flex;
  gap: 124px;
  align-items: flex-end;
}

.footer-fresch {
  margin-left: auto;
}

.footer-socials {
  padding-bottom: 8px;
  display: flex;
  gap: 34px;
  width: max-content;
  max-width: 180px;
}


.footer-socials a {
  height: 32.53px;
  width: auto;
}

.footer-socials img {
  height: 100%;
  width: auto;
}

.footer-fresch {
  font-size: 20px;
  line-height: 20px;
  color: #000;
  padding-bottom: 9.5px;
}

.footer-address {
  font-size: 16px;
  line-height: 22px;
  color: #000;
  padding-bottom: 9.5px;
  max-width: 320px;
  width: 100%;
  position: relative;
}

.footer-address a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}


.footer-eco {
  max-width: 172px;
  width: 100%;
  display: flex;
  gap: 23.5px;
  align-items: flex-end;
}

.footer-eco__grengeweb {
  position: relative;
  max-width: 53.82px;
  width: 100%;
}

.footer-eco__grengeweb a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.footer-eco__grengeweb img {
  width: 100%;
  height: auto;
}

.footer-eco__moloko {
  max-width: 94px;
  width: 100%;
  font-size: 12px;
  line-height: 14px;
  padding-bottom: 4px;
}


.main-header {
  position: relative;
  padding-top: 53px;
  padding-bottom: 37.1px;
}

.main-header .container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}


.main-header .header-menu {
  padding-top: 22.5px;
}

.header-menu {
  max-width: 800px;
  width: 100%;
}

.header-logo {
  display: block;
  max-width: 212.39px;
  width: 100%;

}

.header-logo img {
  width: 100%;
}

.apropos-main {
  padding-top: 112.9px;
  padding-bottom: 250px;
}

.apropos-intro {
  width: 100%;
  padding-bottom: 376px;
}

.apropos-intro__flex {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.apropos-intro__description {
  max-width: 760px;
  width: 100%;
}

.page-title {
  font-size: 60px;
  line-height: 85px;
  margin-bottom: 35px;
  font-weight: 400;
  color: #000;
  text-transform: uppercase;
}

.apropos-intro {
  overflow: hidden;
}

.apropos-intro__image {
  position: absolute;
  max-width: 847px;
  width: 100%;

  top: -95px;
  right: -87px;

  --apropos-mouse-x: 0px;
  --apropos-mouse-y: 0px;
  --apropos-scroll-y: 0px;

  transform:
    translate3d(
      var(--apropos-mouse-x),
      calc(
        var(--apropos-mouse-y) +
        var(--apropos-scroll-y)
      ),
      0
    );

  transform-origin: center;
  will-change: transform;

  pointer-events: none;
}

.apropos-intro__image img {
  width: 100%;
}

.page-subtitle {
  font-size: 23px;
  line-height: 45px;
  margin-bottom: 10px;
}

.basic-content {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.basic-content p {
  font-size: 18px;
  line-height: 23px;
  margin-bottom: 25px;
}

.basic-content > * {
  margin-bottom: 25px;
}

.basic-content > *:last-child {
  margin-bottom: 0;
}

.apropos-intro__description .basic-content {
  max-width: 700px;
  width: 100%;
}

.apropos-content-section {
  width: 100%;
}

.basic-row {
  display: grid;
}

.two-columns {
  grid-template-columns: repeat(2, 1fr);
  gap: 120px;
}

.basic-content ul {
  padding-left: 20px;
  list-style: disc;
}

.basic-content ol {
  list-style: decimal;
}

.basic-content ol li {
  list-style: decimal;
  font-size: 18px;
  line-height: 23px;
  margin-bottom: 10px;
}

.basic-content ul li {
  list-style: disc;
  font-size: 18px;
  line-height: 23px;
  margin-bottom: 10px;
}


.basic-content img {
  max-width: 100%;
}


.basic-arrow__box {
  padding-top: 20px;
  display: flex;
  max-width: 643px;
  justify-content: space-between;
  align-items: center;
}

.basic-arrow__box h3 {
  font-size: 20px;
  line-height: 35px;
  font-weight: 400;
  color: #000;
  max-width: 390px;
  width: 100%;
  font-family: 'boldonse', sans-serif;
  padding-top: 2px;
}

.basic-arrow__box img {
  width: 195px;
  height: auto;
}

.apropos-content-section .basic-row {
  margin-bottom: 125px;
}

.apropos-content-section .basic-row:last-child {
  margin-bottom: 0;
}

.basic-content h2 {
   font-family: 'boldonse', sans-serif;
   font-size: 35px;
   line-height: 55px;
   margin-bottom: 20px;
   font-weight: 400;
   color: #000;
}

.basic-content h3 {
   font-family: 'boldonse', sans-serif;
   font-weight: 400;
   color: #000;
   margin-bottom: 10px;
   font-size: 20px;
   line-height: 35px;
}

.one-column {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}

.valeurs-wrap {
  width: 100%;
}

.section-title {
  font-size: 35px;
  line-height: 55px;
  font-weight: 400;
  font-family: 'boldonse', sans-serif;
  color: #000;
  margin-bottom: 22px;
}

.valeurs-row {
  width: 100%;
  display: block;

}

.valerus-column {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 35px 120px;
  max-width: 100%;
}


.valeurs-item h3 {
  font-size: 20px;
  line-height: 35px;
  margin-bottom: 10px;
  font-weight: 400;
  font-family: 'boldonse', sans-serif;
  color: #000;
}

.apropos-content-section {
  margin-bottom: 193px;
}


.team-gouvernance {
  width: 100%;
}

.section-description {
  max-width: 700px;
  margin-bottom: 36px;
}


.team-list {
  width: 100%;
  max-width: 100%;
  display: flex;
  justify-content: center;
  gap: 21px;
  overflow: hidden;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.team-list__item {
  max-width: 300px;
  width: 100%;

}

.team-list__item-image {
  margin-bottom: 10px;
  width: 100%;
}


.team-list__item img {
  width: 100%;
  height: 360px;
  object-fit: cover;
}

.team-list__item-name {
  text-align: center;
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 24px;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 600;
  font-style: normal;
  color: #000;

}

.team-list__item-position {
  font-size: 18px;
  line-height: 23px;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #000;
  text-align: center;
}

.team-gouvernance {
  margin-bottom: 140px;
}

.team-equipe {
  margin-bottom: 120px;
}

.partners-list {
  max-width: 100%;
  width: 100%;
  display: flex;
  gap: 68px;
  align-items: flex-end;
  flex-wrap: wrap;
}

.partners-list__item img {
  max-width: 300px;
  max-height: 152px;
}

.projects-main {
  padding-top: 112.9px;
}

.projects-intro {
  position: relative;

}

.projects-intro__image {
  position: absolute;

  left: 902px;
  top: -183px;

  max-width: 348px;
  width: 100%;

  --projects-mouse-x: 0px;
  --projects-mouse-y: 0px;
  --projects-scroll-y: 0px;

  transform:
    translate3d(
      var(--projects-mouse-x),
      calc(
        var(--projects-mouse-y) +
        var(--projects-scroll-y)
      ),
      0
    );

  transform-origin: center;
  will-change: transform;

  pointer-events: none;
}

.projects-intro__image img {
  width: 100%;
}

.projects-intro .page-title {
  margin-bottom: 75px;
}

.projects-list__wrap {
  max-width: 100%;
}

.projects-list__description {
  max-width: 773px;
  width: 100%;
  font-size: 23px;
  line-height: 45px;
  margin-bottom: 20px;
}

.projects-intro__list {
  max-width: 100%;
  width: 100%;
  display: flex;
  gap: 38px;
  flex-wrap: wrap;
}

.projects-intro__list-item {
  max-width: 450px;
  width: 100%;
  position: relative;
}

.projects-intro__list-item a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;

}

.projects-intro__list-item__image {
  width: 100%;
  height: 300px;
  margin-bottom: 16px;
}

.projects-intro__list-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.projects-intro__list-item__title {
  font-size: 18px;
  line-height: 25px;
  margin-bottom: 10px;
  font-weight: 400;
  color: #000;
}

.projects-intro__list-item__date {
  font-size: 12px;
  line-height: 23px;
  font-weight: 400;
  color: #000;
}

.projects-intro{
  margin-bottom: 222px;
}

.projects-section {
  width: 100%;
}

.projects-section__grid {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 25px 87px;
}

.projects-grid__item {
  max-width: 716px;
  width: 100%;
  height: 477px;
  position: relative;
}

.projects-grid__item-image {
  width: 100%;
  height: 100%;

}

.projects-grid__item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.projects-grid__item:nth-child(even) {
  margin-top: 45px;
}

.projects-grid__item:first-child {
  margin-bottom: 73px;
}
.projects-grid__item:nth-child(2) {
  margin-bottom: 73px;
}

.projects-grid__item-background {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  left: 0;
  background: transparent 0% no-repeat padding-box;
  mix-blend-mode: multiply;
  transition: .3s ease-in-out;
}

.projects-grid__item-title {
  position: absolute;
  width: 100%;
  padding: 30px 40px 35px 43px;
  bottom: 0;
  color: #fff;
  font-size: 41px;
  line-height: 64px;
  z-index: 2;
}

.projects-grid__item:hover .projects-grid__item-background {
  opacity: 0;
}

.projects-grid__item-arrow {
  position: absolute;
  bottom: 41.5px;
  right: 30.5px;
  width: 25px;
  z-index: 2;
}


.projects-grid__item a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

.project-inner__section {
  width: 100%;
  position: relative;
}

.project-inner__main-image {
  max-width: 100%;
  width: 100%;
}

.project-inner__main-image img {
  width: 100%;
  height: 556px;
  object-fit: cover;
}

.project-inner__section .container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.page-title__project {
  padding-top: 42px;
  font-size: 131px;
  line-height: 85px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #fff;
}

.home-header .header-menu {
  margin-left: auto;
}

.main-header .header-menu .header-menu__list {
  justify-content: flex-start;
}

.project-description-section {
  width: 100%;
  padding-top: 35px;
  position: relative;
  z-index: 1;
}

.project-description__wrap {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.project-description__left {
  max-width: 760px;
  width: 100%;
}

.project-description__title {
  font-size: 65px;
  line-height: 100px;
  font-weight: 400;
  color: #000;
  margin-bottom: 40px;

}

.project-description__title-mobile {
  display: none;
  font-size: 65px;
  line-height: 100px;
  font-weight: 400;
  color: #000;
  margin-bottom: 40px;
}

.project-description__text {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  font-style: normal;
}


.project-description__link {
  margin-top: 88px;

  display: inline-flex;
  align-items: flex-end;

  gap: 30px;

  width: fit-content;
  max-width: 100%;

  position: relative;
}

.project-description__link a {
  position: absolute;

  width: 100%;
  height: 100%;

  left: 0;
  top: 0;

  z-index: 2;
}

.project-description__link span {
  font-size: 35px;
  line-height: 55px;
  font-weight: 400;
  color: #000;

  width: max-content;
  max-width: none;

  flex: 0 0 auto;
}

.project-description__link img {
  width: 36px;

  flex: 0 0 auto;

  padding-bottom: 15px;
}

.project-description-section {
  margin-bottom: 200px;
}

.project-description__right {
  max-width: 560px;
  width: 100%;
  text-align: right;

}

.project-description__date {
  font-size: 35px;
  line-height: 55px;
  color: #000;
  font-weight: 400;
  padding-top: 75px;
}

.project-precedentes {
  width: 100%;
}

.section-title-big {
  font-size: 65px;
  line-height: 100px;
  font-weight: 400;
  color: #000;
  margin-bottom: 71.6px;
}

.project-precedentes__list {
  display: grid;
  grid-template-columns: repeat(4, 326px);
  gap: 96px 72px;
}

.project-precedentes__list-item {
  width: 100%;
  position: relative;
}

.project-precedentes__list-item a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.precedentes-date {
  font-size: 35px;
  line-height: 55px;
  font-weight: 400;
  color: #000;
  margin-bottom: 2px;
}

.precedentes-preview {
  width: 100%;
  height: 461px;
}

.precedentes-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.project-single-main {
  padding-bottom: 220px;
}

.project-gallery {
  margin-top: 200px;
}

/* =========================================
   PROJECT GALLERY
   Повторяющийся паттерн каждые 9 элементов
   ========================================= */

.project-gallery__wrap {
  width: 100%;
  max-width: 1393px;

  display: flex;
  flex-wrap: wrap;

  justify-content: flex-start;
  align-items: flex-start;

  row-gap: 25px;

  margin-right: auto;
}

.project-gallery__item {
  flex-shrink: 0;
}

.project-gallery__item a {
  display: block;
  width: 100%;
  cursor: pointer;
}

.project-gallery__item img {
  display: block;
  width: 100%;
  height: auto;
}


/* =========================================
   ROW 1
   1 / 2 / 3
   ========================================= */

.project-gallery__item:nth-child(9n + 1) {
  width: 31.7846%;
  margin-right: 3.5262%;
}

.project-gallery__item:nth-child(9n + 2) {
  width: 32.3044%;
  margin-right: 3.5262%;
}

.project-gallery__item:nth-child(9n + 3) {
  width: 28.8586%;
  margin-right: 0;
}


/* =========================================
   ROW 2
   4 / 5 / 6
   ========================================= */

.project-gallery__item:nth-child(9n + 4) {
  width: 32.3044%;
  margin-right: 1.5434%;
}

.project-gallery__item:nth-child(9n + 5) {
  width: 32.3044%;
  margin-right: 1.5434%;
}

.project-gallery__item:nth-child(9n + 6) {
  width: 32.3044%;
  margin-right: 0;
}


/* =========================================
   ROW 3
   7 / 8 / 9
   ========================================= */

.project-gallery__item:nth-child(9n + 7) {
  width: 32.3044%;
  margin-right: 5.5994%;
}

.project-gallery__item:nth-child(9n + 8) {
  width: 24.1924%;
  margin-right: 5.5994%;
}

.project-gallery__item:nth-child(9n + 9) {
  width: 32.3044%;
  margin-right: 0;
}

.project-gallery__wrap {
  margin-right: auto;
}

.project-gallery__item a {
  display: block;
  width: 100%;
}

.project-gallery__item img {
  display: block;
  width: 100%;
  height: auto;
}

.project-gallery__item a {
  cursor: pointer;
}

.f-caption {
  font-size: 18px!important;
  line-height: 44px!important;
  font-family: "neue-haas-grotesk-display", sans-serif!important;
  font-weight: 500!important;
  font-style: normal;
  color: #fff!important;
}

.page-title__project {
  text-transform: uppercase;
}

.project-description__list {
  margin-top: 70px;
}

.project-description__list li {
  padding-left: 60px;
  position: relative;
  margin-bottom: 22px;
  font-size: 35px;
  line-height: 55px;
  color: #000;
  font-weight: 400;
}

.project-description__list li:before {
  content: '';
  width: 31px;
  height: 31px;
  background: #000;
  border-radius: 50%;
  left: 0;
  top: 10px;
  position: absolute;
}

.page-intro-section {
  width: 100%;
  position: relative;
}

.page-intro-section .container {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  padding-top: 63px;
}

.page-intro-section:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 225px;
  background: transparent linear-gradient(180deg, #103E08BF 0%, #103E0800 100%) 0% 0% no-repeat padding-box;
}

.page-title__image {
  font-size: 131px;
  line-height: 85px;
  color: #fff;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
}


.page-intro__image {
  width: 100%;
  max-width: 100%;

}

.page-intro__image img {
  width: 100%;
}

.grands-first {
  padding-top: 32.5px;
  width: 100%;
}

.grands-faces__wrap {
  max-width: 100%;
  padding-left: 30px;
  padding-right: 30px;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}

.grands-first .grands-faces__wrap {
  margin-bottom: 250px;
}

.grands-faces__list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between

}

.grands-faces__list {
  padding-bottom: 32px;
}

.grands-faces__title {
  font-size: 50px;
  line-height: 75px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #000;
  margin-bottom: 140px;
  text-align: center;
  text-transform: uppercase;
}

.grands-logo {
  margin-left: auto;
  margin-right: auto;
  max-width: 670px;
  width: 100%;
}

.grands-logo img {
  width: 100%;
}



.grands-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 205px;
  width: 100%;
}

.section-title__type2 {
  font-size: 70px;
  line-height: 75px;
  color: #000;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  position: relative;
  width: max-content;
  max-width: 100%;
  margin-bottom: 45px;
}

.star-wrap img {
  position: absolute;
  left: 100%;
  top: -69.1px;
  width: 104.1px;
}

.nunito-font {
  font-family: "nunito", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.face-wrap img {
  width: 144.55px;
  position: absolute;
  left: calc(100% + 57px);
  top: -70px;
  transform: rotate(12deg);
}

.nunito-font ul {
  list-style: none;
  padding-left: 0;
}

.nunito-font ul li {
  list-style: none;
  padding-left: 66px;
  position: relative;
  margin-bottom: 48px;
  font-size: 25px;
  line-height: 35px;
}

.nunito-font p {
  font-size: 25px;
  line-height: 35px;
  margin-bottom: 33px;
}

.basic-content.nunito-font > * {
  margin-bottom: 33px;
}

.basic-content.nunito-font > *:last-child {
  margin-bottom: 0;
}

.nunito-font ol li {
  margin-bottom: 48px;
  font-size: 25px;
  line-height: 35px;
}

.nunito-font ol li:last-child {
  margin-bottom: 0;
}

.nunito-font ul li:last-child {
  margin-bottom: 0;
}

.nunito-font ul li:before {
  content: '';
  width: 35.57px;
  height: 33.09px;
  background: url(../images/li-star.svg) no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 2px;
}

.grands-first {
  margin-bottom: 192px;
}


.section-fullsize__image {
  width: 100%;
  max-width: 100%;
}

.section-fullsize__image img {
  width: 100%;
}

.grands-column {
  width: 100%;
  max-width: 100%;
  max-width: 660px;
}

.hand-wrap img {
  position: absolute;
  left: 0;
  width: 107.38px;
  height: auto;
  bottom: 0;
}

.hand-wrap {
  padding-left: 135px;
}

.section-fullsize__image {
  margin-bottom: 140px;
}

.grands-row__rejoindre {
  margin-top: 208px;
}

.column-connect {
  position: relative;
  padding-top: 95px;
}

.connect-title {
  font-size: 45px;
  line-height: 54px;
  color: #000;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  max-width: 400px;
}

.connect-title span {
  color: #E5535D;
}


/* Общие переменные parallax */
.connect-image__first,
.connect-image__second,
.connect-image__third,
.connect-image__fourth,
.connect-image__fifth {
  --connect-mouse-x: 0px;
  --connect-mouse-y: 0px;

  --connect-scroll-x: 0px;
  --connect-scroll-y: 0px;

  transform-origin: center;
  will-change: transform;

  pointer-events: none;
}


.connect-image__first {
  position: absolute;
  width: 132.42px;
  top: 0;
  left: 396px;

  transform:
    translate3d(
      calc(var(--connect-mouse-x) + var(--connect-scroll-x)),
      calc(var(--connect-mouse-y) + var(--connect-scroll-y)),
      0
    )
    rotate(-13deg);
}


.connect-image__second {
  position: absolute;
  width: 163.45px;
  left: 28px;
  top: 273px;

  transform:
    translate3d(
      calc(var(--connect-mouse-x) + var(--connect-scroll-x)),
      calc(var(--connect-mouse-y) + var(--connect-scroll-y)),
      0
    );
}


.connect-image__third {
  position: absolute;
  width: 121.57px;
  top: 374px;
  left: 234px;

  transform:
    translate3d(
      calc(var(--connect-mouse-x) + var(--connect-scroll-x)),
      calc(var(--connect-mouse-y) + var(--connect-scroll-y)),
      0
    )
    rotate(8deg);
}


.connect-image__fourth {
  position: absolute;
  width: 149.43px;
  top: 259px;
  left: 434px;

  transform:
    translate3d(
      calc(var(--connect-mouse-x) + var(--connect-scroll-x)),
      calc(var(--connect-mouse-y) + var(--connect-scroll-y)),
      0
    )
    rotate(5deg);
}


.connect-image__fifth {
  position: absolute;
  width: 155.35px;
  top: 495px;
  left: 419px;

  transform:
    translate3d(
      calc(var(--connect-mouse-x) + var(--connect-scroll-x)),
      calc(var(--connect-mouse-y) + var(--connect-scroll-y)),
      0
    )
    rotate(18deg);
}

.grands-second {
  margin-bottom: 144px;
}

.grands-section__title {
  display: flex;
  gap: 25px;
  align-items: center;
  margin-bottom: -10px;
}

.grands-section__title span {
  font-size: 120px;
  line-height: 120px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #000;
  text-transform: uppercase;
}

.agenda-title img {
  width: 90.78px;
}

.grands-section__subtitle {
  font-size: 74px;
  line-height: 120px;
  text-transform: uppercase;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #000;
  text-transform: uppercase;
  /* margin-bottom: 85px; */
}

.grands-agenda__list {
  width: 1603px;
  margin-left: -25px;
  display: flex;
  justify-content: space-between;
  margin-top: 85px;
}

.grands-agenda__item {
  max-width: 450px;
  width: 100%;
  position: relative;

}


.grands-agenda__image {
  width: 450px;
}

.grands-agenda__image img {
  width: 100%;
}

.grands-agenda__description {
  position: relative;
  width: calc(100% + 4px);
  left: -25px;
  margin-top: -161px;
  background: #F5A057;
  z-index: -1;
  padding-top: 165px;
  padding-left: 25px;
  padding-right: 40px;
  padding-bottom: 47px;
  font-size: 30px;
  line-height: 35px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 600;
  font-style: normal;
  color: #000;
}

.grands-agenda__list {
  margin-bottom: 52px;
}

.grands-agenda__more a {
  font-size: 45px;
  line-height: 75px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #000;
}

.grands-agenda__more a span {
  color: #F5A057;
}

.grands-agenda-section {
  margin-bottom: 202px;
}

.grands-section__description {
  font-size: 25px;
  line-height: 35px;
  font-family: "nunito", sans-serif;
  font-weight: 400;
  font-style: normal;
  max-width: 660px;
  margin-bottom: 43px;
}

.grands-section__link {
  font-size: 45px;
  line-height: 75px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #000;
}

.grands-section__link a {
  color: #E5535D;
}

.grands-news__list {
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 75.5px 160px;
}

.grands-news__item {
  max-width: 660px;
  position: relative;
  width: 100%;
}

.grands-news__item a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

.grands-news__image {
  width: 100%;
  margin-bottom: 66.7px;
}

.grands-news__image img {
  width: 100%;
  height: 440px;
  object-fit: cover;
}

.grands-news__background {
  position: absolute;
  left: 40px;
  height: 100%;
  width: 100%;
  z-index: -1;
  height: 440px;
  background: #E5535D;
  top: 40px;
}

.grands-news__description {
  padding-left: 48px;
  padding-right: 30px;
  padding-bottom: 5px;
  font-size: 30px;
  line-height: 35px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 600;
  font-style: normal;
  color: #000;
}

.grands-news__more {
  margin-top: 75.5px;
}

.grands-news__more a {
  font-size: 45px;
  line-height: 75px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #000;
}

.grands-news__more a span {
  color: #E5535D;
}


.main-grands {
  padding-bottom: 253px;
}

.agenda-wrapper {
  margin-top: 143px;
}

.main-agenda {
  padding-top: 90px;
}

.agenda-wrapper__intro {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.agenda-intro__left {
  max-width: 920px;
  width: 100%;
}

.agenda-intro__right {
  max-width: 250px;
  width: 100%;
  text-align: right;
}

.agenda-intro__link {
  font-size: 50px;
  line-height: 75px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #E5535D;
  padding-bottom: 20px;
  display: block;
}

.agenda-intro__left .grands-section__subtitle {
  margin-bottom: 0;
}

.grands-agenda__list {
  flex-wrap: wrap;
  gap: 145px 0;
}

.main-agenda {
  padding-bottom: 200px;
}

.news-wrapper__intro {
  margin-top: 112px;
}


.main-agenda-inner {
  padding-top: 0;
}

.agenda-inner__intro {
  padding-top: 22px;
  padding-bottom: 80px;
}

.agenda-intro__back a {
  font-size: 18px;
  text-transform: uppercase;
  line-height: 18px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #000;

}

.agenda-intro__back {
  margin-bottom: 54px;
}

.agenda-inner__intro-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 10px;
}

.agenda-inner__intro-left {
  max-width: 860px;
  width: 100%;
}

.agenda-inner__date {
  font-size: 40px;
  line-height: 40px;
  color: #000;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 600;
  font-style: normal;
  margin-bottom: 10px;
}

.agenda-inner__image {
  width: 100%;
}

.agenda-inner__image img {
  width: 100%;
}

.agenda-inner__intro-right {
  max-width: 560px;
  width: 100%;
}

.agenda-inner__intro-title {
  font-size: 66px;
  line-height: 77px;
  color: #000;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 600;
  font-style: normal;
  margin-bottom: 4px;
}

.agenda-inner__main {
  padding-top: 91px
}


.agenda-inner__row {
  display: grid;
}

.agenda-inner__row {
  margin-bottom: 160px;
}

.agenda-inner__row:last-child {
  margin-bottom: 0;
}

.agenda-inner__row .basic-content h2 {
  font-family: "avory-i-latin", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 66px;
  line-height: 77px;
  margin-bottom: 20px;
}

.align-left {
  text-align: left;
}

.align-center {
  text-align: center;
}

.main-agenda-inner {
  padding-bottom: 138px;
}

.main-news__single {
  padding-top: 0;
}

.news-inner__intro {
  padding-top: 68px;
}

.news-inner__intro-back a {
  font-size: 18px;
  text-transform: uppercase;
  line-height: 18px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 800;
  font-style: normal;
  color: #000;
}

.news-inner__intro-back {
  margin-bottom: 22px;
}

.news-inner__intro-image {
  width: 100%;
  margin-bottom: 0;
}

.news-inner__intro-image img {
  width: 100%;
  height: 550px;
  object-fit: cover;
}

.news-inner__intro-description {
  padding-top: 75px;
  padding-bottom: 65px;
}

.news-inner__intro-description p {
  font-size: 66px;
  line-height: 77px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 600;
  font-style: normal;
  color: #000;
  max-width: 860px;
  width: 100%;
}

.news-inner__main {
  padding-top: 85.7px;

}

.main-news__single {
  padding-bottom: 130px;
}

.news-inner__row {
  display: grid;
}

.news-inner__slider-wrap {
  margin-top: 150px;
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
}


.swiper-slider__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-top: 17px;
}

.swiper-slider__dots .swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  margin: 0 !important;
  border: 2px solid #E5535D;
  background: transparent;
  opacity: 1;
}

.swiper-slider__dots .swiper-pagination-bullet-active {
  background: #E5535D;
}

.news-inner__slide-item {
  width: 100%;
}

.news-inner__slide-item img {
  display: block;
  width: 100%;
  height: auto;
}


.contact-main {
  padding-top: 75px;
  padding-bottom: 215px;
}


.contact-section {
  position: relative;
}

.contact-section__image {
  position: absolute;
  left: 58px;
  max-width: 477.94px;
  width: 100%;
  top: -76px;

  --contact-image-mouse-x: 0px;
  --contact-image-mouse-y: 0px;
  --contact-image-scroll-y: 0px;

  transform:
    translate3d(
      var(--contact-image-mouse-x),
      calc(
        var(--contact-image-mouse-y) +
        var(--contact-image-scroll-y)
      ),
      0
    );

  transform-origin: center;
  will-change: transform;

  pointer-events: none;
}

.contact-section__image img {
  width: 100%;
}

.contact-container {
  max-width: 967px;
  width: 100%;
  padding-left: 107px;
  margin-left: auto;
  margin-right: auto;
}

.contact-flex__wrap {
  display: flex;
  justify-content: space-between;
}

.contact-left {
  max-width: 492px;
  width: 100%;
}

.contact-question__wrap {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.contact-question__text {
  font-size: 20px;
  line-height: 40px;
  font-weight: 400;
  color: #000;
  max-width: 305px;
  width: 100%;
}

.contact-question__image {
  width: 122.99px;
  margin-bottom: -5px;
  height: auto;
  transform: rotate(35deg);
}

.contact-right {
  max-width: 300.25px;
  width: 100%;
}

.contact-right__contacts {
  max-width: 252px;
  width: 100%;
  margin-bottom: 116px;
  display: flex;
  flex-direction: column;
}

.contact-right__contacts a {
  font-size: 14px;
  line-height: 25px;
  margin-bottom: 17px;
  color: #000;
  font-weight: 400;
}

.contact-right__contacts a:last-child {
  margin-bottom: 0;
}

.contact-right__form {
  width: 100%;
}

.contact-form {
  width: 100%;
}

.contact-form__title {
  font-size: 18px;
  line-height: 20px;
  color: #000;
  font-weight: 400;
  margin-bottom: 24px;
}

.contact-form__input {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 25px;
}

.contact-form__input:last-child {
  margin-bottom: 0;
}

.contact-form__input label {
  font-size: 18px;
  line-height: 23px;
  color: #000;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.contact-form__input input {
  font-size: 18px;
  line-height: 18px;
  color: #000;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-style: normal;
  padding: 4px 20px;
  background: #fff;
  height: 30px;
  display: flex;
  align-items: center;
  border: 0;
}


.contact-form__input input::placeholder {
  font-size: 18px;
  line-height: 18px;
  color: #000;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-style: normal;
  opacity: 1;
}

.custom-select {
  position: relative;
  width: 100%;
  background: #fff;
  color: #000;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 18px;
  line-height: 18px;
  z-index: 10;
}

.custom-select__active {
  width: 100%;
  height: 30px;

  padding: 4px 40px 4px 20px;

  background: #fff;
  border: 0;

  display: flex;
  align-items: center;

  position: relative;

  color: #000;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 18px;
  line-height: 18px;

  text-align: left;
  cursor: pointer;

  z-index: 2;
}

.custom-select__active::after {
  content: "";

  position: absolute;
  right: 16px;
  top: 50%;

  width: 0;
  height: 0;

  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 10px solid #000;

  transform: translateY(-50%);

  transition: transform 0.3s ease;
}

.custom-select.is-open .custom-select__active::after {
  transform:
    translateY(-50%)
    rotate(180deg);
}


/* Выпадающий список */
.custom-select__dropdown {
  position: absolute;

  left: 0;
  top: 100%;

  width: 100%;

  background: #fff;

  padding: 3px 0 10px;

  z-index: 20;

  opacity: 0;
  visibility: hidden;

  transform: translateY(-8px);

  pointer-events: none;

  transition:
    opacity 0.25s ease,
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0.3s;
}


.custom-select.is-open .custom-select__dropdown {
  opacity: 1;
  visibility: visible;

  transform: translateY(0);

  pointer-events: auto;
}


.custom-select__dropdown-item {
  width: 100%;

  border: 0;
  background: transparent;

  padding: 3px 40px 3px 20px;

  color: #000;

  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-style: normal;

  font-size: 18px;
  line-height: 22px;

  text-align: left;

  cursor: pointer;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}


.custom-select__dropdown-item:hover {
  opacity: 0.6;
  transform: translateX(3px);
}


.custom-select__dropdown-item.is-selected {
  display: none;
}

.contact-form__input textarea {
  height: 122px;
  background: #fff;
  font-size: 18px;
  line-height: 18px;
  padding: 4px 20px;
  color: #000;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 700;
  font-style: normal;
  border: 0;
}

.contact-submit {
  background: #E885F0;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-transform: uppercase;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 600;
  font-style: normal;
  padding-left: 15px;
  padding-right: 15px;
  font-size: 20px;
  line-height: 20px;
  border: 0;
  margin-left: auto;
}

.contact-container .contact-title {
  font-size: 40px;
  line-height: 50px;
  margin-bottom: 30px;
  font-weight: 400;
  color: #000;

}

.contact-left {
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

.contact-left__bottom {
  width: 100%;
  padding-bottom: 65px;
}

.contact-logo__image {
  width: 100%;
  max-width: 203.18px;
  margin-bottom: 25px;
}

.contact-logo__image img {
  width: 100%;
}

.contact-bottom__text {
  max-width: 285px;
  width: 100%;
}

.contact-bottom__text p {
  font-size: 14px;
  line-height: 25px;
  font-weight: 400;
  margin-bottom: 18.8px;
  color: #000;
}

.contact-bottom__text p:last-child {
  margin-bottom: 0;
}

.grands-agenda__item {
  position: relative;
}

.grands-agenda__item a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

.aligncenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.alignright {
  margin-left: auto;
  text-align: right;
  display: block;
}

.alignleft {
  margin-right: auto;
  text-align: left;
  display: block;
}

.agenda-inner__main .basic-content a {
  color: #F5A057;
  font-weight: bold;
}

.news-inner__main .basic-content a {
  color: #E5535D;
  font-weight: bold;
}

.home-animation {
  width: 1231px;
  height: 1231px;
  background: #fff;
  border-radius: 50%;

  position: fixed;
  left: -46px;
  top: -562px;

  transform-origin: top left;
  will-change: transform;

  pointer-events: none;

  z-index: 0;
}

.homepage-main,
.home-header,
.site-footer {
  position: relative;
  z-index: 1;
}


.apropos-animation {
  width: 1393px;
  height: 1393px;
  background: #fff;
  border-radius: 50%;

  position: fixed;
  left: -167px;
  top: -405px;

  pointer-events: none;
  will-change: transform;

  z-index: -1;
}

.projects-animation {
  width: 1393px;
  height: 1393px;
  background: #fff;
  border-radius: 50%;

  position: fixed;
  left: -127px;
  top: -401px;

  pointer-events: none;
  will-change: transform;

  z-index: -1;
}


.project-inner-animation {
  width: 2144px;
  height: 1857px;
  background: #fff;

  clip-path: polygon(
    53% 0,
    100% 100%,
    0 100%
  );

  position: fixed;

  left: -982.7px;
  top: -83.3px;

  transform: translate3d(0, 0, 0) rotate(-25deg);
  transform-origin: center;

  pointer-events: none;
  will-change: transform;

  z-index: 0;
}

.project-single-main,
.main-header,
.site-footer {
  position: relative;
  z-index: 1;
}

.main-header {
  z-index: 2;
}

.contact-animation {
  width: 1638.38px;
  height: 1419.4px;
  background: #fff;

  clip-path: polygon(
    53% 0,
    100% 100%,
    0 100%
  );

  position: fixed;

  left: -235.4px;
  top: -751.7px;

  transform: translate3d(0, 0, 0) rotate(-16deg);
  transform-origin: center;

  pointer-events: none;
  will-change: transform;

  z-index: 0;
}

.home-header {
  z-index: 3;
}



.project-annexes-animation {
  width: 2144px;
  height: 1857px;
  background: #fff;

  clip-path: polygon(
    53% 0,
    100% 100%,
    0 100%
  );

  position: fixed;

  left: -982.7px;
  top: -83.3px;

  transform: translate3d(0, 0, 0) rotate(-25deg);
  transform-origin: center;

  pointer-events: none;
  will-change: transform;

  z-index: 0;
}



.grands-faces__list {
  position: relative;
}

.grands-faces__list > * {
  will-change: transform;
  transform-origin: center;
}



/* =========================================
   HEADER LOAD ANIMATION
   ========================================= */


/* =========================================
   HOMEPAGE
   Меню появляется справа -> налево
   ========================================= */

.home-header .header-menu__list > li {
  opacity: 0;

  transform: translate3d(30px, 0, 0);

  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);

  will-change: transform, opacity;
}


/*
 * Порядок появления обратный:
 *
 * Contact
 * Les Grands Rêveurs
 * Nos projets
 * A propos
 */

.home-header .header-menu__list > li:nth-child(4) {
  transition-delay: 0.08s;
}

.home-header .header-menu__list > li:nth-child(3) {
  transition-delay: 0.16s;
}

.home-header .header-menu__list > li:nth-child(2) {
  transition-delay: 0.24s;
}

.home-header .header-menu__list > li:nth-child(1) {
  transition-delay: 0.32s;
}


/* =========================================
   INNER PAGES
   Меню появляется слева -> направо
   ========================================= */

.main-header .header-menu__list > li {
  opacity: 0;

  transform: translate3d(-30px, 0, 0);

  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);

  will-change: transform, opacity;
}


/*
 * Обычный порядок:
 *
 * A propos
 * Nos projets
 * Les Grands Rêveurs
 * Contact
 */

.main-header .header-menu__list > li:nth-child(1) {
  transition-delay: 0.08s;
}

.main-header .header-menu__list > li:nth-child(2) {
  transition-delay: 0.16s;
}

.main-header .header-menu__list > li:nth-child(3) {
  transition-delay: 0.24s;
}

.main-header .header-menu__list > li:nth-child(4) {
  transition-delay: 0.32s;
}


/* =========================================
   INNER HEADER LOGO
   Справа -> налево
   ========================================= */

.main-header .header-logo {
  opacity: 0;

  transform:
    translate3d(45px, 0, 0)
    scale(0.97);

  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);

  transition-delay: 0.5s;

  will-change: transform, opacity;
}


/* =========================================
   LOADED STATE
   ========================================= */

body.header-loaded .home-header .header-menu__list > li,
body.header-loaded .main-header .header-menu__list > li {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}


body.header-loaded .main-header .header-logo {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}


/* =========================================
   ACCESSIBILITY
   ========================================= */

@media (prefers-reduced-motion: reduce) {

  .home-header .header-menu__list > li,
  .main-header .header-menu__list > li,
  .main-header .header-logo {
    opacity: 1;
    transform: none;
    transition: none;
  }

}



/* =========================================
   AGENDA CARD HOVER ANIMATION
   ========================================= */

.grands-agenda__item {
  isolation: isolate;
}

.grands-agenda__image {
  position: relative;
  z-index: 2;
  overflow: hidden;

  transition:
    transform 0.76s cubic-bezier(0.22, 1, 0.36, 1);

  will-change: transform;
}

.grands-agenda__image img {
  display: block;
  height: 300px;
  transition:
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);

  will-change: transform;
  object-fit: cover;
}


/* Затемнение фотографии */

.grands-agenda__image::after {
  content: "";

  position: absolute;
  inset: 0;

  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.58) 0%,
    rgba(0, 0, 0, 0.2) 42%,
    rgba(0, 0, 0, 0) 75%
  );

  opacity: 0;

  transition:
    opacity 0.64s ease;

  pointer-events: none;
}


/* Текущий description */

.grands-agenda__description {
  transition:
    transform 0.76s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.44s ease;

  will-change: transform, opacity;
}


/* Белая копия текста создаётся через JS */

.grands-agenda__hover-title {
  position: absolute;

  z-index: 5;

  color: #fff;

  font-size: 30px;
  line-height: 35px;

  font-family: "avory-i-latin", sans-serif;
  font-weight: 600;
  font-style: normal;

  opacity: 0;

  transform: translate3d(0, 18px, 0);

  transition:
    opacity 0.56s ease,
    transform 0.84s cubic-bezier(0.22, 1, 0.36, 1);

  pointer-events: none;

  will-change: transform, opacity;
}


/* =========================================
   ACTIVE HOVER
   ========================================= */

/* Фото идёт влево и вниз */

.grands-agenda__item.is-agenda-hover .grands-agenda__image {
  transform: translate3d(-20px, 24px, 0);
}


/* Description идёт навстречу */

.grands-agenda__item.is-agenda-hover .grands-agenda__description {
  transform: translate3d(20px, -36px, 0);
  opacity: 0;
}


/* Небольшой zoom внутри фото */

.grands-agenda__item.is-agenda-hover .grands-agenda__image img {
  transform: scale(1.025);
}


/* Затемнение */

.grands-agenda__item.is-agenda-hover .grands-agenda__image::after {
  opacity: 1;
}


/* Белый текст */

.grands-agenda__item.is-agenda-hover .grands-agenda__hover-title {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.grands-agenda__date {
  font-size: 26px;
  line-height: 35px;
  font-family: "avory-i-latin", sans-serif;
  font-weight: 600;
  font-style: normal;
  margin-bottom: 10px;
}

.grands-news__image {
  transition: .4s ease-in-out;
}


.grands-news__item:hover .grands-news__image {
  transform: translate(40px, 40px);
}

/* media */
.home-news__list {
  width: fit-content;
  max-width: 100%;
  /* flex-wrap: wrap; */
}

.home-news__projects {
  margin-left: 28px;
}

.home-news__wrap {
  max-width: 1620px;
}

.mobile-menu__toggler {
  display: none;
}

@media (max-width: 1800px) {

  .contact-container {
    max-width: 1024px;
    padding-left: 70px;
    padding-right: 62px;
    margin-left: auto;
    margin-right: 0;

  }

  .page-intro__image img {
    height: 603px;
    object-fit: cover;
  }
  .grands-faces__wrap {
    overflow: hidden;
  }

  .grands-faces__list {
    width: max-content;

    display: flex;
    flex-wrap: nowrap;

    justify-content: flex-start;

    padding-bottom: 32px;

    overflow: visible;

    animation:
      grands-faces-marquee
      25s
      linear
      infinite;

    will-change: transform;
  }


  .grands-faces__marquee-group {
    display: flex;
    flex-wrap: nowrap;

    align-items: center;

    gap: 20px;

    padding-right: 20px;

    flex-shrink: 0;
  }


  .grands-face__item {
    width: 125px;
    flex: 0 0 125px;
  }


  .grands-face__item img {
    display: block;

    max-width: 100%;
    height: auto;
  }


  @keyframes grands-faces-marquee {

    from {
      transform: translate3d(0, 0, 0);
    }

    to {
      transform: translate3d(-50%, 0, 0);
    }

  }

  .home-news__wrap {
    max-width: 1190px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .home-news__wrap-inner {
    width: 100%;
    max-width: 100%;
  }

  .home-news__list {
    width: 100%;
    max-width: 100%;
  }

  .project-inner__main-image img {
    height: 550px;
    object-fit: cover;
  }

  .project-precedentes__list {
    grid-template-columns: repeat(3, 326px);
  }

  .home-intro {
    margin-left: auto;
    margin-right: 50px;
  }

  .projects-section__grid {
    gap: 25px 47px;
  }

  .home-header .container {
    padding-right: 50px;
  }

  /* .home-news__list {
    flex-wrap: wrap;
  } */

  .main-header .container, .container {
    padding-left: 30px;
    padding-right: 30px;
  }

  .team-list {
    flex-wrap: wrap;
  }

  .section-fullsize__image img {
    height: 745px;
    object-fit: cover;
  }

  .grands-row {
    gap: 100px;
  }

  .grands-agenda__list {
    width: 100%;
    margin-left: 0;
  }


}

@media (max-width: 1566px) {
  .projects-section__grid {
    flex-direction: column;
  }

  .projects-grid__item:nth-child(even) {
    margin-left: auto;
  }
}

@media (max-width: 1500px) {

  .contact-section__image {
    max-width: 314px;
    left: 0;
    top: -56.2px;
  }

  .contact-container .contact-title {
    margin-bottom: 135px;
    max-width: 680px;
    margin-left: auto;
  }

  .contact-question__text {
    font-size: 18px;
    line-height: 30px;
    max-width: 175px;
  }

  .contact-left {
    max-width: 305px;
  }



  .contact-question__image {
    width: 88.9px;
  }

  .contact-flex__wrap {
    max-width: 680px;
    width: 100%;
    margin-left: auto;
  }



  .agenda-inner__intro {
    padding-top: 10px;
    padding-bottom: 56px;
  }

  .agenda-inner__intro-wrap {
    gap: 100px;
  }

  .agenda-inner__image img {
    height: 380px;
    object-fit: cover;
  }

  .news-inner__intro-image img {
    height: 400px;
  }

  .agenda-inner__intro-left {
    max-width: 580px;
  }

  .agenda-inner__intro-right {
    max-width: 580px;
  }

  .agenda-inner__intro-title {
    font-size: 60px;
    line-height: 70px;
  }

  .news-inner__intro-description {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .news-inner__intro-description p {
    font-size: 60px;
    line-height: 70px;
  }

  .news-inner__intro {
    padding-top:
  }

  .grands-row {
    display: flex;
    flex-direction: column;
    gap: 100px;
  }

  .grands-news__list {
    grid-template-columns: repeat(1, 1fr);
  }

  .grands-column {
    max-width: 100%;
  }

  .column-connect {
    height: 685px;
  }

  .grands-faces__title {
    margin-bottom: 95px;
  }

  .nunito-font ul li:before {
    width: 30px;
    height: 27.91px;
    top: 4px;
  }



  .grands-first .grands-faces__wrap {
    margin-bottom:  180px;
  }

  .nunito-font p {
    font-size: 23px;
    line-height: 30px;
  }

  .nunito-font ul li, .nunito-font ol li {
    font-size: 23px;
    line-height: 30px;
  }

  .page-title__image {
    font-size: 130px;
    line-height: 120px;
  }
  .basic-content.project-description__text p {
    font-size: 16px;
    line-height: 20px;
  }

  .project-description__list {
    margin-top: 50px;
  }
  .page-title__project {
    padding-top: 41px;
  }
  .homepage-image {
    max-width: 593px;
    left: -38.8px;
    top: 42.3px;
  }

  .project-description__list li {
    padding-left: 40px;
    font-size: 20px;
    line-height: 35px;
    margin-bottom: 28px;
  }

  .project-description__list li:before {
    width: 20px;
    height: 20px;
    top: 7px;
  }



  .apropos-intro__image {
    position: static;
    margin-left: auto;
  }

  .apropos-intro__flex {
    flex-direction: column-reverse;
    gap: 100px;
  }

  .apropos-intro__description {
    max-width: 100%;
  }

  .two-columns {
    gap: 60px;
  }

  .apropos-content-section .basic-row {
    margin-bottom: 60px;
  }

  .apropos-intro{
    padding-bottom: 150px;
  }

  .section-title-big {
    font-size: 35px;
    line-height: 55px;
    margin-bottom: 64px;
  }

  .project-description__link span {
    font-size: 20px;
    line-height: 35px;
  }

  .project-description__link {
    margin-top: 38px;
  }

  .project-description__link img {
    width: 25px;
    padding-bottom: 5px;
  }

  .project-description__date {
    font-size: 30px;
    line-height: 50px;
  }

  .project-description__wrap {
    gap: 30px;
  }

  .project-description__title {
    font-size: 60px;
    line-height: 90px;
    margin-bottom: 20px;
  }

  .precedentes-date{
    font-size: 25px;
    line-height: 55px;
  }

  .project-description-section{
    margin-bottom: 135px;
  }





}

@media (max-width: 1320px) {
  .projects-intro__image {
    position: static;
    margin-bottom: 100px;
    margin-left: auto;
    margin-top: -50px
  }
}


@media (max-width: 1280px) {


  .agenda-inner__intro-wrap {
    gap: 30px;
  }
  .project-precedentes__list {
    grid-template-columns: repeat(2, 326px);
  }
  .home-intro {
    max-width: 452px;
  }

  .home-intro__description {
    font-size: 14px;
    line-height: 25px;
  }

  .homepage-image {
    max-width: 526px;
    left: -80px;
    top: 32px;
  }

  .home-news__projects-text {
    font-size: 16px;
  }

  .home-news__projects img {
    width: 106px;
  }

  .home-news__projects {
    max-width: 160px;
  }

  .footer-socials a {
    height: 24.53px;
  }

  .footer-socials {
    gap: 25px;
  }

  .footer-fresch {
    font-size: 18px;
    line-height: 20px;
    margin-left: unset;
    padding-bottom: 0;
  }

  .footer-address {
    font-size: 14px;
    line-height: 18px;
    padding-bottom: 0;
  }

  .footer-eco {
    max-width: 156px;
    gap: 14px;
  }

  .footer-eco__grengeweb {
    max-width: 46.16px;
  }

  .site-footer .container {
    gap: 30px;
    justify-content: space-between;
  }

  .header-menu__list {
    gap: 25px;
  }

}

@media (max-width: 960px) {
  .home-intro {
    padding-top: 470px;
  }

  .two-columns {
    grid-template-columns: repeat(1, 1fr);
  }

  .valerus-column {
    grid-template-columns: repeat(1, 1fr);
  }

  .contact-section__image img {
    transform: scaleX(-1);
  }
  .contact-section__image {
    right: 0;
    left: unset;
    top: -6px;
  }

  .contact-right {
    padding-top: 260px;
  }

  .contact-section {
    overflow: hidden;
  }
}

@media (max-width: 830px) {

  .project-description__link span {
    width: 100%;
  }

  .contact-question__wrap {
    position: relative;
  }

  .contact-animation {
    display: none;
  }


  .contact-question__image {
    position: absolute;
    left: 0;
    top: 195px;
    transform: rotate(64deg);
  }

  .agenda-inner__row .basic-content h2 {
    font-size: 55px;
    line-height: 55px;
  }

  .agenda-inner__intro-wrap{
    flex-direction: column;
    align-items: flex-start;
  }

  .agenda-inner__intro-left {
    max-width: 100%;
  }

  .agenda-inner__intro-wrap {
    gap: 22px;
  }

  .agenda-inner__intro-right {
    max-width: 100%;
  }

  .agenda-inner__intro-title {
    font-size: 45px;
    line-height: 45px;
  }



  .news-inner__slider-wrap {
    margin-top: 80px;
  }

  .swiper-slider__dots .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
  }

  .news-inner__intro {
    padding-top: 48px;
  }

  .news-inner__intro-image img {
    height: 300px;
  }

  .news-inner__intro-description {
    padding-top: 22px;
    padding-bottom: 30px;
  }

  .news-inner__intro-description p {
    font-size: 45px;
    line-height: 45px;
  }

  .news-inner__main{
    padding-top: 40px;
  }

  .grands-news__image img {
    height: 202px;
  }

  .grands-news__image {
    margin-bottom: 28px;
  }

  .grands-news__background {
    height: 202px;
    left: 21.7px;
    top: 21.4px;
  }

  .grands-news__description {
    font-size: 23px;
    line-height: 25px;
    padding-left: 20px;
    padding-right: 30px;
  }

  .main-grands{
    padding-bottom: 150px;
  }

  .agenda-wrapper__intro {
    flex-direction: column;
    gap: 25px;
  }

  .agenda-intro__left .agenda-title, .agenda-intro__left .news-title {
    align-items: center;
  }

  .agenda-intro__left .grands-section__subtitle {
    text-align: center;
  }

  .agenda-intro__link {
    font-size: 35px;
    line-height: 35px;
  }

  .agenda-wrapper {
    margin-top: 39px;
  }

  .main-agenda {
    padding-bottom: 100px;
    padding-top: 30px;
  }

  .news-wrapper__intro{
    margin-top: 25px;
  }

  .grands-agenda__date {
    font-size: 23px;
    line-height: 25px;
    margin-bottom: 5px;
  }

  .grands-agenda__list {
    margin-top: 38px;
    gap: 50px;
    flex-direction: column;
  }

  .grands-agenda-section {
    margin-bottom: 150px;
  }

  .grands-agenda__description {
    font-size: 23px;
    line-height: 25px;
    padding-top: 120px;
    padding-bottom: 15px;
    margin-top: -104px;
  }

  .grands-agenda__hover-title {
    font-size: 23px;
    line-height: 25px;
  }

  .what-we-do {
    padding-top: 135px;
  }

  .face-wrap img {
    top: unset;
    bottom: calc(100% + 22px);
    left: 85%;
  }

  .nunito-font ul li {
    padding-left: 60px;
  }

  .grands-first {
    margin-bottom: 100px;
  }

  .section-fullsize__image img {
    height: 400px;
  }

  .section-fullsize__image {
    margin-bottom: 35px;
  }

  .hand-wrap {
    padding-top: 50px;
  }

  .hand-wrap {
    font-size: 35px;
    line-height: 40px;
  }

  .connect-image__second {
    display: none;
  }

  .connect-image__third {
    display: none;
  }

  .connect-image__first {
    left: 150px;
    top: 150px;
  }

  .connect-image__fourth {
    top: 230px;
    left: 0;
  }

  .connect-image__fifth {
    top: 355px;
    left: 130px;
  }

  .grands-row__rejoindre {
    margin-top: 90px;
  }

  .grands-section__title span {
    font-size: 100px;
    line-height: 100px;
    margin-bottom: 15px;
  }

  .grands-news__item {
    max-width: 300px;
  }

  .grands-section__link {
    font-size: 35px;
    line-height: 40px;
  }

  .grands-section__description {
    font-size: 18px;
    line-height: 23px;
    margin-bottom: 25px;
  }

  .news-title {
    flex-direction: column-reverse;
    align-items: flex-start;
  }

  .grands-agenda__more a, .grands-news__more a {
    font-size: 35px;
    line-height: 40px;
  }

  .grands-agenda__item {
    max-width: 306px;
  }

  .grands-agenda__image {
    width: 306px;
  }

  .grands-agenda__image img {
    height: 204px;
  }

  .agenda-title {
    flex-direction: column-reverse;
    align-items: flex-start;
  }

  .grands-section__subtitle {
    font-size: 60px;
    line-height: 65px;
  }

  .column-connect {
    padding-top: 0;
    height: 560px;
  }

  .page-title__image.page-title {
    font-size: 70px;
    line-height: 70px;
  }

  .grands-first {
    padding-top: 20px;
  }

  .grands-faces__list {
    padding-bottom: 20px;
  }

  .grands-faces__title {
    font-size: 30px;
    line-height: 35px;
    margin-bottom: 42px;
  }

  .grands-logo {
    max-width: 300px;
  }

  .grands-first .grands-faces__wrap {
    margin-bottom: 150px;
  }

  .section-title__type2 {
    font-size: 50px;
    line-height: 50px;
    margin-bottom: 20px;
  }

  .star-wrap img {
    width: 70.75px;
    top: unset;
    bottom: calc(100% + 15px);
  }

  .nunito-font p, .nunito-font ul li, .nunito-font ol li {
    font-size: 18px;
    line-height: 23px;
  }

  .nunito-font ul li, .nunito-font ol li {
    margin-bottom: 23px;
  }

  .basic-content.nunito-font > * {
    margin-bottom: 23px;
  }

  .basic-content.nunito-font > *:last-child {
    margin-bottom: 0;
  }

  .page-title.page-title__project {
    font-size: 70px;
    line-height: 70px;
  }

  .project-description__wrap {
    flex-direction: column-reverse;
  }

  .project-description__title{
    display: none;
  }

  .project-annexes-title {
    display: block;
  }
  .project-description__title-mobile {
    display: block;
    font-size: 40px;
    line-height: 60px;
    margin-bottom: 20px;
  }

  .project-description__date {
    padding-top: 0;
    margin-left: auto;
    text-align: right;
  }

  .project-description__right {
    margin-left: auto;
  }

  .project-description-section {
    padding-top: 45px;
    margin-bottom: 64px;
  }

  .project-precedentes__list {
    grid-template-columns: repeat(1, 326px);

  }

  .project-gallery__item {
    width: 100%!important;
  }

  .project-description__title {
    font-size: 40px;
    line-height: 60px;
  }

  .projects-intro__image {
    margin-right: auto;
    margin-top:-20px;
  }

  .projects-grid__item:nth-child(even), .projects-grid__item {
    margin-left: auto;
    margin-right: auto;
  }

  .projects-grid__item:first-child {
    margin-bottom: 0;
  }

  .projects-grid__item:nth-child(2) {
    margin-bottom: 0;
  }

  .projects-grid__item:nth-child(even) {
    margin-top: 0;
  }

  .apropos-content-section {
    margin-bottom: 100px;
  }

  .team-gouvernance{
    margin-bottom: 100px;
  }

  .partners-list {
    flex-direction: column;
    gap: 70px;
    align-items: center;
  }

  .apropos-main {
    padding-bottom: 109px;
  }

  .main-header .header-logo {
    margin-right: auto;
  }

  .team-list {
    gap: 50px;
  }

  .main-header {
    padding-top: 20px;
  }

  .header-logo {
    max-width: 103.39px;
  }

  .page-title {
    font-size: 45px;
    line-height: 70px;
  }

  .apropos-main{
    padding-top: 53px;
  }

  .apropos-intro__flex{
    gap: 50px;
  }

  .page-subtitle {
    font-size: 20px;
    line-height: 36px;
  }

  .apropos-intro {
    padding-bottom: 80px;
  }

  .basic-arrow__box img {
    width: 146px;
    margin-left: auto;
  }

  .apropos-content-section .basic-row {
    margin-bottom: 100px;
  }

  .main-header .container {
    flex-direction: row-reverse;
  }

  .site-footer .container {
    flex-direction: column;
    gap: 40px;
    align-items: center;
    justify-content: center;
  }

  .site-footer{
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .footer-address {
    text-align: center;
    font-size: 16px;
    line-height: 22px;
    max-width: 320px;
  }

  .footer-socials a {
    height: 32.53px;

  }

  .footer-socials {
    gap: 30px;
    padding-bottom: 0;
  }

  .footer-fresch{
    font-size: 20px;
    line-height: 20px;
  }

  .footer-eco {
    max-width: 172px;
    gap: 23px;
  }

  .footer-eco__grengeweb {
    max-width: 53.82px;
  }

  .home-news__list {
    flex-direction: column;
    gap: 40px;
  }

  .home-news__projects {
    padding-top:25px;
    margin-left: auto;
    margin-right: auto;
  }

  .home-news__wrap {
    max-width: 100%;
    width: 100%;
  }

  .header-menu {
    display: none;
  }


  .mobile-menu__toggler {
    display: block;
    margin-left: auto;

    width: 30px;
    height: 30px;

    padding: 0;
    border: 0;
    background: transparent;

    position: relative;

    cursor: pointer;

    z-index: 101;
  }


  .mobile-menu__toggler span {
    position: absolute;

    left: 0;
    top: 50%;

    width: 100%;
    height: 3px;

    background: #000;

    transform-origin: center;

    transition:
      transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
      top 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }


  .mobile-menu__toggler span:first-child {
    top: 9px;
  }


  .mobile-menu__toggler span:last-child {
    top: 18px;
  }


  /* =========================================
    OPEN MENU
    ========================================= */

  .header-menu.mobile-menu-open {
    max-width: 100%;
    margin-left: 0;
    display: block;

    position: fixed;
    inset: 0;

    width: 100%;
    height: 100dvh;

    background: #fff;

    z-index: 100;

    padding-top: 111px;
    padding-left: 25px;
    padding-right: 25px;
    padding-bottom: 50px;

    opacity: 0;

    animation:
      mobile-menu-fade
      0.45s
      cubic-bezier(0.22, 1, 0.36, 1)
      forwards;
  }


  /* =========================================
    TOGGLER -> CROSS
    ========================================= */

  .mobile-menu__toggler.is-open span:first-child {
    top: 50%;

    transform:
      translateY(-50%)
      rotate(45deg);
  }


  .mobile-menu__toggler.is-open span:last-child {
    top: 50%;

    transform:
      translateY(-50%)
      rotate(-45deg);
  }


  /* =========================================
    MENU APPEAR
    ========================================= */

  @keyframes mobile-menu-fade {

    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }

  }

  .mobile-menu__toggler.is-open {
  position: fixed;

    top: 21px;
    right: 25px;

    margin-left: 0;

    z-index: 102;
  }

  .home-header {
    padding-top: 22px;
  }

  .home-header .container {
    padding-right: 25px;
  }

  .header-menu__list {
    flex-direction: column;
    max-width: 222px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    gap: 16px;

  }

  .menu-item-has-children > a {
    position: relative;
    display: inline-flex;
    align-items: center;
  }

  .menu-item-has-children > a::after {
    content: '';

    width: 0;
    height: 0;

    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 12px solid #E885F0;

    margin-left: 8px;
    position: absolute;
    left: 100%;
    top: 2px;
  }

  .sub-menu {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: static;
    opacity: 1;
    visibility: visible;

    width: 222px;

    padding: 0 16px 0 19px;

    background: #fff;
    border: 1px solid #E885F0;

    max-height: 0;
    opacity: 0;
    overflow: hidden;

    transition:
      max-height .35s ease,
      opacity .25s ease,
      padding .35s ease,
      margin .35s ease;
  }

  .menu-item-has-children.is-submenu-open > .sub-menu {
    max-height: 500px;

    opacity: 1;

    padding: 18px 16px 20px 19px;

    margin-top: 8px;
  }


  /* Поворот нашей стрелочки */

  .menu-item-has-children > a::after {
    transition: transform .25s ease;
    transform-origin: center;
  }

  .menu-item-has-children.is-submenu-open > a::after {
    transform: rotate(180deg);
  }

  /* body.mobile-menu-active {
    overflow: hidden;
  } */

  .homepage-image {
    max-width: 383px;
    left: -102.8px;
    top: 7px;
  }

  .home-intro {
    max-width: 310px;
    padding-top: 368px;
    padding-bottom: 80px;

  }

  .home-intro img {
    max-width: 278.27px;
    margin-left: auto;
    display: block;
  }

  .home-intro__description {
    text-align: right;
  }

  .projects-grid__item-title {
    font-size: 25px;
    line-height: 40px;
    padding: 20px 25px;
    padding-right: 50px;
  }

  .projects-section .container {
    padding:0;
  }

  .projects-grid__item-arrow {
    width: 15px;
    bottom: 24.5px;
  }

  .projects-intro {
    margin-bottom: 100px;
  }



  .contact-section__image {
    max-width: 272px;
  }


}

.mobile-contacts {
  display: none;
}

@media (max-width: 720px) {
   .contact-right__contacts{
    display: none;
  }



  .mobile-contacts {
    display: flex;
    flex-direction: column;
    margin-top: 110px;
    margin-left: auto;
  }

  .contact-flex__wrap {
    flex-direction: column;
  }

  .contact-left {
    max-width: 100%;
  }

  .contact-right {
    max-width: 100%;
  }

  .contact-section__image {
    max-width: 272px;
  }

  .contact-left__bottom {
    padding-bottom: 0;
  }

  .contact-right {
    padding-top: 95px;
  }

  .contact-main {
    padding-bottom: 133px;
  }

  .contact-section__image {
    top: 40px;
  }

  .contact-container {
    padding-left: 25px;
    padding-right: 25px;
  }

  .project-description__link {
    flex-wrap: wrap;
  }

  .home-animation {
    width: 450px;
    height: 450px;
    left: -110px;
    top: -81px;
  }
  .apropos-animation {
    width: 450px;
    height: 450px;
    left: -140px;
    top: -81px;
  }

  .projects-animation {
    width: 450px;
    height: 450px;
    left: -140px;
    top: -81px;
  }

  .project-inner-animation {
    width: 884.37px;
    height: 765.76px;
    top: 308px;
    left: -292px;
    transform: rotate(-25deg);
  }

  .project-annexes-animation {
    width: 884.37px;
    height: 765.76px;
    top: 308px;
    left: -292px;
    transform: rotate(-25deg);
  }

  .contact-animation {
    display: block;
    width: 643.84px;
    height: 557.03px;
    top: -205px;
    left: -212px;
    transform: rotate(-16deg);
  }
}

@media (max-width: 670px) {
  .team-list {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}



@media (max-width: 600px) {


  .home-news__list-item {
    max-width: 325px;

  }

  .agenda-inner__image img {
    height: 220px;
  }

  .home-news__list-item__image {
    height: 217px;
  }
  .partners-list__item img {
    max-width: 100%;
    width: auto;
    max-height: 92px;
  }

  .projects-grid__item {
    height: auto;
  }

  .news-inner__slider-wrap {
    max-width: unset;
    width: calc(100% + 60px);
    margin-left: -30px;
  }


}


@media (max-width: 420px) {
  .contact-question__image {
    transform: rotate(89deg);
  }

  .mobile-contacts {
    margin-top: 140px;
  }

  .face-wrap img {
    left: 50%;
  }

  .connect-mobile__wrap {
    position: relative;
  }


  .connect-image__first {
    top: 0px;
  }

  .connect-image__fourth {
    top: 80px;
  }

  .connect-image__fifth {
    top: 205px;
  }


}


