/*
Theme Name: Sacace Biotech
Text Domain: sacace
Version: 1.15
*/
:root {
  --blue: #005ba2;
}

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

@font-face {
  font-family: "SF Pro";
  src: url("fonts/sf-pro-text-regular-webfont.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro";
  src: url("fonts/sf-pro-text-medium-webfont.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro";
  src: url("fonts/sf-pro-text-bold-webfont.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

a {
  text-decoration: none;
}
p {
  margin-bottom: 1em;
}

body {
  font-size: 16px;
  font-family: "SF Pro", sans-serif;
  color: #333;
  line-height: 1.5;
}

.inner {
  max-width: 1320px;
  margin: auto;
  padding: 0 20px;
  position: relative;
}

/*menu btn*/
.m-menu {
  width: 30px;
  height: 32px;
  position: relative;
}

.m-menu span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: var(--blue);
  opacity: 1;
  left: 0;
  border-radius: 2px;
}

.m-menu span:nth-child(1) {
  top: 20px;
}

.m-menu span:nth-child(2) {
  top: 30px;
}

.m-menu span:nth-child(3) {
  top: 40px;
}

.m-menu {
  transform: rotate(0);
  transition: 0.5s ease-in-out;
  cursor: pointer;
  margin-right: 0;
  z-index: 10;
  position: absolute;
  right: 10px;
  top: -3px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: none;
  z-index: 10 !important;
}

.m-menu span {
  transform: rotate(0);
  transition: 0.25s ease-in-out;
  width: 35px;
  left: 13px;
}

.mm-open .m-menu span:nth-child(1) {
  top: 28px;
  transform: rotate(135deg);
}

.mm-open .m-menu span:nth-child(2) {
  opacity: 0;
  left: -60px;
}

.mm-open .m-menu span:nth-child(3) {
  top: 28px;
  transform: rotate(-135deg);
}

#header .inner {
  display: flex;
  align-items: center;
}
#header .top {
  display: flex;
  justify-content: flex-end;
  padding-top: 20px;
  gap: 40px;
}
#header .top a {
  padding: 0px 5px;
  display: flex;
  align-items: center;
  gap: 5px;
}
#header .top a:hover {
  text-decoration: underline;
}
#header .top > div {
  display: flex;
  align-items: center;
}
#header a {
  color: inherit;
}
#header nav {
  margin-left: auto;
}
#header nav .login,
#header nav form {
  display: none;
}
#header .menu {
  display: flex;
}
#header .menu li {
  display: block;
}
#header .menu a {
  font-weight: bold;
  color: var(--blue);
  padding: 10px;
}
#header .search {
  position: relative;
  margin-left: 10px;
}

#header .search button {
  display: none;
}
#header form {
  position: absolute;
  right: 0;
  top: 100%;
  width: 200px;
  display: none;
}
#header .active form {
  display: block;
}
.search-btn {
  cursor: pointer;
}
.search-btn svg {
  display: block;
}
#header form input {
  width: 100%;
  height: 30px;
  border-radius: 10px;
  background-color: #efefef;
  padding: 0 10px;
  border: none;
}

.custom_breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 0;
}
.custom_breadcrumb a {
  color: #0176c6;
}
.sep {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24'%3E%3Cpath fill='%23333333' clip-rule='evenodd' d='m9 1.17163 10.8284 10.82847-10.8284 10.8284-2.82843-2.8284 8.00003-8-8.00003-8.00004z' fill-rule='evenodd'/%3E%3C/svg%3E")
    no-repeat center;
  display: inline-block;
  width: 15px;
  height: 15px;
  background-size: contain;
}
#header .current-menu-item > a,
#header li:hover > a {
  color: #d40055;
}

.country-list-wrapper {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 30px;
  padding-top: 30px;
}

