/* Colors */
html {
  /* Set base font size to 10px for easier rem calculations */
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  font-family: Rubik, Arial, Helvetica, sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
}

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

ul li {
  margin: 0;
  padding: 0;
}

ol {
  margin: 0;
  padding: 0;
}

p {
  padding: 0;
  margin: 0px 0px 5px 0px;
  margin: 0rem 0rem 0.5rem 0rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0px 0px 10px 0px;
  margin: 0rem 0rem 1rem 0rem;
  font-weight: normal;
}

fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

button {
  cursor: pointer;
  text-decoration: none;
}

/* cyrillic-ext */
@font-face {
  font-family: "Moderustic";
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/moderustic/v1/2-c39J9s3o6eLFNHFdXYaOX1UUnf3GLnYjALsQNU7Zehaw.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Moderustic";
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/moderustic/v1/2-c39J9s3o6eLFNHFdXYaOX1UUnf3GLnYjALsQNd7Zehaw.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: "Moderustic";
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/moderustic/v1/2-c39J9s3o6eLFNHFdXYaOX1UUnf3GLnYjALsQNa7Zehaw.woff2) format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* latin-ext */
@font-face {
  font-family: "Moderustic";
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/moderustic/v1/2-c39J9s3o6eLFNHFdXYaOX1UUnf3GLnYjALsQNX7Zehaw.woff2) format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Moderustic";
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/moderustic/v1/2-c39J9s3o6eLFNHFdXYaOX1UUnf3GLnYjALsQNZ7Zc.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.header-box {
  display: flex;
  align-items: center;
  justify-content: space-around;
  color: #EFEEEE;
  width: 100vw;
  height: 10rem;
  text-align: center;
  z-index: 1000;
}

.logo-center {
  display: flex;
  position: absolute;
  justify-content: center;
  align-items: center;
  top: 0;
  margin-top: 10px;
  z-index: 1001;
}

.nav-logo {
  position: relative;
  display: block;
  width: 10rem;
  height: 10rem;
  border-radius: 60%;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
  z-index: 1002;
  transition: box-shadow 0.3s ease-in-out;
}
.nav-logo:hover {
  cursor: pointer;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
}

.header-nav {
  position: fixed;
  display: block;
  justify-content: center;
  width: 100vw;
  height: 10rem;
  align-items: center;
  font-size: medium;
  top: 0 !important;
  z-index: 1000;
}
.header-nav ul {
  display: flex;
  justify-content: space-around;
}
.header-nav ul li {
  list-style: none;
  margin: 1% 0;
}
.header-nav a {
  text-decoration: none;
  color: black;
  transition: 0.2s ease-in-out;
  vertical-align: middle;
  font-size: 2rem;
  text-wrap: nowrap;
}
.header-nav a:hover {
  color: #F26627;
}
.header-nav ion-icon {
  font-size: 2rem;
  vertical-align: middle;
}

.right-nav {
  border-radius: 800px;
  padding: 0.5rem 0;
  width: 30vw;
  margin-left: 5%;
  z-index: inherit;
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(5px);
  background-color: rgba(239, 238, 238, 0.84);
  box-shadow: 0 10px 16px -12px rgba(0, 0, 0, 0.38);
}

.left-nav {
  border-radius: 800px;
  padding: 0.5rem 0;
  width: 30vw;
  margin-right: 5%;
  z-index: inherit;
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(5px);
  background-color: rgba(239, 238, 238, 0.84);
  box-shadow: 0 10px 16px -12px rgba(0, 0, 0, 0.38);
}

.logos {
  display: flex;
  position: absolute;
  top: 0;
  justify-content: space-between;
  height: 10rem;
}
.logos a {
  color: #EFEEEE;
  text-decoration: none;
  transition: 0.2s ease-in-out;
  padding-left: 1rem;
  height: 2.5rem;
  margin-top: auto;
  margin-bottom: auto;
}
.logos a:hover {
  color: #F26627;
}
.logos ion-icon {
  color: black;
  font-size: 2.5rem;
}

