* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  outline: none;
}

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

button {
  cursor: pointer;
  border: none;
  background-color: transparent;
}

ul {
  list-style: none;
}

.primary-cta {
  display: flex;
  gap: 18px;
}

.primary-cta span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.primary-cta span.text {
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 19px;
}

.primary-cta span.icon {
  background-color: #ffffff;
  width: 50px;
  height: 50px;
}

.btn-contact.with-hover {
  position: relative;
  isolation: isolate;
}

.btn-contact.with-hover .icon-info {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 74px;
  width: max-content;
  display: flex;
  flex-direction: column;
  gap: 8px;
  opacity: 0;
  pointer-events: none;
  transition: 0.5s ease-in-out;
}

.btn-contact.with-hover:hover .icon-info {
  opacity: 1;
  pointer-events: initial;
}

.btn-contact.with-hover .icon-info span {
  display: flex;
}

.btn-contact.with-hover .icon-info span.copytext {
  gap: 10px;
}

html {
  scroll-behavior: smooth;
}

.dropdown {
  position: absolute;
  left: 0;
  top: 42px;
  padding: 12px 24px;
  background:
    linear-gradient(0deg, rgba(236, 227, 216, 0.06), rgba(236, 227, 216, 0.06)),
    #2a3436;
  border: 1px solid rgba(236, 227, 216, 0.1);
  box-shadow: 0px 10px 60px rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  opacity: 0;
  pointer-events: none;
  transition: 0.5s ease-in-out;
}

.bg-white .dropdown {
  background: #ece3d8;
  border: 1px solid rgba(42, 52, 54, 0.1);
}

.dropdown-expertises {
  width: 356px;
}

.dropdown-equipe {
  width: 225px;
}

.dropdown a {
  text-transform: initial;
  padding: 14px 0;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 17px;
  border-bottom: 1px solid #ece4d933;
}

.bg-white .dropdown a {
  border-bottom: 1px solid rgba(42, 52, 54, 0.2);
}

.bg-white .dropdown a .icon svg path {
  fill: #2a3436;
}

.dropdown object:last-of-type a {
  border-bottom: none;
}

body {
  width: 100%;
  min-height: 100vh;
  font-family: "General Sans", sans-serif;
  font-weight: 400;
  background-color: #2a3436;
  color: #ece3d8;
}

body.bg-white {
  background: linear-gradient(333.78deg, #ece3d8 -17.85%, #ffffff 161.5%);
  color: #2a3436;
}

body.single-expertise.bg-white {
  background: #ffffff;
}

body.bg-white header .logo svg path {
  fill: #2a3436;
}

body.bg-white header .menu a {
  color: #2a3436;
}

body.bg-white header .menu::after,
body.bg-white header .menu::before {
  background-color: #2a3436;
}

body.single-expertise header .menu {
  background: radial-gradient(
    57.47% 1987.38% at 50% 50%,
    #ffffff 0%,
    #ece3d8 100%
  );
}

section {
  display: flex;
  flex-direction: column;
}

.container {
  width: 1440px;
  max-width: 100%;
  padding: 0 15px;
  margin: 0 auto;
}

section.page-modele {
  padding-top: 281px;
}

/* 
** Start Header
*/
header {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 15;
}
header .header-container {
  width: 100%;
}
header .logo {
  width: 100%;
  padding: 20px;
  display: flex;
}
header .logo svg {
  width: 100%;
  height: auto;
}
header .menu {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 0 20px;
  position: relative;
  isolation: isolate;
}
header .menu::after,
header .menu::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ece3d8;
  opacity: 0.1;
}
header .menu::after {
  top: 0;
}
header .menu::before {
  bottom: 0;
}
header .menu > a {
  padding: 10px 0;
  font-size: 16px;
  line-height: 22px;
  text-transform: uppercase;
  color: #ece3d8;
  position: relative;
  isolation: isolate;
}

header .menu a:hover .dropdown {
  opacity: 1;
  pointer-events: auto;
}

body.is-loading {
  overflow: hidden;
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  display: flex;
  overflow: hidden;
  /* display: none; */
}

.loading-logo {
  position: absolute;
  width: 157px;
  height: auto;
}

.loading-logo svg {
  width: 100%;
  height: auto;
}