.continent-title {
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.continent-title span {
  display: block;
  width: 70px;
  height: 28px;
  background: #dc1c5a;
  background: linear-gradient(
    90deg,
    rgba(220, 28, 90, 1) 0%,
    rgba(251, 55, 98, 1) 100%
  );
  color: #fff;
  line-height: 28px;
  padding-left: 20px;
  clip-path: polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%);
  font-weight: bold;
  font-size: 14px;
}
.continent-title.c2 span {
  background: linear-gradient(90deg, #fa6420 0%, #efb600 100%);
}
.continent-title.c3 span {
  background: linear-gradient(90deg, #007dc2 0%, #629edd 100%);
}
.continent-title.c4 span {
  background: linear-gradient(90deg, #9c1cb2 0%, #e21fb8 100%);
}
.continent-title.c5 span {
  background: linear-gradient(90deg, #008490 0%, #02c042 100%);
}
.continent-group ul {
  padding-top: 20px;
  display: none;
}
.continent-group.active ul {
  display: block;
}
.continent-group li {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.continent-map > svg > g {
  cursor: pointer;
}
.continent-map > svg > g.active .st0,
.continent-map > svg > g.active .st4 {
  fill: #9ec5dc !important;
}

.continent-map g.point {
  transform: translateY(-15px);
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  opacity: 0;
}
.continent-map .active g.point {
  transform: translateY(0px);
  opacity: 1;
}
.continent-map svg {
  display: block;
  width: 100%;
}

.elementor-field-type-submit {
  width: 50% !important;
}
.elementor-field-type-submit button {
  width: 280px;
  max-width: 280px;
  margin-left: auto;
  cursor: pointer;
}

.form-reset {
  width: 280px;
  max-width: 280px;
  background: #f5f9ff !important;
  color: #333 !important;
  cursor: pointer;
}
.form-reset:hover {
  background: #d40055 !important;
  color: #fff !important;
}

details[open] summary {
  color: #007dc2;
}
details summary {
  position: relative;
  padding-right: 20px !important;
}
details summary:after {
  width: 30px;
  height: 30px;
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  background: url("data:image/svg+xml,%0A%3Csvg width='19' height='34' viewBox='0 0 19 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 16.4751C19.0018 16.7875 18.9419 17.0972 18.8238 17.3864C18.7056 17.6757 18.5316 17.9387 18.3116 18.1605L4.06888 32.4032C3.62189 32.8502 3.01564 33.1013 2.3835 33.1013C1.75135 33.1013 1.1451 32.8502 0.698111 32.4032C0.251119 31.9562 1.37035e-06 31.35 1.34272e-06 30.7178C1.31509e-06 30.0857 0.251119 29.4794 0.698111 29.0324L13.2791 16.4751L0.721848 3.91784C0.33296 3.46373 0.129749 2.8796 0.152825 2.28218C0.1759 1.68475 0.423564 1.11804 0.846321 0.695278C1.26908 0.272522 1.83579 0.0248641 2.43322 0.00178517C3.03064 -0.02129 3.61477 0.181919 4.06888 0.570804L18.3116 14.8135C18.7501 15.2556 18.9973 15.8524 19 16.4751Z' fill='%23007DC2'/%3E%3C/svg%3E%0A")
    no-repeat center;
  background-size: 14px;
  transition: all 0.3s ease;
  transform: rotate(0deg);
}
details[open] summary:after {
  transform: rotate(90deg);
}

.plist .e-loop-item:nth-of-type(1) {
  grid-row: 1/3;
}

.tec-events-elementor-event-widget__datetime-date {
  display: flex;
  gap: 5px;
}
.tec-events-elementor-event-widget__datetime-date:before {
  content: "";
  display: block;
  width: 14px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg aria-hidden='true' class='e-font-icon-svg e-far-calendar-alt' viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23444' d='M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z'%3E%3C/path%3E%3C/svg%3E")
    no-repeat center;
}

.code .elementor-heading-title {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.02 24.88'%3E%3Cpath d='M10.62,23.62c0,.69-.56,1.25-1.25,1.25s-1.25-.56-1.25-1.25,.56-1.25,1.25-1.25,1.25,.56,1.25,1.25Zm8.25-1.25c-.69,0-1.25,.56-1.25,1.25s.56,1.25,1.25,1.25,1.25-.56,1.25-1.25-.56-1.25-1.25-1.25ZM25.53,4.92c.61,.99,.65,2.11,.15,3.66-.41,1.24-1.17,2.75-2.13,4.67l-.03,.06c-.41,.81-.74,1.47-1.06,1.98-.4,.63-.8,1.05-1.3,1.35-.5,.31-1.05,.48-1.79,.55-.6,.06-1.36,.05-2.19,.06H7.07c-.45,0-.81,.36-.81,.81s.36,.81,.81,.81h13.78c.62,0,1.12,.5,1.12,1.12s-.5,1.12-1.12,1.12H7.07c-1.69,0-3.06-1.37-3.06-3.06,0-1.5,1.06-2.75,2.5-3.01L3.86,3.67c-.14-.54-.23-.89-.32-1.14-.06-.16-.1-.2-.1-.2,0,0-.05-.03-.22-.05-.26-.03-.61-.03-1.18-.03h-.92c-.62,0-1.12-.5-1.12-1.12S.5,0,1.12,0h.92c.56,0,1.04,0,1.45,.05,.55,.07,.97,.23,1.33,.51l.07,.06c.32,.28,.56,.63,.75,1.11,.13,.35,.24,.76,.36,1.24h11.29c2.11,0,3.77,0,5.04,.19,1.6,.24,2.58,.78,3.19,1.77Zm-1.92,1.18c-.16-.26-.48-.56-1.61-.72-1.12-.17-2.76-.17-4.84-.17H6.55l2.25,9.79h8.34c.88,0,1.52,0,2-.05,.39-.04,.64-.11,.83-.23l.07-.05c.16-.11,.32-.3,.51-.6,.26-.41,.55-.98,.95-1.78,.97-1.94,1.68-3.35,2.03-4.43,.36-1.09,.24-1.51,.08-1.77Z' fill='%23367bbc'/%3E%3C/svg%3E")
    no-repeat 0px 2px;
  padding-bottom: 4px;
  background-size: 14px;
  padding-left: 24px;
}

@media (max-width: 1100px) {
  .m-menu {
    display: block;
  }
  #header {
    z-index: 1;
    position: relative;
  }
  #header nav {
    position: absolute;
    background-color: var(--blue);
    position: absolute;
    right: 0;
    left: 0;
    top: 100%;
    padding: 20px 0;
    transition: all 0.3s ease;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
  }
  .mm-open #header nav {
    pointer-events: all;
    opacity: 1;
    visibility: visible;
  }
  #header .menu a {
    color: #fff;
    padding-left: 20px;
  }

  #header .search {
    display: none;
  }
  #header .menu {
    flex-direction: column;
    gap: 10px;
  }
  #header nav .login,
  #header nav form {
    display: block;
  }
  #header nav .login {
    padding-left: 20px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #ffffff24;
  }
  #header nav .login a,
  #header nav .login {
    color: #fff;
    font-size: inherit;
    font-weight: bold;
  }
  #header nav form {
    position: relative;
    padding-left: 20px;
    padding-top: 20px;
    display: flex;
  }
  #header form input {
    width: 200px;
  }
  #header form button {
    display: none;
  }
}