.logo-nav-small {
  display: flex;
  position: absolute;
  top: 0;
  justify-content: space-between;
  height: 10rem;
  left: 5%;
  z-index: 1011;
}
.logo-nav-small a {
  color: #EFEEEE;
  text-decoration: none;
  transition: 0.2s ease-in-out;
  padding-left: 1rem;
  height: 2.5rem;
  margin-top: auto;
  margin-bottom: auto;
}
.logo-nav-small a:hover {
  color: #F26627;
}
.logo-nav-small ion-icon {
  color: black;
  font-size: 2.5rem;
}

.logos-socials {
  display: flex;
  position: absolute;
  top: 0;
  justify-content: space-between;
  height: 10rem;
  right: 5%;
  z-index: 1001;
}
.logos-socials a {
  color: #EFEEEE;
  text-decoration: none;
  transition: 0.2s ease-in-out;
  padding-left: 1rem;
  height: 2.5rem;
  margin-top: auto;
  margin-bottom: auto;
}
.logos-socials a:hover {
  color: #F26627;
}
.logos-socials ion-icon {
  color: black;
  font-size: 2.5rem;
}

.menu-small {
  visibility: hidden;
  width: 100vw;
  height: 100vh;
  background-color: #EFEEEE;
  position: fixed;
  top: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 1010;
}
.menu-small ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  vertical-align: middle;
}
.menu-small ul li {
  list-style: none;
  margin: 1rem;
}
.menu-small a {
  text-decoration: none;
  color: black;
  transition: 0.2s ease-in-out;
  font-size: 2rem;
  margin: 1rem;
}
.menu-small a:hover {
  color: #F26627;
}

@media (min-width: 320px) {
  .header-nav {
    display: none;
  }
}
@media (min-width: 1025px) {
  .header-nav {
    display: flex;
  }
  .logo-nav-small {
    visibility: hidden;
  }
}
.footer {
  position: relative;
  color: #fff;
}
.footer .top-footer {
  display: flex;
  justify-content: space-around;
  background-color: #325d79;
  padding: 2em 0;
}
.footer h2 {
  margin-top: 1em;
  font-size: 3rem;
}
.footer ul {
  list-style-type: none;
  padding-left: 5px;
}
.footer ul li {
  padding: 5px 5px;
  font-size: 1.8rem;
}
.footer a {
  text-decoration: none;
  color: #fff;
}
.footer a:hover {
  color: #F26627;
}
.footer .about {
  flex-grow: 1;
}
.footer .about p {
  margin-top: 1.2em;
  font-size: 1.5rem;
}
.footer .useful-links {
  flex-grow: 2;
}
.footer .contact {
  flex-grow: 2;
}
.footer ion-icon {
  padding-right: 10px;
  width: 20px;
  height: 20px;
  color: white;
  vertical-align: middle;
}
.footer .copyright {
  display: flex;
  justify-content: space-around;
  background-color: #26516e;
}
.footer .copyright p {
  font-size: 1rem;
  margin: 10px 0;
}

