:root:not([data-theme="dark"]) {
    --body-bg: 255, 255, 255;
    --body-text: 33, 33, 33;
    --site-accent: 227, 242, 253;
    --code-block-text-emphasis: 89, 185, 255;
    --col-body-bg: rgb(var(--body-bg));
    --col-body-text: rgb(var(--body-text));
    --col-site-accent: rgb(var(--site-accent));
    --col-border: rgb(var(--site-accent));
    --col-tag-bg: rgb(var(--site-accent));
    --col-tag-text: rgb(var(--body-text));
    --icon-theme-switch-light: "fas fa-sun";
    --icon-theme-switch-dark: "fas fa-moon";
    --col-code-block-bg: rgb(48, 48, 48);
    --col-code-block-text: rgb(255, 255, 255);
    --col-code-block-filename: rgb(142, 142, 142);
    --col-code-block-text-emphasis: rgb(var(--code-block-text-emphasis));
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --body-bg: 33, 33, 33;
        --body-text: 255, 255, 255;
        --site-accent: 21, 71, 106;
        --code-block-text-emphasis: 89, 185, 255;
        --col-body-bg: rgb(var(--body-bg));
        --col-body-text: rgb(var(--body-text));
        --col-site-accent: rgb(var(--site-accent));
        --col-border: rgb(var(--site-accent));
        --col-tag-bg: rgb(var(--site-accent));
        --col-tag-text: rgb(var(--body-text));
        --icon-theme-switch-light: "fas fa-sun";
        --icon-theme-switch-dark: "fas fa-moon";
        --col-code-block-bg: rgb(255, 255, 255);
        --col-code-block-text: rgb(48, 48, 48);
        --col-code-block-text-emphasis: rgb(var(--code-block-text-emphasis));
    }
}
:root[data-theme="dark"] {
    --body-bg: 33, 33, 33;
    --body-text: 255, 255, 255;
    --site-accent: 21, 71, 106;
    --code-block-text-emphasis: 89, 185, 255;
    --col-body-bg: rgb(var(--body-bg));
    --col-body-text: rgb(var(--body-text));
    --col-site-accent: rgb(var(--site-accent));
    --col-border: rgb(var(--site-accent));
    --col-tag-bg: rgb(var(--site-accent));
    --col-tag-text: rgb(var(--body-text));
    --icon-theme-switch-light: "fas fa-sun";
    --icon-theme-switch-dark: "fas fa-moon";
    --col-code-block-bg: rgb(255, 255, 255);
    --col-code-block-text: rgb(48, 48, 48);
    --col-code-block-text-emphasis: rgb(var(--code-block-text-emphasis));
}

:root {
    --col-code-block-filename: rgb(142, 142, 142);
    --col-wave-opacity-high: rgba(var(--site-accent), 1);
    --col-wave-opacity-medium: rgba(var(--site-accent), 0.7);
    --col-wave-opacity-medium-small: rgba(var(--site-accent), 0.5);
    --col-wave-opacity-small: rgba(var(--site-accent), 0.3);
}
nav {                                         
    background-color: var(--col-site-accent);
    color: var(--col-body-text);
}

.nav-link {
    color: var(--col-body-text);
}

#footer, nav {
    font-size: larger;
    font-family: 'Pacifico', cursive;
    color: var(--col-body-text);
}

.btn-static {
    pointer-events: none;
}

.wide-media {
    width: 100%;
    height: auto;
}

body {
    font-family: 'Lora', serif;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: var(--col-body-bg);
    color: var(--col-body-text);
}

#footer {
    font-family: 'Lora', serif;
    background-color: var(--col-site-accent);
    flex: 0 0 50px;
    /*or just height:50px;*/
    margin-top: auto;
}

.form-title {
    text-align: center;
}

