/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 15 2025 | 08:00:04 */
@font-face {
  font-family: 'Capian regular';
  src: url('/wp-content/themes/uncode-child/fonts/Capian-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Capian bold';
  src: url('/wp-content/themes/uncode-child/fonts/Capian-Bold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
}
.header-wrapper {
	max-height: 167px!important;
	overflow: auto!important;
}
body {
  margin: 0;
  font-family: 'Capian regular', sans-serif;
}

header {
  padding: 1rem!important;
  text-align: left!important;
  z-index: 5!important;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 959px) {
	header {
		position: relative;
		padding: 0!important;
	}
	.centered_mobile {
		position: absolute!important;
		left: 50%;
		transform: translateX(-50%);
	}
}

.burger {
  background: none!important;
  border: none!important;
  font-size: 1.2rem!important;
  cursor: pointer!important;
  color: #FFF!important;
}
.lines {
	font-size: 1.6rem!important;
	margin-right: 10px;
}
/* bouton */
.contact_link {
  --r: 20px;      /* rayon externe du bouton */
  --b: 1px;       /* épaisseur de l’ancienne bordure */
  color:#fff!important;
  font:400 16px "Onest";
  padding:20px 26px;
  border:var(--b) solid #fff;
  border-radius:var(--r);
  text-transform:uppercase;
  position:relative;
  display:inline-block;
}

/* cache la bordure statique au hover */
.contact_link.rb:hover,
.contact_link.rb:focus-visible{
  border-color:transparent;
}

/* overlay SVG en pixels, centré sur l’ancienne bordure */
.contact_link .rb-ring{
  position:absolute;
  /* on agrandit de b/2 pour que le TRAIT soit centré sur l’ancienne bordure */
  inset: calc(var(--b) / -2);
  width: calc(100% + var(--b));
  height: calc(100% + var(--b));
  pointer-events:none;
  z-index:1;
  overflow:visible;
}

/* trait animé */
.contact_link .rb-ring .arc{
  /* centre du trait = ancienne bordure */
  stroke:#fff;
  stroke-width: var(--b);
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  /* rayon du RECT = r + b/2 car on a agrandi le SVG de b/2 */
  rx: calc(var(--r) + var(--b)/2);
  ry: calc(var(--r) + var(--b)/2);

  /* arc visible + reste vide, longueur normalisée à 100 */
  stroke-dasharray: 20 100;
  stroke-dashoffset: 0;
  opacity:0;
  transition: opacity .2s linear;
}

.contact_link.rb:hover .rb-ring .arc,
.contact_link.rb:focus-visible .rb-ring .arc{
  opacity:1;
  animation: ring-spin 1.1s linear infinite;
}

@keyframes ring-spin{ to{ stroke-dashoffset:-100; } }

@media (prefers-reduced-motion:reduce){
  .contact_link.rb:hover .rb-ring .arc,
  .contact_link.rb:focus-visible .rb-ring .arc{
    animation:none; opacity:1;
  }
}


.menu-overlay {
  position: fixed!important;
  top: 0!important;
  left: 0!important;
  width: 100%!important;
  height: 100%!important;
  display: flex!important;
  z-index: 999!important;
  transform: translateX(-100%)!important;
  opacity: 0!important;
  pointer-events: none!important;
  transition: transform 0.5s ease, opacity 0.5s ease!important;
  }
  
.menu-overlay.active {
  transform: translateX(0)!important;
  opacity: 1!important;
  pointer-events: auto!important;
}
  
.menu-overlay.closing {
  transform: translateX(-100%)!important;
  opacity: 0!important;
  pointer-events: none!important;
}

.menu-container {
  display: flex!important;
  width: 100%!important;
  height: 100%!important;
}

.menu-left {
  flex: 1!important;
  padding: 2rem!important;
  padding-left: 90px!important;
  padding-right: 60px!important;
  background-color: #20294F!important;
  display: flex!important;
  flex-direction: column!important;
  padding-top: 90px !important;
}

.close {
  background: none!important;
  border: none!important;
  color: #FFF!important;
  font-size: 1.2rem!important;
  margin-bottom: 2rem!important;
  cursor: pointer!important;
  align-self: flex-start!important;
}
.close span {
  margin-right: 20px!important;
}

nav ul {
  list-style: none!important;
  padding: 0!important;
  display: inline-flex!important;
  flex-direction: column!important;
  gap: 60px!important;
  color: #FFF!important;
  width: 50%!important;
}

nav ul li {
  cursor: pointer!important;
  display: flex!important;
  align-items: flex-start!important;
  justify-content: flex-start!important;
  gap: 30px!important;
  position: relative!important;
}
#menu-main-menu-1 > .menu-item > a:hover {
  font-weight: 800!important;
}

nav ul li a {
  color: #FFF!important;
  text-decoration: none!important;
  font-size: inherit!important;
  line-height: inherit!important;
  display: inline-block!important;
}


.menu-item span {
  font-size: 14px!important;
  line-height: 20px!important;
}

.menu > .menu-item > a {
  position: relative!important;
}
/* Flèche sur les parents */
.menu > .menu-item > a::after {
  position: absolute!important;
  content: '';
  display: inline-block!important;
  width: 40px!important;
  height: 2px!important;
  top: calc( 50% - 1px )!important;
  left: calc(100% + 20px)!important;
  background: #FFF!important;
  transform-origin: left!important;
  transition: width 0.3s ease!important;
}

.menu > .menu-item > a:hover::after {
  width: 120px!important;
}

/* SOUS-MENUS */
.menu-item-has-children {
  position: relative!important;
}

.sub-menu {
  position: fixed!important;
  top: 0!important;
  right: 0!important;
  height: 100vh!important;
  width: calc(50% - 80px)!important;
  background-color: #2A4395!important;
  padding: 180px 77px!important;
  opacity: 0!important;
  transform: translateX(50px)!important; 
  transition: opacity 0.5s ease, transform 0.5s ease!important;
  pointer-events: none!important;
  display: flex!important;
  flex-direction: column!important;
  justify-content: flex-start!important;
  gap: 30px!important;
  z-index: 1000!important;
}

.menu-item-has-children.active > .sub-menu {
  opacity: 1!important;
  transform: translateX(0)!important;
  pointer-events: auto;
}

.sub-menu:before {
  position: absolute!important;
  content: '';
  background-image: url('/wp-content/uploads/2025/07/sardinlogosvg.svg')!important;
  background-repeat: no-repeat!important;
  background-size: contain!important;
  width: 174px!important;
  height: 28px!important;
  top: 55px!important;
  right: 47px!important;
}
@media screen and (max-width: 959px) {
	.sub-menu:before {
		top: 79px !important;
  		right: calc( 50% - 87px ) !important;
	}
	.hover-icon {
		display: none!important;
	}
}
/* .sub-menu:after {
  position: absolute;
  content: '';
  background-image: url('img/s.svg');
  background-repeat: no-repeat;
  background-size: contain;
  width: 650px;
  height: 493px;
  top: calc(50% - 209px);
  right: -129px;
} */

.sub-menu li a {
  pointer-events: stroke!important;
  color: #FFF!important;
  font-family: sans-serif!important;
  text-decoration: none!important;
  position: relative!important;
  display: inline-flex!important;
  align-items: center!important;
  gap: 10px!important;
  max-width: 400px!important;
}
.hover-icon {
  position: absolute!important;
  top: 50%!important;
  right: -63px!important;
  transform: translateY(-50%)!important;
  width: 42px!important;
  height: 41px!important;
}

.sub-menu li a:hover {
  font-weight: 400!important;
}

.menu-item-has-children:not(.active) > .sub-menu {
  visibility: hidden!important;
  opacity: 0!important;
  pointer-events: none!important;
}



/* .sub-menu li a::after {
  content: '';
  position: absolute;
  top: calc( 50% - 21px );
  right: -63px;
  width: 41px;
  height: 41px;
  background-image: url('img/arrow_sub.svg');
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0;
  transition: all 0.2s ease-in-out;
}

.sub-menu li a:hover::after {
  opacity: 1;
} */



/* (Optionnel) cache sous-menu sur mobile vertical si besoin
@media (max-width: 768px) {
  .sub-menu {
    position: static;
    width: 100%;
    height: auto;
    opacity: 1 !important;
    pointer-events: auto;
  }
}
*/
@media screen and (max-height: 900px) {
  nav ul {
   gap: 30px!important;
  }
}
@media screen and (max-height: 800px) {
   nav ul {
    gap: 15px!important;
   }
}

@media screen and (min-width: 960px) {
  nav ul li {
    font-size: 30px!important;
    line-height: 50px!important;
  }
  .sub-menu li a {
    font-size: 18px!important;
    line-height: 26px!important;
  }
  .sub-svg {
    top: calc(50% - 30px)!important;
    right: -48px!important;
  }
  .sub-svg svg {
    width: 300px!important;
    height: 260px!important;
  }
}
@media screen and (min-width: 1100px) {
  .sub-menu {
    width: calc(50% - 115px)!important;
  }
  nav ul li {
    font-size: 44px!important;
    line-height: 52px!important;
  }
  .sub-menu li a {
    font-size: 22px!important;
    line-height: 30px!important;
  }
  .sub-svg {
    top: calc(50% - 140px)!important;
    right: -68px!important;
  }
  .sub-svg svg {
    width: 400px!important;
    height: 360px!important;
  }
}
@media screen and (min-width: 1440px) {
  .sub-menu {
    width: calc(50% - 115px)!important;
  }
  nav ul li {
    font-size: 55px!important;
    line-height: 61px!important;
  }
  .sub-menu li a {
    font-size: 30px!important;
    line-height: 38px!important;
  }
  .sub-svg {
    top: calc(50% - 160px)!important;
    right: -127px!important;
  }
  .sub-svg svg {
    width: 699px!important;
    height: 539px!important;
  }
}
.sub-svg {
  position: absolute!important;
  z-index: 0!important;
}

 svg .svg-elem-1 {
  stroke-dashoffset: 1753.531005859375px!important;
  stroke-dasharray: 1753.531005859375px!important;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s!important;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s!important;
}

svg.active .svg-elem-1 {
  stroke-dashoffset: 0!important;
}

svg .svg-elem-2 {
  stroke-dashoffset: 1873.4315185546875px!important;
  stroke-dasharray: 1873.4315185546875px!important;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s!important;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s!important;
}

svg.active .svg-elem-2 {
  stroke-dashoffset: 0!important;
}


.arrow-svg .svg-sub-1 {
  stroke-dashoffset: 54.3px!important;
  stroke-dasharray: 54.3px!important;
  stroke: white!important;
  fill: none!important;
  transition: stroke-dashoffset 0.6s cubic-bezier(0.47, 0, 0.745, 0.715)!important;
}

.arrow-svg.active .svg-sub-1 {
  stroke-dashoffset: 0!important;
}

.arrow-svg .svg-sub-2 {
  stroke-dashoffset: 126.37px!important;
  stroke-dasharray: 126.37px!important;
  transition: stroke-dashoffset 0.6s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s!important,
              fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s!important;
}

.arrow-svg.active .svg-sub-2 {
  stroke-dashoffset: 0!important;
}

@media screen and (max-width: 959px) {
  nav ul {
    width: 100%!important;
    margin-top: 50px!important;
  }
  .menu > .menu-item > a {
    font-size: 44px!important;
    line-height: 50px!important;
  }
  .sub-menu {
    pointer-events: none !important;
    visibility: hidden!important;
    opacity: 0!important;
  }
  .menu-item-has-children.active > .sub-menu {
    pointer-events: none !important;
    visibility: visible!important;
    opacity: 1!important;
    margin-top: 0!important;
    padding: 0!important;
    justify-content: center!important;
    align-items: flex-start!important;
    width: 100%!important;
  }
  .sub-svg {
    display: none!important;
  }
  .sub-menu li {
    pointer-events: auto!important;
	padding-left: 36px!important;
	padding-right: 36px!important;
  }
  .sub-menu li a {
    font-size: 30px!important;
    line-height: 38px!important;
  }
}

.back-button {
  display: none!important;
  background: none!important;
  border: none!important;
  color: #FFF!important;
  font-size: 1.2rem!important;
  margin-bottom: 1rem!important;
  cursor: pointer!important;
  align-self: flex-start!important;
}

@media (max-width: 959px) {
  .back-button.visible {
    display: block!important;
    position: absolute!important;
    z-index: 999999!important;
    pointer-events: auto!important;
	font-family: "Onest";
	font-size: 22px !important;
    line-height: 28px !important;
  }
}

@media (max-width: 959px) {
  .menu-left.disabled {
    pointer-events: none!important;
  }
}

@media screen and (max-width: 768px) {
  .menu-left {
    padding-left: 20px!important;
    padding-right: 20px!important;
  }
}

@media screen and (max-width: 568px) {
  .menu > .menu-item > a {
    font-size: 30px!important;
    line-height: 36px!important;
  }
  .menu > .menu-item > a::after {
    display: none!important;
  }
  .sub-menu li a {
    font-size: 22px!important;
    line-height: 28px!important;
  }
  .back-button.visible {
    top: 220px!important;
    left: 36px!important;
  }
}

@media screen and (max-height: 899px) {
	.sub-svg {
		display: none!important;
	}
}