/* CSS Imports */
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap");
.switch { background-color: var(--banner-background-color); display: inline-block; position: relative; }

.switch__input { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; }

.switch__label { position: relative; display: inline-block; width: 90px; height: 40px; background-color: #2B2B2B; border: 5px solid #5B5B5B; border-radius: 9999px; cursor: pointer; transition: all 0.4s cubic-bezier(0.46, 0.03, 0.52, 0.96); }

.switch__indicator { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) translateX(-72%); display: block; width: 30px; height: 30px; background-color: #7B7B7B; border-radius: 9999px; box-shadow: 10px 0px 0 0 rgba(0, 0, 0, 0.2) inset; }

.switch__indicator::before, .switch__indicator::after { position: absolute; content: ''; display: block; background-color: #FFFFFF; border-radius: 9999px; }

.switch__indicator::before { top: 7px; left: 7px; width: 9px; height: 9px; background-color: #FFFFFF; opacity: 0.6; }

.switch__indicator::after { bottom: 8px; right: 6px; width: 14px; height: 14px; background-color: #FFFFFF; opacity: 0.8; }

.switch__decoration { position: absolute; top: 65%; left: 50%; display: block; width: 5px; height: 5px; background-color: #FFFFFF; border-radius: 9999px; animation: twinkle 0.8s infinite -0.6s; }

.switch__decoration::before, .switch__decoration::after { position: absolute; display: block; content: ''; width: 5px; height: 5px; background-color: #FFFFFF; border-radius: 9999px; }

.switch__decoration::before { top: -20px; left: 10px; opacity: 1; animation: twinkle 0.6s infinite; }

.switch__decoration::after { top: -7px; left: 30px; animation: twinkle 0.6s infinite -0.2s; }

@keyframes twinkle { 50% { opacity: 0.2; } }

.switch__indicator, .switch__indicator::before, .switch__indicator::after { transition: all 0.4s cubic-bezier(0.46, 0.03, 0.52, 0.96); }

.switch__input:checked + .switch__label { background-color: #8FB5F5; border-color: #347CF8; }

.switch__input:checked + .switch__label .switch__indicator { background-color: #ECD21F; box-shadow: none; transform: translate(-50%, -50%) translateX(72%); }

.switch__input:checked + .switch__label .switch__indicator::before, .switch__input:checked + .switch__label .switch__indicator::after { display: none; }

.switch__input:checked + .switch__label .switch__decoration { top: 50%; transform: translate(0%, -50%); animation: cloud 8s linear infinite; width: 20px; height: 20px; }

.switch__input:checked + .switch__label .switch__decoration::before { width: 10px; height: 10px; top: auto; bottom: 0; left: -8px; animation: none; }

.switch__input:checked + .switch__label .switch__decoration::after { width: 15px; height: 15px; top: auto; bottom: 0; left: 16px; animation: none; }

.switch__input:checked + .switch__label .switch__decoration, .switch__input:checked + .switch__label .switch__decoration::before, .switch__input:checked + .switch__label .switch__decoration::after { border-radius: 9999px 9999px 0 0; }

.switch__input:checked + .switch__label .switch__decoration::after { border-bottom-right-radius: 9999px; }

@keyframes cloud { 0% { transform: translate(0%, -50%); }
  50% { transform: translate(-50%, -50%); }
  100% { transform: translate(0%, -50%); } }

.navbar { background-color: var(--banner-background-color); }

.nav-bar { width: 100%; display: inline-block; background-color: var(--banner-background-color); font-family: "Poppins", serif; font-weight: 700 !important; padding-top: 10px; }

.navbar-light .navbar-nav .nav-link { color: white; }

.navbar-light .navbar-nav .nav-link:hover { color: white; }

.nav-logo img { width: 200px; z-index: 1; }

.navbar-toggler { background-color: white; float: right; position: relative; }

.navbar-brand { position: absolute; left: 5%; margin-left: -50px !important; display: block; padding-left: 5%; }

button { margin-left: 82%; }

.navbar-collapse { margin-left: 82%; }

@media (min-width: 1200px) { .navbar-collapse { margin-left: auto; } .navbar-brand { left: 5%; } }

@media (max-width: 1076px) { .navbar-brand { left: 11%; } }

@media (max-width: 500px) { .navbar-brand { margin-left: 10%; padding-left: 5%; } button { margin-left: 30%; } .navbar-collapse { margin-left: 30%; } }

@media (min-width: 500px) and (max-width: 590px) { button { margin-left: 60%; } .navbar-collapse { margin-left: 60%; } }

@media (min-width: 590px) and (max-width: 850px) { button { margin-left: 72%; } .navbar-collapse { margin-left: 72%; } }

@media (min-width: 850px) and (max-width: 1000px) { button { margin-left: 80%; } .navbar-collapse { margin-left: 80%; } }

/* Dark Mode toggle */
.theme-switch-wrapper { display: flex; align-items: center; padding-left: 5%; color: white; background-color: var(--banner-background-color); }

.theme-switch-wrapper em { margin-left: 10px; font-size: 1rem; }

.theme-switch { display: inline-block; height: 34px; position: relative; width: 60px; }

.theme-switch input { display: none; }

.slider { background-color: #ccc; bottom: 0; cursor: pointer; left: 0; position: absolute; right: 0; top: 0; transition: 0.4s; }

.slider:before { background-color: #fff; bottom: 4px; content: ""; height: 26px; left: 4px; position: absolute; transition: 0.4s; width: 26px; }

input:checked + .slider { background-color: #66bb6a; }

input:checked + .slider:before { transform: translateX(26px); }

.slider.round { border-radius: 34px; }

.slider.round:before { border-radius: 50%; }

.home { background-color: var(--banner-background-color) !important; position: relative; height: 85vh; overflow: hidden; }

.profile { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; text-align: center; height: 320px; margin-bottom: 50px; }

.profile h1 { font-size: 50px; font-weight: 700; color: var(--title-color); }

.profile img { border-radius: 50%; max-width: 100%; max-height: 100%; margin-left: auto; margin-right: auto; display: block; padding: 20px; }

.profile .profile-picture { margin-bottom: 30px; height: 200px; z-index: 1; }

.profile .download { color: var(--title-color); outline: none; background: transparent; border: none; margin-left: 0; }

/* Background Animation */
.cube { position: absolute; top: 80vh; left: 45vw; width: 10px; height: 10px; border: solid 1px #003298; transform-origin: top left; transform: scale(0) rotate(0deg) translate(-50%, -50%); animation: cube 12s ease-in forwards infinite; }

.cube:nth-child(2n) { border-color: #0051f4; }

.cube:nth-child(2) { animation-delay: 2s; left: 25vw; top: 40vh; }

.cube:nth-child(3) { animation-delay: 4s; left: 75vw; top: 50vh; }

.cube:nth-child(4) { animation-delay: 6s; left: 90vw; top: 10vh; }

.cube:nth-child(5) { animation-delay: 8s; left: 10vw; top: 85vh; }

.cube:nth-child(6) { animation-delay: 10s; left: 50vw; top: 10vh; }

@keyframes cube { from { transform: scale(0) rotate(0deg) translate(-50%, -50%);
    opacity: 1; }
  to { transform: scale(20) rotate(960deg) translate(-50%, -50%);
    opacity: 0; } }

p, h1, h2, h3, h4, h5, h6, button { font-family: "Open Sans", serif; }

h2 { font-size: large; }

body { background-color: var(--body-color) !important; background-size: cover; width: auto !important; overflow-x: hidden !important; font-family: "Open Sans", serif; }

.banner { padding: 20px 0px 50px 0px; height: 150px; background-color: var(--banner-background-color); }

.banner .logo { max-width: 180px; max-height: 60px; width: auto; height: auto; }

.banner .title { color: var(--title-color); font-size: 50px; font-weight: 700; }

.page { text-align: left; }

.page h1 { text-align: left !important; font-weight: 800 !important; color: var(--text-color); margin-bottom: 0.7em; }

.page h2 { text-align: left !important; font-weight: 800 !important; color: var(--text-color); margin-bottom: 0.5em; }

.page h3 { font-weight: 600 !important; text-align: left !important; color: var(--text-color); font-size: 1.3rem; }

.page h4 { font-weight: 600 !important; text-align: center !important; color: var(--text-color); }

.page p { color: var(--text-color); font-weight: 500; }

.page td { color: var(--text-color); }

.page th { color: var(--text-color); }

.page li { color: var(--text-color); }

.page a { color: var(--page-color); }

.page a:hover { color: var(--page-color); }

.page code { color: var(--page-code-color); }

hr { background-color: var(--text-color); padding: 1px; margin-top: 1em !important; margin-bottom: 1em !important; }

@media screen and (max-width: 768px) { .banner { padding: 20px 0px 20px 0px; height: 110px; } .banner .logo { max-width: 150px; max-height: 60px; width: auto; height: auto; } .banner .title { color: var(--title-color); font-size: 30px; font-weight: 700; } .page h1 { font-size: 1.5rem !important; } .page h2 { font-size: 1.2rem !important; } .page h4 { font-size: 0.8rem !important; } }

.switch { background-color: var(--banner-background-color); display: inline-block; position: relative; }

.switch__input { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; }

.switch__label { position: relative; display: inline-block; width: 90px; height: 40px; background-color: #2B2B2B; border: 5px solid #5B5B5B; border-radius: 9999px; cursor: pointer; transition: all 0.4s cubic-bezier(0.46, 0.03, 0.52, 0.96); }

.switch__indicator { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) translateX(-72%); display: block; width: 30px; height: 30px; background-color: #7B7B7B; border-radius: 9999px; box-shadow: 10px 0px 0 0 rgba(0, 0, 0, 0.2) inset; }

.switch__indicator::before, .switch__indicator::after { position: absolute; content: ''; display: block; background-color: #FFFFFF; border-radius: 9999px; }

.switch__indicator::before { top: 7px; left: 7px; width: 9px; height: 9px; background-color: #FFFFFF; opacity: 0.6; }

.switch__indicator::after { bottom: 8px; right: 6px; width: 14px; height: 14px; background-color: #FFFFFF; opacity: 0.8; }

.switch__decoration { position: absolute; top: 65%; left: 50%; display: block; width: 5px; height: 5px; background-color: #FFFFFF; border-radius: 9999px; animation: twinkle 0.8s infinite -0.6s; }

.switch__decoration::before, .switch__decoration::after { position: absolute; display: block; content: ''; width: 5px; height: 5px; background-color: #FFFFFF; border-radius: 9999px; }

.switch__decoration::before { top: -20px; left: 10px; opacity: 1; animation: twinkle 0.6s infinite; }

.switch__decoration::after { top: -7px; left: 30px; animation: twinkle 0.6s infinite -0.2s; }

@keyframes twinkle { 50% { opacity: 0.2; } }

.switch__indicator, .switch__indicator::before, .switch__indicator::after { transition: all 0.4s cubic-bezier(0.46, 0.03, 0.52, 0.96); }

.switch__input:checked + .switch__label { background-color: #8FB5F5; border-color: #347CF8; }

.switch__input:checked + .switch__label .switch__indicator { background-color: #ECD21F; box-shadow: none; transform: translate(-50%, -50%) translateX(72%); }

.switch__input:checked + .switch__label .switch__indicator::before, .switch__input:checked + .switch__label .switch__indicator::after { display: none; }

.switch__input:checked + .switch__label .switch__decoration { top: 50%; transform: translate(0%, -50%); animation: cloud 8s linear infinite; width: 20px; height: 20px; }

.switch__input:checked + .switch__label .switch__decoration::before { width: 10px; height: 10px; top: auto; bottom: 0; left: -8px; animation: none; }

.switch__input:checked + .switch__label .switch__decoration::after { width: 15px; height: 15px; top: auto; bottom: 0; left: 16px; animation: none; }

.switch__input:checked + .switch__label .switch__decoration, .switch__input:checked + .switch__label .switch__decoration::before, .switch__input:checked + .switch__label .switch__decoration::after { border-radius: 9999px 9999px 0 0; }

.switch__input:checked + .switch__label .switch__decoration::after { border-bottom-right-radius: 9999px; }

@keyframes cloud { 0% { transform: translate(0%, -50%); }
  50% { transform: translate(-50%, -50%); }
  100% { transform: translate(0%, -50%); } }

.modal-footer-icons { width: 30% !important; }

.project-footer-icons { font-size: 32px; color: var(--banner-background-color); }

.project-close-btn { background-color: var(--banner-background-color); border-color: var(--banner-background-color); }

.project-close-btn:hover { text-decoration: underline; background-color: var(--banner-background-color); border-color: var(--banner-background-color); }

.modal-body { color: black; }

.modal-title { color: black; }

#btnTop { display: inline-block; background-color: #0766CA; width: 50px; height: 50px; text-align: center; border-radius: 4px; position: fixed; bottom: 30px; right: 30px; transition: background-color .3s,  opacity .5s, visibility .5s; opacity: 0; visibility: hidden; z-index: 1000; }

#btnTop:hover { cursor: pointer; background-color: #333; }

#btnTop:active { background-color: #555; }

#btnTop.show { opacity: 1; visibility: visible; }

.footer { height: 200px; background-color: var(--banner-light-blue) !important; margin-top: 50px; align-items: center; }

.footer h1 { margin-top: 30px; font-size: 30px; font-family: "Open Sans", sans-serif; }

.footer .social-image { padding: 10px; }

.footer .social-image :hover { opacity: 0.9; }

.footer .social-image img { width: 60px; }

/* Global CSS */
html { font-size: 16px; scroll-behavior: smooth; }

::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); border-radius: 10px; background-color: #F5F5F5; }

::-webkit-scrollbar { width: 8px; background-color: transparent; }

::-webkit-scrollbar-thumb { -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); background-color: #0766CA; }

::-webkit-scrollbar-thumb:hover { background: #8e7f7f; }

.card-container { display: grid; grid-template-columns: repeat(4, 1fr); font-family: "Open Sans", sans-serif; }

body { background-color: var(--body-color); margin-bottom: 50px; color: var(--text-color); }

h2 { margin-bottom: 20px; margin-top: 20px; font-weight: 700; text-align: center; }

.card { display: flex; flex-direction: row; align-items: center; justify-content: center; margin: 20px 30px; background-color: var(--card-color); border-radius: 0.375rem; padding: 1.5em; font-size: 1.2em; text-align: center; cursor: pointer; }

a { color: var(--link-colo); }

/* Full Width Card CSS */
.card.full .icon { width: 50%; height: auto; }

.card.full .icon img { border-radius: 50%; }

.card.full .info { padding: 2.5%; }

.card.full .info .location { margin: 2.5% 0; }

/* Card Info CSS */
.info p { margin-top: 5px; margin: 0px; text-align: left; }

.info .title { font-size: 500; font-weight: bold; }

.info .location { font-size: medium; font-weight: 400; }

.info .text { font-size: medium; font-weight: 300; }

.info .dates { font-size: small; color: var(--dates-color); }

.icon { width: 70px; height: 70px; margin-right: 20px; padding: 10px; }

.icon img { width: 100%; }

/* Netlify form at the end of the index page */
.form-control { background-color: var(--card-color); border: var(--card-color); }

.transform { transition: all 0.3s; }

.transform:hover { transform: scale(1.05); }

:root { /* text colors (Title, Text, Links, Dates) */ --title-color: white; --text-color: black; --link-color: black; --dates-color: #404040; /* background colors (Body, Cards, Banner)*/ --body-color: #f5f5f9; --card-color: white; --banner-background-color: #1C539F; /* page colors (See page.scss) **/ --page-color: #0f90fe; --page-code-color: #17a2b8; }

[data-theme="dark"] { /* text colors (Title, Text, Links, Dates) */ --title-color: white; --text-color: white; --link-color: white; --dates-color: #b6b6b6; /* background colors (Body, Cards, Banner, Form)*/ --body-color: #232323; --card-color: #303030; --banner-background-color: #e3ac67; /* page colors (See page.scss) **/ --page-color: #0f90fe; --page-code-color: #17a2b8; }

/*# sourceMappingURL=main.css.map */