@media (max-width: 900px) {
  .country-list-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .continent-group {
    margin-bottom: 10px;
  }
  .continent-map svg {
    height: 55vw;
  }
}
@media (max-width: 600px) {
  .hdgap {
    height: 105px;
  }
  #header {
    position: fixed;
    box-shadow: 0 0 5px -2px #000;
    left: 0;
    right: 0;
    background-color: #fff;
    transition: all 0.3s ease;
  }
  .stick #header {
    margin-top: -40px;
  }
  #header .top a {
    font-size: 12px;
  }
  #header .top a svg {
    width: 14px;
  }
  .logo img {
    width: 120px;
  }
  #header .top {
    padding-top: 10px;
    border-bottom: 1px solid #cccccc45;
    padding-bottom: 10px;
    margin-bottom: 10px;
	justify-content: center !important;

  }
	
}


.accordion-products {margin-left:20px;}
.accordion-products a {color: #023d5d;}    



/* ================================================
   DROPDOWN - Desktop hover
   ================================================ */
@media (min-width: 1025px) {

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

  /* Nascondi submenu di default */
  #menu-main .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    background: #fff;
    min-width: 180px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    border-radius: 6px;
    padding: 6px 0;
    list-style: none;
  }

  /* Mostra al hover */
  #menu-main li.menu-item-has-children:hover > .sub-menu {
    display: block;
  }

  /* Stile voci submenu */
  #menu-main .sub-menu li a {
    display: block;
    padding: 8px 18px;
    white-space: nowrap;
    color: #1a5ea8;
    font-weight: 600;
    font-size: 0.95em;
  }

  #menu-main .sub-menu li a:hover {
    background: #f0f5ff;
    color: #0d3d7a;
  }
}

/* ================================================
   MOBILE - toggle con freccia
   ================================================ */
@media (max-width: 1024px) {

  #menu-main li.menu-item-has-children > a::after {
    content: " ▼";
    font-size: 0.7em;
    margin-left: 5px;
  }

  #menu-main li.menu-item-has-children.is-open > a::after {
    content: " ▲";
  }

  #menu-main .sub-menu {
    display: none;
    position: static;
    box-shadow: none;
    padding-left: 16px;
    list-style: none;
  }

  #menu-main li.menu-item-has-children.is-open > .sub-menu {
    display: block;
  }
}



#wpmem_login input[type=password], #wpmem_login input[type=text], #wpmem_reg input[type=date], #wpmem_reg input[type=email], #wpmem_reg input[type=number], #wpmem_reg input[type=password], #wpmem_reg input[type=text], #wpmem_reg input[type=url], #wpmem_reg textarea {
    border: 1px solid rgba(0, 0, 0, .1);
    color: #2b2b2b;
    padding: 8px 10px 8px;
    border-width: 0px 0px 0px 0px;
    border-radius: 6px 6px 6px 6px !important;
    background-color: #F5F9FF !important;
}



.elementor-kit-29 input[type="submit"] {
    font-weight: 500;
    color: #FFFFFF;
    border-radius: 8px 8px 8px 8px !important;
    border: none !important;
    min-height: 40px;
    width: 280px;
    background-color: #d40055;
}

#wpmem_reg .text, #wpmem_reg label.select {font-weight: 700;}

#wpmem_login legend, #wpmem_reg legend {
    margin-bottom: 25px !important;
}


#wpmem_login, #wpmem_reg {
    width: 100% !important;
    max-width: 500px;
}


@media (max-width: 1200px) and (min-width: 1101px) {
  #header .menu a {
    padding: 7px !important;
    font-size: 15px !important;
  }
}


.tribe-events .tribe-events-c-search__button, .tribe-events button.tribe-events-c-search__button {
    background-color: #023d5d !important;
}

.tribe-common * {
    background: #fff !important;
}


.tribe-events .datepicker .day.active {
    color: #d51f5b !important;
}


.tribe-events .datepicker .day:hover {
    outline: none !important;
    outline-offset: none !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown__container {
    display: none;
}


[class*=tec-events-elementor-event-widget] [class*=tec-events-elementor-event-widget] {
    display: inline-flex;
    margin-right: 5px;
}


.wpmem_msg {
    width: 100% !important;
}