@import url("./oceans-font.css");



:root {
    --header-height: 10vh;
}


::-webkit-scrollbar {
    display: none;
}

* {
    scroll-behavior: smooth;
}

.b-0 {
    bottom: 0;
}

.b-10 {
    top: 10vh;
    position: relative;
}

.b-20 {
    bottom: 20vh;
}

.b-30 {
    bottom: 30vh;
}

.b-40 {
    bottom: 40vh;
}

.b-50 {
    bottom: 50vh;
}

.right {
    right: 0;
    text-align: right !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
}


@keyframes fade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


.smooth {
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}


a,
a:hover,
a:visited,
a:active {
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    text-decoration: none;
    color: white;
}

body,
html {
    margin: 0px;
    padding: 0px;
    overflow-x: hidden;
    color: white;
}

body {
    animation: fade ease 2s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility
}



.header {
    margin-top: 0;
    text-align: right;
    line-height: var(--header-height);
    max-height: var(--header-height);
    min-height: var(--header-height);
    height: var(--header-height);
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    display: block;
}


.header a,
.header a:visited {
    display: inline-block;
    font-family: Roboto;
    font-size: 1.3rem;
    margin-right: 1.5rem;
    text-decoration: none;
    color: #FFFFFFC0;
    cursor: pointer;
    font-weight: 300;
    line-height: 2rem;
    border-top: solid 1px #00000000;
    border-bottom: solid 1px #00000000;
    position: sticky;
}

.header a:hover {
    color: #FFFFFF;
    border-bottom-color: #FFFFFF;
}



.header img {
    position: fixed;
    left: 0;
    top: 0;
    height: calc(var(--header-height) * 1);
    z-index: 11;
}


.footer {
    position: fixed;
    bottom: 0;
    width: 100vw;
    margin: 0;
    z-index: 20;
    padding: 0;
    /* line-height: 2.5rem; */
    margin: -0;
    text-align: center;
    height: 8vh;
}

.footer a {
    z-index: 11;
    position: relative;
    padding: 1rem;
    border-radius: 100rem;
    display: inline-block;
    background: #00000040;
    width: 1.25rem;
    margin: 0 0.5rem 1rem 0.5rem;
    height: 1.25rem;
}

.footer a:hover {
    background: #FFFFFF20;
}

.footer a img {
    height: 2rem;
    top: -0.35rem;
    left: -0.35rem;
    position: relative;
}


.page {
    top: 0;
    position: absolute;
    overflow-y: scroll;
    scrollbar-width: none;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    height: 100vh;
    scroll-snap-type: y mandatory;
}



.section {
    position: relative;
    height: 100vh;
    background-size: cover !important;
    background-position-y: bottom !important;
    background-position-x: right !important;
    scroll-snap-align: start;
    scroll-behavior: smooth;
    width: 100vw;
    z-index: 0;
}