/* 
** Start Home
*/

.home-template .label,
.teams-section .label {
  padding: 4px 8px;
  border-radius: 50px;
  background-color: #ece3d8;
  font-weight: 500;
  font-size: 12px;
  line-height: 16px;
  text-transform: uppercase;
  color: #2a3436;
  width: -moz-fit-content;
  width: fit-content;
}
.home-template .hero-section {
  min-height: calc(100dvh - 281px); /* 281px height of Header */
  display: flex;
  align-items: flex-end;
  position: relative;
  isolation: isolate;
  /* background-color: #2a3436; */
}

.home-template .hero-section .hero-shape {
  content: "";
  position: absolute;
  left: 0;
  top: -281px;
  width: 100%;
  height: 100vh;
  z-index: -1;
  opacity: 0.2;
}

.home-template .hero-section .content {
  padding-bottom: 35px;
  padding-left: 5px;
  padding-right: 5px;
}
.home-template .hero-section h1 {
  font-weight: 500;
  font-size: 48px;
  line-height: 65px;
}
.home-template .hero-section p {
  font-weight: 300;
  font-size: 48px;
  line-height: 65px;
}
.home-template .hero-section .scroll-down {
  position: absolute;
  right: 20px;
  bottom: 35px;
}
.home-template .manifeste-section {
  padding: 72px 0 108px 0;
  position: relative;
  isolation: isolate;
  background-color: #ece3d8;
}
.home-template .manifeste-section:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(103.87deg, #ffffff 12.74%, #ece3d8 93.38%);
  width: 100%;
  height: 100%;
  z-index: -1;
}