body.custom-global-body {
    font-family: 'Lora', serif;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.card-header {
    background-color: var(--col-site-accent);
    color: var(--body-text);
}

.card {
    background-color: var(--col-body-bg);
    color: var(--col-body-text);
    border-color: var(--col-border);
    border-width: 2px;
}

.btn-tags {
    background-color: var(--col-tag-bg);
    color: var(--col-tag-text);
}

.card-text {
    background-color: var(--col-body-bg);
    color: var(--col-body-text);
}

.list-group-item {
    background-color: var(--col-body-bg);
    color: var(--col-body-text);
}

.btn-primary {
    background-color: var(--col-site-accent);
    color: var(--col-body-text);
}

.btn-list {
    box-shadow: inset 0 0 0 0 var(--col-site-accent);
    padding: 0 .25rem;
    margin: 0 -.25rem;
    transition: color .3s ease-in-out, box-shadow .3s ease-in-out;
    color: var(--col-body-text);
    position: relative;
    text-decoration: none;
}

.btn-list:hover {
    background-color: var(--col-site-accent);
    color: var(--col-body-text);
    cursor: pointer;
}

/* .btn-list:active {
    top: 5px;
  } */

.btn-grow {
    text-decoration: none;
    color: var(--col-body-text);
    font-weight: 700;
    position: relative;
}

.btn-grow::before {
    content: '';
    background-color: var(--col-site-accent);
    position: absolute;
    left: 0;
    bottom: 3px;
    width: 100%;
    height: 8px;
    z-index: -1;
    transition: all .3s ease-in-out;
}

.btn-grow:hover::before {
    bottom: 0;
    height: 100%;
}


.btn-r2l {
    background-image: linear-gradient(to right, var(--col-site-accent), var(--col-body-text) 50%, var(--col-body-text) 50%);
    background-size: 200% 100%;
    background-position: -100%;
    display: inline-block;
    padding-top: 5px;
    padding-bottom: 5px;
    position: relative;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: all 0.3s ease-in-out;
}

.btn-r2l:before {
    content: "";
    background-color: var(--col-site-accent);
    display: block;
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 0;
    height: 3px;
    transition: all 0.3s ease-in-out;
}

.btn-r2l:hover {
    background-position: 0;
}

.btn-r2l:hover::before {
    width: 100%;
}

.justified-text {
    margin: 0;
    text-indent: 2rem;
    text-align: justify !important;
}

video {
    display: block;
    margin: auto;
}

.flag-links {
    text-decoration: none;
}

.pill {
    display: inline-block;
    padding: 0.3em 0.6em;
    border-radius: 10em;
    border: 1px solid var(--col-body-text);
    background-color: transparent;
    color: var(--col-body-text);
    text-align: center;
    margin: 0 auto;
}

.initially-hidden { display: none; }

.logo-responsive {
    height: auto;
    width: auto;
    min-height: 55px;
    max-width: 300px;
}

a.svg {
    position: relative;
    display: inline-block;
    width: 25%;
}
a.svg:after {
    content: ""; 
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left:0;
}
object {
    width: 100%;
}

.centered-container {
	margin:0 auto;
	position:relative;
    justify-content: center;
}

.waves-footer {
    position:relative;
    width: 100%;
    height:15vh;
    margin-bottom:-7px; /*Fix for safari gap*/
    min-height:100px;
    max-height:150px;
}

.waves-navbar {
    position:relative;
    width: 100%;
    height:15vh;
    margin-bottom:-7px; /*Fix for safari gap*/
    min-height:100px;
    max-height:150px;
}

.content {
    position:relative;
    height:20vh;
    text-align:center;
    background-color: white;
}

/* Animation */

.parallax > use {
    animation: move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite;   
}
.parallax > use:nth-child(1) {
    animation-delay: -2s;
    animation-duration: 7s;
}
.parallax > use:nth-child(2) {
    animation-delay: -3s;
    animation-duration: 10s;
}
.parallax > use:nth-child(3) {
    animation-delay: -4s;
    animation-duration: 13s;
}
.parallax > use:nth-child(4) {
    animation-delay: -5s;
    animation-duration: 20s;
}
@keyframes move-forever {
    0% {
        transform: translate3d(-90px,0,0);
    }
    100% { 
        transform: translate3d(85px,0,0);
    }
}
/*Shrinking for mobile*/
@media (max-width: 768px) {
    .waves {
        height:40px;
        min-height:40px;
    }
    .content {
        height:30vh;
    }
    h1 {
        font-size:24px;
    }
}

a {
    color: var(--col-body-text);
}

a:link {
    text-decoration: none;
}

.social-icon {
    color: var(--col-body-text);
    border-color: var(--col-body-text);
}

.side-blog-cards {
    display: flex;
    align-items: center;
}

.hit-count-style {
    display: inline-block;
}