@font-face {
    font-family: "niveau-grotesk";
    src: url("../fonts/Niveau-Grotesk-Web-Medium.eot") format("eot"),
    url("../fonts/Niveau-Grotesk-Web-Medium.woff") format("woff"),
    url("../fonts/Niveau-Grotesk-Web-Medium.woff2") format("woff2");
    font-weight: normal;
    font-style: normal;
}

* {
    box-sizing: border-box;
}

:root {
    --dark: rgb(43, 43, 43);
    --main: #8226d9; /*130, 38, 217*/
}

body, pre {
    font-family: "noto-sans", sans-serif;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    color: var(--dark);
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'niveau-grotesk', sans-serif;
}

h2 {
    font-size:2.25em;
}

pre {
    font-size: 100%;
    white-space: normal;
}

a, a:hover {
    text-decoration: none;
}

.menu-holder {
    width: 100%;
    border-bottom: 1px solid #DDDDDD;
    -webkit-transition: all ease-out .5s;
    -moz-transition: all ease-out .5s;
    -o-transition: all ease-out .5s;
    transition: all ease-out .5s;
}

.menu-holder.active {
    background: #FFFFFF;
}

.menu-holder .regular {
    display: none;
}

.menu-holder .white {
    display: inline-block;
}

.menu-holder.active .regular {
    display: inline-block;
}

.menu-holder.active .white {
    display: none;
}

.navbar {
    padding: 0;
}

.navbar-brand {
    padding: 0;
}

.navbar-brand img {
    max-height: 76px;
    padding: 15px 0 !important;
}

.nav-item {
    justify-content: left !important;
    display: flex !important;
}

.navbar-light .nav-link {
    color: var(--dark) !important;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-bottom: 2px solid transparent;
}

.navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.active .navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")
}

.menu-holder .nav-link {
    color: #FFF !important;
}

.menu-holder .nav-link:hover {
    color: #FFF !important;
}

.menu-holder.active .nav-link {
    color: var(--dark) !important;
}

.nav-link:hover {
    color: var(--dark) !important;
    border-bottom: 2px solid var(--main);
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.nav-link.gene-guard-btn {
    font-size: 16px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
}

.navbar-light .navbar-toggler {
    border: none;
    color: var(--dark);
    padding: 0;
}

.nav-link img.arrow {
    display: none;
}

.nav-link img, .dropdown-item img {
    display: inline-block;
    width: 24px;
}

.navbar-toggler-icon {
    width: 1.35em;
    height: 1.35em;
}

.mobile-navbar {
    display: none;
}

@media (max-width: 576px) {
    .navbar-brand img {
        max-height: 60px;
    }
}

@media (min-width: 576px) {
}

@media (min-width: 768px) {
}

@media (max-width: 992px) {
    .navbar-light .nav-link .arrow {
        display: block;
        height: 12px;
    }

    .navbar-light .nav-link {
        width: 100%;
        justify-content: space-between;
    }

    .mobile-navbar {
        display: flex;
    }

    .mobile-navbar a {
        display: block;
        padding-left: 15px !important;
    }

    .mobile-navbar a img {
        width: 24px;
    }
}

@media (min-width: 992px) {
}

@media (max-width: 1199px) {
    .navbar-expand-lg .nav-item .nav-link {
        padding-left: 10px;
        padding-right: 10px;
        font-size: 12px;
    }
}

@media (min-width: 1200px) {
    .navbar-expand-lg .nav-item .nav-link {
        padding-left: 15px;
        padding-right: 15px;
    }
}

.hero-section {
    background-attachment: scroll;
    background-size: cover;
    height:100vh;
    overflow:hidden;
    position:relative;
    color:#FFF;
    background-color: rgb(43,43,43);
}
.hero-section .container {
    display:flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height:100vh;
}
.hero-section .container > div {
    width:50%;
    display:flex;
    flex-direction: column;
    justify-content: center;
}
.hero-section .container > div:first-child {
    padding-right:50px;
}
.hero-section .container > div a {
    color:var(--dark);
}
.hero-section .container > div:last-child {
    text-align:center;
}
.hero-section .container > div img {
    padding:20px 0 0 0;
    max-width: 100%;
    max-height:500px;
}
.hero-section .container > div em {
    font-size:0.85em;
}
@media (max-width: 992px) {
    .hero-section .container {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
    }
    .hero-section .container > div {
        width:100%;
        text-align:center;
    }
    .hero-section .container > div:first-child {
        padding:0;
        height:100%;
    }
}

.genomica-btn {
    border: 2px solid #2cc9eb !important;
    border-radius: 30px;
    padding: 10px 50px;
    display: inline-block;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
}
.genomica-btn.white {
    border: 2px solid #D0D0D0 !important;
    border-radius: 30px;
    color: #D0D0D0 !important;
    background: var(--dark);
}
.genomica-btn.white:hover {
    border: 2px solid #FFFFFF !important;
    background: rgba(0, 0, 0, 0.2)!important;
    background: #8226d9!important;
    color: #FFFFFF !important;
}

#footer {
    background-color: var(--dark);
    color: #FFFFFF;
    padding: 30px 0;
    font-size: 14px;
}
#footer .footnote p {
    font-size: 13px;
    color: #DDD;
}
#footer .contact {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    font-size:1.2em;
    border-bottom:1px solid #DDD;
}
#footer .contact > div {
    padding-right:20px;
    justify-content: center;
}
#footer .contact .ph-em > div {
    justify-content: center;
}
#footer .contact > div:last-child {
    padding:0;
}
#footer .contact .logo,
#footer .contact .address,
#footer .contact .ph-em{
    width:30%;
    display:flex;
}
#footer .contact .logo img {
    max-width:250px;
}
#footer .contact .address > div:first-child,
#footer .contact .ph-em > div:first-child{
    font-size:20px;
    width:30px;
}
@media (max-width: 992px) {
    #footer .contact {
        flex-direction: column;
    }
    #footer .contact .logo,
    #footer .contact .address{
        width:100%;
        margin-bottom:30px;
    }
    #footer .contact .ph-em {
        width:100%;
    }
}
.service {
    border-bottom:1px solid #DDD;
    padding-top:70px;
    padding-bottom:70px;
}
.service:last-child {
    border-bottom: none;
}
.service:nth-child(2n) {
    background-color:rgba(43, 43, 43, 0.07);
}
.service .section-title {
    text-align:center;
}
.service .section-title .subtitle {
    display:flex;
    text-align: center;
    justify-content: center;
    padding:0 20px;
}
.service .section-title p {
    max-width: 600px;
}
.service h2 {
    border-bottom:2px solid var(--main);
    padding-bottom:2px;
    display:inline-block;
}
.service ul li {
    list-style: none;
}
.service .service-unit {
    display:flex;
    height:100%;
    padding-bottom:50px;
}
.service .service-unit div {
    padding-left:15px;
}
.service .service-unit div p {
    font-style: italic;
    font-size:0.9em;
}
.service .service-unit img {
    width:60px;
}
.service .steps {
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width:100%;
}
.service .steps .step {
    width:400px;
    display:flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin-bottom:30px;
}
.service .steps .step .index {
    width:40px;
}
.service .steps .step .index i {
    color:#FFFFFF;
    background-color: var(--main);
    border:1px solid var(--main);
    padding:5px 8px;
    border-radius:5px;
    text-align: center;
}
.service .steps .step > div:last-child {
    width:360px;
}