.home-template .manifeste-section .content {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
  padding: 0 5px;
  width: 1357px;
  max-width: 100%;
}
.home-template .manifeste-section .intro {
  width: 791px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 27px;
}
.home-template .manifeste-section .intro p {
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 300;
  font-size: 40px;
  line-height: 48px;
  color: #2a3436;
  max-width: 604px;
}
.home-template .manifeste-section .description {
  width: 536px;
  padding-left: 83px;
  padding-top: 242px;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.home-template .manifeste-section .description::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background: #2a3436;
  opacity: 0.3;
}
.home-template .manifeste-section .description p {
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 26px;
  color: #2a3436;
  max-width: 453px;
}
.home-template .expertises-section {
  padding: 71px 0 20px 0;
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("data:image/svg+xml,%3Csvg width='1440' height='606' viewBox='0 0 1440 606' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_3003_814' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='1440' height='606'%3E%3Crect width='1440' height='606' fill='%232A3436'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_3003_814)'%3E%3Crect y='-723' width='1440' height='1933' fill='%23ECE3D8'/%3E%3Crect width='1440' height='606' fill='%232A3436'/%3E%3Cg clip-path='url(%23paint0_angular_3003_814_clip_path)' data-figma-skip-parse='true'%3E%3Cg transform='matrix(-0.791 -8.22384e-09 4.65814e-08 0.6645 1511 0.524568)'%3E%3CforeignObject x='-1090.33' y='-1090.33' width='2180.66' height='2180.66'%3E%3Cdiv xmlns='http://www.w3.org/1999/xhtml' style='background:conic-gradient(from 90deg,rgba(236, 227, 216, 0) 0deg,rgba(253, 247, 241, 1) 360deg);height:100%25;width:100%25;opacity:1'%3E%3C/div%3E%3C/foreignObject%3E%3C/g%3E%3C/g%3E%3Crect opacity='0.9' width='1329' height='1582' transform='matrix(2.30012e-08 -1 -1 -8.30691e-08 2302 606)' data-figma-gradient-fill='%7B&%2334;type&%2334;:&%2334;GRADIENT_ANGULAR&%2334;,&%2334;stops&%2334;:%5B%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.92549020051956177,&%2334;g&%2334;:0.89019608497619629,&%2334;b&%2334;:0.84705883264541626,&%2334;a&%2334;:0.0%7D,&%2334;position&%2334;:0.0%7D,%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.99215686321258545,&%2334;g&%2334;:0.96862745285034180,&%2334;b&%2334;:0.94509804248809814,&%2334;a&%2334;:1.0%7D,&%2334;position&%2334;:1.0%7D%5D,&%2334;stopsVar&%2334;:%5B%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.92549020051956177,&%2334;g&%2334;:0.89019608497619629,&%2334;b&%2334;:0.84705883264541626,&%2334;a&%2334;:0.0%7D,&%2334;position&%2334;:0.0%7D,%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.99215686321258545,&%2334;g&%2334;:0.96862745285034180,&%2334;b&%2334;:0.94509804248809814,&%2334;a&%2334;:1.0%7D,&%2334;position&%2334;:1.0%7D%5D,&%2334;transform&%2334;:%7B&%2334;m00&%2334;:-1582.0,&%2334;m01&%2334;:9.3162787379696965e-05,&%2334;m02&%2334;:2302.0007324218750,&%2334;m10&%2334;:-1.6447687812615186e-05,&%2334;m11&%2334;:1328.9998779296875,&%2334;m12&%2334;:-663.9753417968750%7D,&%2334;opacity&%2334;:1.0,&%2334;blendMode&%2334;:&%2334;NORMAL&%2334;,&%2334;visible&%2334;:true%7D'/%3E%3Cg clip-path='url(%23paint1_angular_3003_814_clip_path)' data-figma-skip-parse='true'%3E%3Cg transform='matrix(0.692 0 -3.88384e-08 0.6645 27.9993 0.524577)'%3E%3CforeignObject x='-1090.33' y='-1090.33' width='2180.66' height='2180.66'%3E%3Cdiv xmlns='http://www.w3.org/1999/xhtml' style='background:conic-gradient(from 90deg,rgba(236, 227, 216, 0) 0deg,rgba(252, 247, 240, 1) 360deg);height:100%25;width:100%25;opacity:1'%3E%3C/div%3E%3C/foreignObject%3E%3C/g%3E%3C/g%3E%3Crect opacity='0.9' x='-664' y='606' width='1329' height='1384' transform='rotate(-90 -664 606)' data-figma-gradient-fill='%7B&%2334;type&%2334;:&%2334;GRADIENT_ANGULAR&%2334;,&%2334;stops&%2334;:%5B%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.92549020051956177,&%2334;g&%2334;:0.89019608497619629,&%2334;b&%2334;:0.84705883264541626,&%2334;a&%2334;:0.0%7D,&%2334;position&%2334;:0.0%7D,%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.99079775810241699,&%2334;g&%2334;:0.96953803300857544,&%2334;b&%2334;:0.94355404376983643,&%2334;a&%2334;:1.0%7D,&%2334;position&%2334;:1.0%7D%5D,&%2334;stopsVar&%2334;:%5B%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.92549020051956177,&%2334;g&%2334;:0.89019608497619629,&%2334;b&%2334;:0.84705883264541626,&%2334;a&%2334;:0.0%7D,&%2334;position&%2334;:0.0%7D,%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.99079775810241699,&%2334;g&%2334;:0.96953803300857544,&%2334;b&%2334;:0.94355404376983643,&%2334;a&%2334;:1.0%7D,&%2334;position&%2334;:1.0%7D%5D,&%2334;transform&%2334;:%7B&%2334;m00&%2334;:1384.0,&%2334;m01&%2334;:-7.7676821092609316e-05,&%2334;m02&%2334;:-664.00067138671875,&%2334;m10&%2334;:9.1533811780175611e-13,&%2334;m11&%2334;:1328.9998779296875,&%2334;m12&%2334;:-663.9753417968750%7D,&%2334;opacity&%2334;:1.0,&%2334;blendMode&%2334;:&%2334;NORMAL&%2334;,&%2334;visible&%2334;:true%7D'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='paint0_angular_3003_814_clip_path'%3E%3Crect opacity='0.9' width='1329' height='1582' transform='matrix(2.30012e-08 -1 -1 -8.30691e-08 2302 606)'/%3E%3C/clipPath%3E%3CclipPath id='paint1_angular_3003_814_clip_path'%3E%3Crect opacity='0.9' x='-664' y='606' width='1329' height='1384' transform='rotate(-90 -664 606)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}

.home-template .expertises-section .content {
  padding: 0 8px;
  display: flex;
  flex-direction: column;
  gap: 75px;
}
.home-template .expertises-section .intro .label {
  font-family: "General Sans", sans-serif;
  margin-right: 4px;
  position: relative;
  top: -7px;
}
.home-template .expertises-section .intro p {
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 300;
  font-size: 40px;
  line-height: 48px;
  color: #ece3d8;
  max-width: 678px;
}
.home-template .expertises-section .expertises-items {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.home-template .expertises-section .expertises-items .item {
  width: calc((100% - 20px) / 5);
  min-height: 292px;
  padding: 20px;
  background: transparent;
  border: 1px solid #ece4d933;
  box-shadow: 0px 10px 40px #00000033;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: 0.5s ease-in-out;
}

.home-template .expertises-section .expertises-items .item.item-hover:hover {
  background: #2a3436;
}

.home-template .expertises-section .expertises-items h2 {
  font-style: normal;
  font-weight: 400;
  font-size: 22px;
  line-height: 26px;
  color: #ece3d8;
}
.home-template .expertises-section .expertises-items .read-more-btn {
  width: 50px;
  height: 50px;
  background: rgba(236, 227, 216, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.5s ease-in-out;
}

.home-template
  .expertises-section
  .expertises-items
  .item.item-hover
  .read-more-btn
  svg {
  transition: 0.5s ease-in-out;
}

.home-template
  .expertises-section
  .expertises-items
  .item.item-hover:hover
  .read-more-btn
  svg {
  transform: rotate(45deg);
}

.home-template
  .expertises-section
  .expertises-items
  .item.item-hover:hover
  .read-more-btn
  svg
  path {
  fill: #2a3436;
}

.home-template
  .expertises-section
  .expertises-items
  .item.item-hover
  .read-more-btn
  svg
  path {
  transition: 0.5s ease-in-out;
}

.home-template
  .expertises-section
  .expertises-items
  .item.item-hover:hover
  .read-more-btn {
  background-color: #ece3d8;
}

.home-template .expertises-section .expertises-items .links {
  display: flex;
  flex-direction: column;
  padding-bottom: 23px;
}
.home-template .expertises-section .expertises-items .links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(236, 227, 216, 0.1019607843);
  font-style: normal;
  font-weight: 300;
  font-size: 14px;
  line-height: 17px;
  text-transform: uppercase;
  color: #ece3d8;
  padding-top: 10px;
  padding-bottom: 20px;
}
.home-template .expertises-section .expertises-items .links a span {
  display: flex;
}
.home-template .expertises-section .expertises-items .links a span.text {
  width: calc(100% - 15px);
}
.home-template .expertises-section .expertises-items .links a span.icon {
  transition: 0.5s ease-in-out;
}

.home-template .expertises-section .expertises-items .links a:hover span.icon {
  transform: rotate(45deg);
}
.home-template
  .expertises-section
  .expertises-items
  .links
  a:not(:first-child) {
  padding-top: 20px;
}
.teams-section {
  padding: 5px;
  position: relative;
  isolation: isolate;
  background-color: #2a3436;
}
.teams-section .container {
  padding: 0;
}
.teams-section .content {
  display: flex;
  background-color: #ece3d8;
}
.teams-section .label {
  background-color: #ffffff;
  color: #2a3436;
}
.teams-section .team-items .item .read-more-btn svg {
  transition: 0.5s ease-in-out;
}

.teams-section .team-items .item:hover .read-more-btn svg {
  transform: rotate(90deg);
}
body.single-expertise .teams-section .label {
  background-color: #2a3436;
  color: #ece3d8;
}

.teams-section .intro {
  width: 50%;
  padding: 10px;
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
}

.teams-section .intro .intro-wrapper {
  gap: 95px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.teams-section .intro::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: conic-gradient(
    from 180deg at 50% 50%,
    #ffffff 0deg,
    #ece3d8 360deg
  );
  z-index: -1;
  opacity: 0.6;
}
.teams-section .intro p {
  max-width: 449px;
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 300;
  font-size: 34px;
  line-height: 44px;
  text-align: center;
  color: #2a3436;
}
.teams-section .intro p span {
  font-weight: 400;
}
.teams-section .team-items {
  width: 50%;
  display: flex;
  justify-content: center;
  gap: 0;
  padding: 10px;
}
.teams-section .team-items .item {
  position: relative;
  isolation: isolate;
  height: 573px;
  width: 50%;
  overflow: hidden;
}
.teams-section .team-items .item .image {
  width: 100%;
  height: 100%;
}
.teams-section .team-items .item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.teams-section .team-items .item .info {
  width: 100%;
  position: absolute;
  bottom: 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 23px;
}
.teams-section .team-items .item h2 {
  width: calc(100% - 49px);
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 400;
  font-size: 28px;
  line-height: 36px;
  color: #ece3d8;
}
.teams-section .team-items .item .read-more-btn {
  width: 49px;
  height: 49px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
}
.contact-section {
  overflow: hidden;
  position: relative;
  isolation: isolate;
  background-color: #ece3d8;
  color: #262f31;
  padding: 30px 0 36px 0;
}
.contact-section::after {
  content: "";
  position: absolute;
  left: 0;
  top: -163px;
  height: calc(100% + 163px);
  width: 100%;
  background: conic-gradient(
    from 180deg at 50% 55%,
    #ece3d8 0deg,
    rgba(255, 255, 255, 0.6) 360deg
  );
  z-index: -1;
  transform: scaleY(-1);
}
.contact-section .content {
  padding: 0 5px;
  display: flex;
  gap: 100px 0;
  flex-wrap: wrap;
}
.contact-section .title {
  width: 50%;
}
.contact-section .title h2 {
  font-style: normal;
  font-weight: 500;
  font-size: 48px;
  line-height: 65px;
}
.contact-section .info {
  width: 50%;
  padding-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 38px;
  padding-left: 28px;
}
.contact-section .info .item {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.contact-section .info h3 {
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 22px;
  color: #2a3436;
  opacity: 0.5;
}
.contact-section .info a {
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 22px;
  color: #2a3436;
}
.contact-section .contact-from {
  width: 100%;
}
.contact-section form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contact-section form .form-group .wpcf7-form-control-wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.contact-section form .form-group .wpcf7-not-valid-tip {
  font-size: 14px !important;
}

.contact-section .wpcf7 form .wpcf7-response-output {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
}

.contact-section form .form-group:not(.form-group-submit) {
  width: calc(50% - 5px);
}
.contact-section form .form-group:not(.form-group-submit) input,
.contact-section form .form-group:not(.form-group-submit) textarea {
  padding: 16px;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: none;
  border-radius: 0;
  resize: none;
  font-family: inherit;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  color: #2a3436;
  background: rgba(255, 255, 255, 0.5019607843);
}
.contact-section
  form
  .form-group:not(.form-group-submit)
  input::-webkit-input-placeholder,
.contact-section
  form
  .form-group:not(.form-group-submit)
  textarea::-webkit-input-placeholder {
  color: #2a3436;
}
.contact-section
  form
  .form-group:not(.form-group-submit)
  input::-moz-placeholder,
.contact-section
  form
  .form-group:not(.form-group-submit)
  textarea::-moz-placeholder {
  color: #2a3436;
}
.contact-section
  form
  .form-group:not(.form-group-submit)
  input:-ms-input-placeholder,
.contact-section
  form
  .form-group:not(.form-group-submit)
  textarea:-ms-input-placeholder {
  color: #2a3436;
}
.contact-section
  form
  .form-group:not(.form-group-submit)
  input:-moz-placeholder,
.contact-section
  form
  .form-group:not(.form-group-submit)
  textarea:-moz-placeholder {
  color: #2a3436;
}
.contact-section form .form-group:not(.form-group-submit).w-full {
  width: 100%;
}
.contact-section form .form-group-submit {
  width: 100%;
  min-height: 64px;
}
.contact-section form .form-group-submit button {
  width: 100%;
  height: 100%;
  background-color: #2a3436;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  color: #ece3d8;
}

.contact-section form .group-check {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 15px;
}

.contact-section form .group-check .wpcf7-list-item {
  margin: 0;
}

.contact-section form .group-check label {
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 24px;
  color: #000000;
  padding-left: 30px;
  margin-bottom: 0;
  cursor: pointer;
}

.contact-section form .group-check label a {
  text-decoration: underline;
}

.contact-section form input[type="checkbox"] {
  position: absolute;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 0;
  border: 1px solid #2a3436;
  background-color: #f8fafc4d;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact-section form input[type="checkbox"]::after {
  content: "";
  position: absolute;
  left: 1px;
  width: 100%;
  height: 50%;
  border-radius: 4px;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='8' viewBox='0 0 11 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.91927 0.582031L3.5026 6.9987L0.585938 4.08203' stroke='black' stroke-width='1.16667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.contact-section form input[type="checkbox"]:checked:after {
  opacity: 1;
  visibility: visible;
}

/* 
** Start Priavcy Template
*/

.privacy-template {
  padding: 98px 0;
}

.privacy-template .content {
  width: 1101px;
  max-width: 100%;
  margin: 0 auto;
}

.privacy-template .content .intro {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 66px;
}

.privacy-template h1 {
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 300;
  font-size: 50px;
  line-height: 60px;
  color: #ece3d8;
}

.privacy-template .primary-cta span.icon {
  background-color: #ece4d90f;
}

.privacy-template .primary-cta span.icon svg path {
  fill: #ece3d8;
}

.privacy-template .description {
  padding: 68px 20px;
  background:
    linear-gradient(0deg, rgba(236, 227, 216, 0.06), rgba(236, 227, 216, 0.06)),
    #2a3436;
  box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.2);
}

.privacy-template .description .description-wrapper {
  width: 867px;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
}

.privacy-template .description .description-wrapper p:first-child {
  margin-bottom: 13px;
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
}

.privacy-template .description .description-wrapper a {
  text-decoration: underline;
  font-weight: 600;
  text-underline-offset: 2px;
}

.privacy-template .description .description-wrapper h2 {
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
}

/* 
** Start 404
*/

.not-found-template {
  min-height: 760px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.not-found-template .container {
  overflow: hidden;
}

.not-found-template .shape {
  position: absolute;
  bottom: 0;
  left: -68px;
  z-index: -1;
  display: flex;
  width: 952px;
  max-width: 100%;
}

.not-found-template .shape svg {
  width: 100%;
  height: auto;
}

.not-found-template .content {
  padding-top: 115px;
  width: 1036px;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.not-found-template .info {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.not-found-template .info h1 {
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 22px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.not-found-template .info p {
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 300;
  font-size: 40px;
}

/* 
** Start Footer
*/
footer {
  background-color: #2a3436;
}

footer .footer-container {
  padding: 30px 20px;
}
footer .footer-info {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
footer .footer-info .info {
  display: flex;
  font-weight: 400;
  font-size: 14px;
  line-height: 17px;
  color: #ece3d8;
}

/*
** Start Single Team
*/

.accordion {
  max-width: 100%;
}
.accordion .accordion-item {
  border-bottom: 1px solid #2a35371a;
}
.accordion .accordion-item .accordion-header {
  width: 100%;
  padding: 20px 0 10px 0;
  text-transform: uppercase;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 11px;
  cursor: pointer;
  font-style: normal;
  font-weight: 400;
  font-size: 22px;
  line-height: 26px;
  color: #2a3436;
}
.accordion .accordion-item .accordion-header span {
  display: flex;
}
.accordion .accordion-item .accordion-header .icon {
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  background-color: #fdf7f1;
}

.accordion .accordion-item .accordion-header .icon svg {
  transition: transform 0.5s ease-in-out;
}

.accordion .accordion-item .accordion-header .text {
  width: calc(100% - 35px);
}
.accordion .accordion-item .accordion-content {
  height: 0;
  overflow: hidden;
  padding-top: 10px;
  transition: 0.5s ease-in-out;
  display: flex;
  flex-direction: column;
  gap: 18px;
  font-style: normal;
  font-weight: 300;
  font-size: 16px;
  line-height: 21px;
  color: #2a3436;
  border-top: 1px solid #2a353700;
}
.accordion .accordion-item .accordion-content strong {
  font-weight: 500;
}
.accordion .accordion-item.active .accordion-header .icon svg {
  transform: rotate(180deg);
}
.accordion .accordion-item.active .accordion-content {
  padding-top: 18px;
  padding-bottom: 24px;
  border-top: 1px solid #2a35371a;
}

.single-team-template .hero-section {
  background-color: #2a3436;
  position: relative;
  isolation: isolate;
  min-height: calc(100dvh - 281px);
  padding-bottom: 151px;
}

.single-team-template .hero-section .expertises-slides {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 70px 0 50px 0;
  background-color: #2a3436;
  width: 100%;
  overflow: hidden;
}

.single-team-template .hero-section .expertises-slides .splide__slide {
  width: fit-content !important;
  padding: 0 30px;
  border-left: 1px solid #ece3d833;
}

.single-team-template .hero-section .expertises-slides h2 {
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 400;
  font-size: 26px;
  line-height: 31px;
  color: #ece3d8;
}

.single-team-template .hero-section::after {
  content: "";
  position: absolute;
  left: 0;
  top: -281px;
  background: conic-gradient(
    from 180deg at 5.8% 40.13%,
    #2a3436 0deg,
    #ece3d8 360deg
  );
  z-index: -1;
  width: 100%;
  height: calc(100% + 281px);
  opacity: 0.15;
}

.single-team-template .hero-section .content {
  display: flex;
  width: 1346px;
  max-width: 100%;
  margin-left: auto;
  margin-top: 98px;
  margin-bottom: 35px;
}

.single-team-template .hero-section .content .info {
  padding-left: 87px;
}

.single-team-template .hero-section h1 {
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 300;
  font-size: 50px;
  line-height: 60px;
  color: #ece3d8;
  margin-bottom: 22px;
}

.single-team-template .hero-section .status {
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 27px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ece3d8;
  margin-bottom: 30px;
}

.single-team-template .hero-section .bio-contact {
  display: flex;
  gap: 20px;
}

.single-team-template .hero-section .bio-contact .btn-contact {
  display: flex;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: #ece3d8;
}

.single-team-template .hero-section .bio-contact .btn-contact span.icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.single-team-template .hero-section .excerpt {
  font-style: normal;
  font-weight: 400;
  font-size: 22px;
  line-height: 33px;
  letter-spacing: 0.02em;
  color: #ece3d8;
  margin-top: 95px;
}

.single-team-template .hero-section .excerpt p {
  max-width: 604px;
}

.single-team-template .bio-section {
  background-color: #ece3d8;
  color: #2a3436;
  padding-bottom: 60px;
}

.single-team-template .bio-section .content {
  display: flex;
  justify-content: space-between;
  width: 1346px;
  max-width: 100%;
  margin-left: auto;
}

.single-team-template .bio-section .bio-wrapper {
  display: flex;
  flex-direction: column;
  width: 764px;
  padding: 50px;
  border: 2px solid #ffffff80;
  background: #ffffff4d;
  gap: 50px;
  margin-top: 60px;
}

.single-team-template .bio-section .description {
  display: flex;
  flex-direction: column;
  gap: 30px;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 27px;
  letter-spacing: 0.02em;
  color: #2a3436;
}

.single-team-template .bio-section .bio-profile {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 518px;
  height: fit-content;
  position: sticky;
  top: 0;
  margin-right: -15px;
}

.single-team-template .bio-section .image {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100vh;
}

.single-team-template .bio-section .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/*
** Single Expertise
*/

.single-expertise-template {
  color: #2a3436;
  overflow: hidden;
  background-color: #f0e9e1;
}

.single-expertise-template .hero-section .content {
  width: 1053px;
  max-width: 100%;
  margin: 0 auto;
}

.single-expertise-template .hero-section .title {
  padding-top: 44px;
  padding-bottom: 56px;
}

.single-expertise-template .hero-section h1 {
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 300;
  font-size: 50px;
  line-height: 60px;
}

.single-expertise-template .description {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding-top: 65px;
  padding-bottom: 105px;
}

.single-expertise-template .description .left {
  width: 152px;
  display: flex;
  flex-direction: column;
  gap: 75px;
  height: fit-content;
}

.single-expertise-template .description .right {
  width: 790px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.single-expertise-template .description {
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.02em;
  position: relative;
  isolation: isolate;
}

.single-expertise-template .description::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #f7f3ee;
  width: 100vw;
  height: 100%;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  z-index: -1;
}

.single-expertise-template .description h2 {
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0.02em;
}

.single-expertise-template .description .share {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.single-expertise-template .description .share a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 14px;
  letter-spacing: 0.05em;
  color: #2a353780;
  cursor: pointer;
  transition: 0.5s ease-in-out;
}

.single-expertise-template .description .share a:hover {
  color: #2a3537;
}

.single-expertise-template .description .share a span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.single-expertise-template .description .share a span.icon {
  width: 24px;
  height: 24px;
}

.single-expertise-template .description .arrows {
  display: flex;
  gap: 10px;
}

.single-expertise-template .description .arrow {
  width: 50px;
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ece3d8;
  transition: 0.5s ease-in-out;
}

.single-expertise-template .description .arrow svg path {
  transition: 0.5s ease-in-out;
}

.single-expertise-template .description .arrow:hover {
  background-color: #2a3436;
}

.single-expertise-template .description .arrow:hover svg path {
  stroke: #ece3d8;
}

.single-expertise-template .description .related-teams {
  margin-top: 20px;
  padding-top: 35px;
  border-top: 1px solid #2a35374d;
}

.single-expertise-template .description .related-teams h3 {
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0.02em;
  color: #2a3436;
  margin-bottom: 20px;
}

.single-expertise-template .description .related-teams .items {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.single-expertise-template .description .related-teams .items a {
  display: flex;
}

.single-expertise-template .description .related-teams .items .team-name {
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
  color: #2a3436;
}

.single-expertise-template .description .related-teams .items .team-status {
  font-style: normal;
  font-weight: 300;
  font-size: 16px;
  line-height: 22px;
  color: #2a3436;
}

.single-expertise-template .interventions-section {
  padding: 30px 7px;
  background-color: #2a3436;
  color: #ece3d8;
}

.single-expertise-template .interventions-section .content {
  display: flex;
  width: 1215px;
  max-width: 100%;
  margin: 0 auto;
  gap: 130px;
  padding: 70px 0;
}

.single-expertise-template .interventions-section .interventions-title {
  width: 435px;
}

.single-expertise-template .interventions-section .interventions-title h2 {
  font-family: "ivyora-display";
  font-style: normal;
  font-weight: 300;
  font-size: 40px;
  line-height: 48px;
  color: #ece3d8;
}

.single-expertise-template .interventions-section .items {
  width: 562px;
  padding-left: 50px;
  border-left: 1px solid #ece3d8;
  display: flex;
  flex-direction: column;
  gap: 19px;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 22px;
  letter-spacing: 0.02em;
}

/** Start Animation Hero **/

.lottie-animation {
  position: absolute;
  top: 0;
  z-index: -1;
}

/** End Animation Hero **/

/** Start Hover Line **/

a.hoverLine {
  position: relative;
  transition: 0.5s;
}

a.hoverLine:before,
a.hoverLine:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  right: 0;
  bottom: 0;
  background: #2a3436;
}
a.hoverLine:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  right: 0;
  bottom: 0;
  background: #2a3436;
}
a.hoverLine:before {
  transform: scaleX(0);
  transform-origin: left center;
  transition:
    0.6s transform cubic-bezier(0.55, 0, 0.1, 1),
    0.6s width cubic-bezier(0.55, 0, 0.1, 1);
}
a.hoverLine:after {
  transform: scaleX(calc(1 * var(--line)));
  transform-origin: right center;
  transition:
    0.6s transform cubic-bezier(0.55, 0, 0.1, 1),
    0.6s width cubic-bezier(0.55, 0, 0.1, 1);
}
a.hoverLine:hover:before {
  transform: scaleX(1);
  transition:
    0.6s transform 0.3s cubic-bezier(0.55, 0, 0.1, 1),
    0.6s width cubic-bezier(0.55, 0, 0.1, 1);
}
a.hoverLine:hover:after {
  transform: scaleX(0);
  transition:
    0.6s transform cubic-bezier(0.55, 0, 0.1, 1),
    0.6s width cubic-bezier(0.55, 0, 0.1, 1);
}

.related-teams .items a:after,
header .related-teams .items a:before {
  background-color: #2a3436;
  opacity: 0;
}

.related-teams .items a:hover:after,
.related-teams .items a:hover:before {
  opacity: 1;
}

/** End Hover Line **/