.color {
    background: linear-gradient(115deg, #3c1aa6, #5370ca, #2be3f3);
}


.hook {
    position: relative;
    left: 10vw;
    width: 80vw;
    font-family: 'Roboto';
    font-weight: 100;
    font-size: 1.5rem;
    margin-bottom: 2rem;
}

h1 {
    margin: 0;
    font-family: RobotoCondensed;
    font-size: 6rem;
    font-weight: 900;
    width: 80vw;
    padding-left: 10vw;
    padding-top: 4rem;
    padding-bottom: 2rem;
    z-index: 10;
}

.section h1:first-of-type {
    padding-top: 10vh;
    
}

h2 {
    font-family: 'Roboto';
    font-weight: 100;
    font-size: 2.4rem;
    padding-left: 10vw;
    width: 80vw;
    margin: 0;
    z-index: 10;
}

h3 {
    text-align: center;
    font-size: 1.5rem;
    font-family: 'Roboto';
}

h3 icon {
    font-weight: 100;
    font-size: 2.5rem;
}

.bottom {
    position: absolute;
    z-index: 10;
}

.cols-3,
.cols-4 {
    display: flex;
    padding-left: 10vw;
    width: 80vw;
    z-index: 10;
}

.cols-1 {
    display: flex;
    padding-left: 10vw;
    width: 80vw;
    z-index: 10;
}

a.home {
    margin-left: 2.5vw;
    width: calc(25vw - 1rem);
    font-family: 'RobotoCondensed';
    font-weight: 100;
    font-size: 2.25rem;
    border-top: 1px solid #FFFFFFC0;
    border-bottom: 1px solid #FFFFFFC0;
    color: #FFFFFFC0;
    padding: 0.2rem 0.5rem;
    cursor: pointer;
}

a.home:first-of-type {
    margin-left: 0;
}

a.home:hover {
    color: #FFFFFF;
    border-bottom-color: #FFFFFF;
    border-top-color: #FFFFFF;
    font-weight: 200;
    transform: translateY(-2rem);
}


icon {
    font-family: 'MaterialIcons';
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-size: 1rem;
    top: 0.15rem;
    position: relative;
}


button {
    border: 0;
    cursor: pointer;
    padding: 0.7rem 1.5rem;
    font-size: 1.2rem;
    font-family: Roboto;
    font-weight: 100;
    width: 13vw;
    background: #00000020;
    border-radius: 7px;
    color: #FFFFFFC0;
    display: inline-block;
    position: relative;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}


button:hover {
    color: #FFFFFF;
    background: #FFFFFF20;
    font-weight: 200;
}


.cols-4 div {
    font-family: 'Roboto';
    font-weight: 100;
    text-align: left;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    margin-right: 2rem;
    padding: 0 1rem 1rem 1rem;
    width: 100%;
    border-radius: 5px;
    background: #00000020;
    flex: 0 0 13vw;
    cursor: pointer;
}


.cols-4 div.transparent {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: none;
    flex: 0 0 25vw;
}

.cols-4 div div {
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 0;
    margin: 0;
}

.popup {
    background: #00000040;
    width: 100vw;
    height: 100vh;
    position: fixed;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    z-index: 100;
    display: none;
    animation: fade 0.5s
}


icon.close {
    position: absolute;
    right: 2rem;
    top: 2rem;
    font-size: 2rem;
    color: #FFFFFFC0;
    cursor: pointer;
    z-index: 101;
}

icon.close:hover {
    color: #FFFFFF;
}


.popup div {
    width: 100vw;
    text-align: center;
}


.popup div.content {
    font-family: 'Roboto';
    font-weight: 100;
    font-size: 2rem;
    padding: 10vh 10vw;
    color: #FFFFFF;
    top: 0;
    text-align: justify;
    width: 80vw;
}


h3 div {
    text-align: center !important;
}


.id-card {
    display: flex;
    position: relative;
    left: 10vw;
    width: 80vw;
}

.card {
    flex: 0 0 35vw;
    margin-right: 4vw;
    border: 1px solid #FFFFFF80;
    border-radius: 5px;
    font-family: 'Roboto';
    padding: 1vh 1vw;
    font-weight: 100;
    background: #FFFFFF20;
}

.card .name {
    font-size: 1.7rem;
    display: inline-block;
    position: relative;
    bottom: 4vh;
    left: 1vw;
}

.card .title {
    font-size: 1.5rem;
    display: inline-block;
    width: unset;
    position: relative;
    right: 12vw;
}

.card .bio {
    padding: 1rem 0.4rem;
    text-align: justify;
    font-size: 1.1rem;
    position: relative;
    z-index: 20;
}


.card .photo {
    display: inline-block;
    padding: 0.3vh 0.5vw;
    z-index: 20;
    position: relative;
}

.card .photo img {
    display: inline-block;
    height: 10vw;
    width: 10vw;
    border-radius: 10vw;
    object-fit: cover;
    object-position: top;
}


.no-snap {
    scroll-snap-align: unset;
    height: auto;
    min-height: 100vh;
}


*[onclick] {
    cursor: pointer;
}

h1.smaller {
    font-size: 3.5rem;
    font-weight: 600;
    font-family: 'Roboto';
}

@keyframes scroll {
    0% {transform: translateX(100%);}
    100% {transform: translateX(-650%);}
}

.scroller {white-space: nowrap;display: flex;text-align: center;animation: scroll 90s linear infinite;margin-bottom: 1rem;/* left: 10vw; *//* position: relative; *//* margin-right: 10vw; *//* overflow: hidden; */}

.scroller:hover {
    -webkit-animation-play-state: paused;
    -moz-animation-play-state: paused;
    -o-animation-play-state: paused;
    animation-play-state: paused;
}

.scroller .item {
    
    border-radius: 5px;
    flex: 0 0 20vw;cursor: pointer;}

.scroller .item div.logo {
    height: 7rem;
    display: table-cell;
    vertical-align: middle;
    width: 20vw;
}

.scroller .item:hover {
    background: #FFFFFF20;
}

.scroller .item div.logo img {max-height: 5rem;max-width: 10vw;/* margin: auto; *//* text-align: center; */}

.scroller .item div.label {
    width: 100%;
    text-align: center;
    font-family: 'Roboto';
    font-weight: 200;
    font-size: 1.5rem;
}


.group {margin: 0 10vw 0 10vw;text-align: left;padding: 1vh 2vw;border:  solid 1px #FFFFFF80;border-radius: 5px;background: #FFFFFF20;}

.group h3 {text-align: left;display: inline-block;vertical-align: middle;padding: 0;margin: 0.5rem 0;}

.group div {font-family: 'Roboto';font-weight: 200;font-size: 1.5rem;}

.group h3 icon {position: relative;top: 0.7rem;}

.group h3 img {height: 2.5rem;position: relative;top: 0.7rem;}

.scroller-container {
    margin: 0 10vw;
    overflow: hidden;
}


.grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 10vw;
    gap: 2rem;
}

.grid .cell {
    text-align: center;
    font-size: 1.5rem;
}

.grid .cell h3 {
    font-size: 1.5rem;
}

.grid .cell icon {font-size: 3.5rem;text-align: center;background: #FFFFFF20; border-radius: 3.5rem;padding: 1rem;}

.grid .cell p {font-family: 'Roboto';}



.grid-narrow {display: grid;margin: 0 10vw;padding-top: 10vh;grid-template-columns: repeat(3, 1fr);gap: 2rem;}

.grid-narrow .cell button {
    width: 100%;
    background: #FFFFFF30;
    border: solid 1px #FFFFFF60;
    margin-top: 1rem;
    color: white;
    font-weight: 300;
    position: relative;
    top: 0;
}

.grid-narrow .cell button:hover {
    background: #FFFFFF60;
}

.grid-narrow .cell .cell-content {height: 65vh;background: #FFFFFF20;border-radius: 10px;padding: 0.5rem 1rem;text-align: center;border: 1px solid #FFFFFF40;}

.grid-narrow .cell .cell-content icon {font-size: 5cqh;position: relative;top: 1rem;}

.grid-narrow .cell h3 {/* margin: 0; */font-size: 3cqh;}

.grid-narrow .cell .cell-content h4 {margin: 0;font-family: 'Roboto';font-size: 2cqh;text-align: left;}

.grid-narrow .cell .cell-content p {margin: 0 0 2rem 0;font-family: 'Roboto';font-size: 1.85cqh;text-align: left;font-weight: 200;}