@media (min-width: 320px) {
  .top-footer {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .about, .useful-links, .contact {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .about ul, .about p, .useful-links ul, .useful-links p, .contact ul, .contact p {
    margin-left: 10%;
  }
}
@media (min-width: 1024px) {
  .top-footer {
    display: flex;
    flex-direction: row;
    width: 100%;
    padding-right: auto;
  }
  .about, .useful-links, .contact {
    width: 100%;
    padding: 0 5%;
  }
  .about ul, .about p, .useful-links ul, .useful-links p, .contact ul, .contact p {
    margin-left: 10%;
  }
}
.section {
  padding: 5%;
}
.section .section-header {
  text-align: center;
}
.section .section-header h2 {
  font-size: 3rem;
  font-weight: bold;
}
.section .section-header p {
  font-size: 1.5rem;
}
.section .section-content {
  margin-top: 3%;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-around;
}
.section .section-reverse {
  flex-direction: row-reverse;
}

.section-white {
  background-color: #EFEEEE;
}

.section-dark {
  background-color: #325d79;
  color: #EFEEEE;
}

.separator {
  width: 100%;
  height: 1px;
  background-color: #F26627;
  margin-top: 5%;
}

.content-wave {
  width: 100vw;
  position: relative;
}
.content-wave svg {
  z-index: -1;
  position: relative;
  top: 10px;
}

@media (min-width: 320px) {
  .content-wave {
    margin-top: -200px;
  }
}
@media (min-width: 1024px) {
  .content-wave {
    margin-top: -350px;
  }
}
.card {
  background-color: #325d79;
  padding: 15px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.card .card-img {
  width: 85%;
  height: auto;
  margin-top: 2%;
}
.card .round {
  position: absolute;
  top: -30px;
  align-items: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #F26627;
  display: flex;
}
.card .round ion-icon {
  width: 50px;
  height: 50px;
  color: white;
  vertical-align: middle;
  margin-right: auto;
  margin-left: auto;
}
.card h2 {
  margin-top: 50px;
  color: #EFEEEE;
  font-style: bold;
  text-align: center;
  font-size: 2.5rem;
}
.card p {
  color: #fff;
  width: 100%;
  margin-top: 10px;
  font-size: 1.8rem;
  text-align: justify;
}

.clickable {
  cursor: pointer;
  transition: 0.3s;
}
.clickable:hover {
  box-shadow: 3px 3px 15px 3px rgba(0, 0, 0, 0.2);
}

.btn-orange {
  text-decoration: none;
  color: #EFEEEE;
  padding: 12px 30px;
  position: relative;
  margin-top: 2%;
  background-color: #F26627;
  border-color: #F26627;
  border-radius: 5px;
  transition: all 0.3s ease 0s;
  font-size: 2rem;
}
.btn-orange:hover {
  color: #000;
  transform: translateY(-3px);
  background-color: #F9A26C;
  box-shadow: 0px 5px 10px #F26627;
}

.btn-orange-rounded {
  text-decoration: none;
  box-sizing: border-box;
  margin-top: 2em;
  font-size: 1.5rem;
  padding: 10px 20px;
  color: #EFEEEE;
  background-color: #F26627;
  border-radius: 20px;
  transition: 0.4s;
}
.btn-orange-rounded:hover {
  background-color: #F9A26C;
}

.btn-orange-small {
  padding: 2%;
  margin: 1%;
  background-color: #F26627;
  border: none;
  border-radius: 10px;
  transition: 0.4s;
}
.btn-orange-small:hover {
  background-color: #F9A26C;
}

.btn-blue {
  text-decoration: none;
  font-size: 1.8rem;
  padding: 0.3% 1%;
  margin: 1%;
  background-color: #325d79;
  color: #EFEEEE;
  border-radius: 5px;
  width: auto;
  transition: 0.4s;
}
.btn-blue:hover {
  background-color: #F9A26C;
}

.banner {
  display: flex;
  height: 80vh;
}
.banner .banner-text {
  margin-top: 10%;
  margin-bottom: auto;
}
.banner .banner-text h1 {
  font-weight: bold;
  margin-bottom: 2%;
  text-align: left;
}
.banner .banner-text p {
  font-size: 2rem;
  margin-bottom: 3%;
  text-align: justify;
}

.counters {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  width: 100%;
  padding: 1% 0px;
}
.counters .counter {
  margin-top: 5px;
  padding: 10px 15px;
  align-items: center;
  text-align: center;
}
.counters .counter .text {
  margin-top: 0px;
  padding-top: 5px;
  font-size: 2.2rem;
}
.counters .counter .number {
  font-size: 5rem;
  font-weight: bold;
}

.card {
  width: 25%;
}

.content-faq {
  margin-top: 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.openable {
  cursor: pointer;
  text-decoration: none;
  color: #fff;
  position: relative;
  padding: 30px;
  margin-bottom: 3%;
  background-color: #F26627;
  border-radius: 5px;
  border: none;
  width: 80%;
  font-size: 25px;
  text-align: left;
  transition: 0.4s;
}
.openable:hover {
  background-color: #F9A26C;
}

.answer {
  width: 60%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-out;
  font-size: 1.8rem;
}
.answer p {
  margin-bottom: 3%;
}

.lab-categories {
  margin-top: 1.8rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.lab-categories span {
  font-size: 1.5rem;
  border-radius: 999px;
  padding: 0.5rem 1.2rem;
  background-color: rgba(50, 93, 121, 0.12);
  color: #325d79;
  border: 1px solid rgba(50, 93, 121, 0.2);
}

@keyframes move {
  0% {
    scale: 1;
  }
  25% {
    scale: 1.2;
  }
  50% {
    scale: 1;
  }
  75% {
    scale: 1.2;
  }
  100% {
    scale: 1;
  }
}
@media (min-width: 320px) {
  .banner {
    flex-direction: column;
  }
  .banner .banner-text {
    width: 100%;
    text-align: center;
  }
  .banner .banner-text h1 {
    font-size: 3rem;
  }
  .banner .banner-text p {
    font-size: 1.8rem;
  }
  .banner .banner-text a {
    float: right;
    margin-right: 15%;
  }
  .banner .banner-img {
    display: none;
  }
  .skills-text {
    width: 100%;
    margin-top: auto;
    margin-bottom: auto;
  }
  .skills-text h2 {
    font-size: 3rem;
    font-weight: bold;
  }
  .skills-text p {
    font-size: 1.5rem;
    text-align: justify;
    text-justify: inter-word;
  }
  .skills-box {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-around;
  }
  .skills-box img {
    width: 50%;
  }
}
@media (min-width: 1025px) {
  .banner {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
  }
  .banner .banner-text {
    width: 50%;
  }
  .banner .banner-text h1 {
    font-size: 3.5rem;
  }
  .banner .banner-text p {
    font-size: 2rem;
  }
  .banner .banner-text a {
    float: left;
    margin-left: 2%;
  }
  .banner .banner-img {
    display: flex;
  }
  .banner img {
    margin-top: auto;
    margin-bottom: auto;
    width: 50rem;
    height: 50rem;
  }
  .skills-text {
    width: 50%;
    margin-top: auto;
    margin-bottom: auto;
  }
  .skills-text h2 {
    font-size: 3rem;
    font-weight: bold;
  }
  .skills-text p {
    font-size: 1.5rem;
    text-align: justify;
    text-justify: inter-word;
  }
  .skills-box {
    width: 50%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-around;
  }
  .skills-box img {
    width: 80%;
  }
}
.lab-content {
  scroll-margin-top: 120px;
}

.lab-quality .card p,
.lab-overview-cards .card p {
  text-align: left;
}

.lab-quality .card,
.lab-overview-cards .card {
  background: linear-gradient(160deg, #3b6f8f 0%, #325d79 62%, #294f68 100%);
  border: 1px solid rgba(239, 238, 238, 0.12);
  box-shadow: 0 16px 32px rgba(18, 35, 49, 0.22);
}

.lab-quality .card .round,
.lab-overview-cards .card .round {
  box-shadow: 0 8px 18px rgba(18, 35, 49, 0.28);
}

.lab-workflow {
  margin-top: 3rem;
  display: grid;
  gap: 1.6rem;
}

.workflow-step {
  background-color: #ffffff;
  border-left: 6px solid #F26627;
  border-radius: 10px;
  padding: 2rem;
  color: #325d79;
  box-shadow: 0 6px 20px rgba(50, 93, 121, 0.12);
}
.workflow-step h3 {
  margin-bottom: 0.8rem;
  font-size: 2.2rem;
  font-weight: bold;
}
.workflow-step p {
  font-size: 1.7rem;
}

.lab-categories {
  margin-top: 1.8rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.lab-categories span {
  font-size: 1.5rem;
  border-radius: 999px;
  padding: 0.5rem 1.2rem;
  background-color: rgba(50, 93, 121, 0.12);
  color: #325d79;
  border: 1px solid rgba(50, 93, 121, 0.2);
}

.lab-final-section {
  position: relative;
  padding-bottom: 8rem;
  background: linear-gradient(180deg, #3a6a88 0%, #325d79 72%);
}
.lab-final-section::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 56px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(50, 93, 121, 0) 0%, rgba(50, 93, 121, 0.9) 100%);
}
.lab-final-section .section-header,
.lab-final-section .section-content {
  position: relative;
  z-index: 1;
}

@media (min-width: 320px) {
  .lab-overview-cards .card,
  .lab-quality .card {
    width: 100%;
    margin-top: 4rem;
  }
  .lab-final-section {
    padding-bottom: 6rem;
  }
}
@media (min-width: 1025px) {
  .lab-overview-cards .card,
  .lab-quality .card {
    width: 30%;
  }
  .lab-workflow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lab-final-section {
    padding-bottom: 8rem;
  }
}
