@import url('https://fonts.googleapis.com/css2?family=Alfa+Slab+One&family=Anton&family=Armata&family=Black+Ops+One&family=Caveat&family=Monoton&family=Poller+One&display=swap');


:root {
    --color-less-light: rgb(245, 245, 245);
    --color-white-invis: rgba(255, 255, 255, 0);
    --color-twitter: #1da0f2;
    --color-linkedin: #0076b5;
    --color-github: #24292e;
    --color-dark-40: rgba(0, 0, 0, 0.4);
    --color-dark-50: rgba(0, 0, 0, 0.5);
    --color-dark-10: rgba(0,0,0,0.1);
    --bg-color-primary: rgb(33,37,41);/*rgb(248, 249, 250);*/
    --bg-color-secondary: rgb(20,23,25);/*rgb(245, 245, 245);*/
    --bg-color-breakout: #383A44;
    --font-color-main: rgba(248, 249, 250, 1);
    --font-color-main-hover: rgba(180,181,182);
    --font-color-dark: rgb(20,23,25);
    --font-color-dark-hover: rgb(95, 100, 105);
    --font-color-beige: rgb(204, 154, 102);
    --font-color-beige-hover: rgb(204, 170, 134);
    --font-color-secondary: grey;
}

/* REMOVE */
.front-test {
    background-image: url('../media/mountain-range.jpg');
    background-position: bottom center;
    background-repeat:  no-repeat;
    background-size:  100% auto;
    opacity:1;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
}

span.csfunc {
    color: rgb(255,128,128);
}

span.csclass {
    color: rgb(255,255,128);
}

span.csvar {
    color: rgb(128,128,128);
}

span.cstype {
    color: rgb(86, 156, 214);
}

span.cscomment {
    color: rgb(87, 166, 74);
}

span.csstring {
    color: rgb(214, 157, 119);
}

span.cssymbol {
    color: rgb(220, 220, 220);
}

span.csstatement {
    color: rgb(216, 160, 223);
}

span.cslibrary {
    color: rgb(184, 215, 163);
}

.code {
    color: rgb(220, 220, 220);
    background-image: url("../media/codebg.png");
    background-repeat: repeat-y;
}


.accordion-button, .accordion-button.collapsed, .accordion-header, .accordion-item, .accordion, .accordion-button:not(.collapsed) {
    background-color: var(--bg-color-secondary);
    color: var(--font-color-main);
}

.text-color-primary 
{
    color: var(--font-color-main) !important;
}

.text-color-dark
{
    color: var(--font-color-dark);
}

.border-color-dark 
{
    border-color: var(--bg-color-primary) !important;
}

.code {
    background-color: rgb(30,30,30);
}


.front-line {
    position: absolute;
    transform: rotate(140deg);
    background: linear-gradient(to right,  rgb(56, 38, 127),  rgb(10, 3, 28));
    /*background: linear-gradient(to right, rgb(255, 0, 0) 0%, rgb(0, 255, 0)90%, rgb(0, 0, 255) 98%);*/
    background-size: 100% 100%, 0% 0%;
    background-position: 0% 0%, 0% 0%;
    background-repeat: no-repeat;
}

.front-line:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(to left,rgb(56, 38, 127), rgb(209, 94, 255)10%,  rgb(104, 53, 137) 80%, rgba(54, 35, 117, 0.5));
    background-size: 25% 100%, 0% 0%;
    opacity: 0;
    background-repeat: no-repeat;
    animation: animate linear infinite;
    animation-duration: inherit;
    animation-delay: inherit;
}

@keyframes animate {
    100% {
        opacity: 0;
        background-position:  140% 0%, 0% 0%;
    }

    50% {
        opacity: 0.1;
        background-position: 50% 0%, 0%, 0%;
    }

    0% {
        opacity: .8;
        background-position:  -40% 0%, 0% 0%;
    }
}


.bg-less-light {
    background-color: var(--color-less-light);
}

.tb-bg-primary {
    background-color: var(--bg-color-primary);
}

.tb-bg-breakout {
    background-color: var(--bg-color-breakout);
}

.bg-none {
    background-color: transparent;
}

.tb-bg-secondary {
    background-color: var(--bg-color-secondary);
}

.tb-bg-white  {
    background-color: white;
}

.tb-bg-none {
    background-color: initial;
}

.tb-bg-web {
    background-color: rgba(210,85,255,1);
}

.tb-bg-game {
    background-color: rgb(110,180,110);
    color: black;
}

.tb-bg-cardbase {
    background-color: rgba(120,120,120,1);
}

.tb-bg-cardbase-white {
    background-color: white;
    color: black;
}

.tb-bg-unity {
    background-color: rgba(72,175,82, 1);
}

.tb-bg-unreal {
    background-color: rgba(71,100,177,1);
}

.tb-border-color-primary {
    border-color: var(--bg-color-primary) !important;
}

.tb-border-color-secondary {
    border-color: var(--bg-color-secondary) !important;
}

.tb-border-color-white {
    border-color: rgb(255,255,255) !important;
}


.hover-text-white {
    color: rgba(255, 255, 255, 0);
}

.hover-text-white:hover {
    color: rgba(255, 255, 255, 1);
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    z-index: 2;
}


.carousel-trailer-link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-attachment: fixed;
    z-index: 3;
}

.hover-dark:after,
.hover-lightdark:after,
.hover-light:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-attachment: fixed;
    content: "";
    transition: 1s;
    border-color: rgba(0, 0, 0, 0);
}

.hover-dark:hover:after {
    background-color: var(--color-dark-50);
    border-color: white;
}

.hover-lightdark:hover:after {
    background-color: var(--color-dark-40);
    border-color: white;
}

.hover-light:hover:after {
    background-color: var(--color-dark-10);
    border-color: white;
}

.hover-popout {
    transition: 0.3s;
}

.hover-popout:hover {
    transform: scale(1.035);
    border-color: blue;
    transition: 0.3s;
}

.hover-content {
    position: absolute;
    left: 25%;
    top: 30%;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border-style: solid;
    border-color: inherit;
    width: 50%;
    max-width: 50%;
    height: 40%;
    color: inherit;
    transition: color 1.25s, border-color 1.25s;
    z-index: 2;
}

.hover-content-title {
    text-align: center;
    z-index: 2;
    margin-bottom: -2.5em;
    margin-top: 0em;
}

.hover-content-subtitle {
    text-align: center;
    z-index: 2;
    margin-top: -3em;
}

.hover-content-hr {
    border-style: solid;
    border-width: 1px;
    border-color: inherit;
    z-index: 3;
    width: 80%;
    height: 100%;
}


.socials a {
    font-size: 10em;
    color: red;
    margin: 0.5em;
}



.fa-linkedin {
    color: var(--color-linkedin);
}

.fa-twitter {
    color: var(--color-twitter);
}

.fa-envelope {
    color: grey;
}

.fa-github {
    color: var(--color-github);
}

.page-footer {
    color: white;
}

.page-footer a {
    text-decoration: none;
    color: white;
}

.page-footer a:hover {
    color: #ddd;
}

#main-footer {
    z-index: 10000;
}

.about-me a {
    color: var(--font-color-secondary);
}


.discrete-link {
    text-decoration: none;
    color: var(--font-color-main);
}


.discrete-link:hover {
    color: var(--font-color-main-hover);
}

.discrete-link-dark {
    text-decoration: none;
    color: var(--font-color-dark);
    background: 
        linear-gradient(to right, var(--font-color-dark-hover), var(--font-color-dark-hover)),
        linear-gradient(to right, var(--font-color-dark-hover), var(--font-color-dark-hover), var(--font-color-dark-hover));
        background-size: 0% 0.1em, 0% 0.1em;
        background-position: 25% 100%, 25% 100%;
        background-repeat: no-repeat;
        transition: background-size 100ms;
}

.discrete-link-dark:hover {
    color: var(--font-color-dark-hover);
    background-size: 0% 0.1em, 100% 0.1em;
}

.discrete-link-beige {
    text-decoration: none;
    color: var(--font-color-beige);
    background: 
        linear-gradient(to right, var(--font-color-beige), var(--font-color-beige)),
        linear-gradient(to right, var(--font-color-beige), var(--font-color-beige), var(--font-color-beige));
        background-size: 0% 0.1em, 0% 0.1em;
        background-position: 25% 100%, 25% 100%;
        background-repeat: no-repeat;
        transition: background-size 100ms;
}

.discrete-link-beige:hover {
    color: var(--font-color-beige-hover);
    background-size: 0% 0.1em, 100% 0.1em;
}

.active-nav-link {
    background-size: 0% 0.1em, 100% 0.1em;
}

.font-default-hover:hover {
    color: #666;
}

#main-navbar {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.bg-net {
    background-image: url("../media/BackgroundTest.png");
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.custom-card {
    width: 18rem;
}

.custom-card-image {
    height: 12rem;
    object-fit: cover;
}

.cursor-pointer {
    cursor: pointer;
}

.upper-left-triangle-flap {
    width: 0;
    height: 0;
    border-style: solid;
    position: absolute;
    border-width: 4.72rem 4.72rem 0 0;
    z-index: 5;
    border-color: var(--bg-color-breakout) transparent transparent transparent;
}

.upper-left-triangle-flap-border {
    width: 0;
    height: 0;
    border-style: solid;
    position: absolute;
    z-index: 0;
    border-width: 3.2rem 3.2rem 0 0;
    border-color: var(--bg-color-secondary) transparent transparent transparent;
    background-attachment: fixed;
    content: "";
}

.content-card-roof {
    height: 1.8rem;
    width: 100%;
    background-color: var(--bg-color-breakout);
    border-bottom-style: solid;
    z-index: 4;
    border-color: var(--bg-color-secondary);
    border-width: 0.2rem;
}

.content-card-floor {
    height: 1.8rem;
    width: 100%;
    background-color: var(--bg-color-breakout);
    border-top-style: solid;
    border-color: var(--bg-color-secondary);
    border-width: 0.2rem;
}

.category-option-btn, .project-option.btn {
    border-radius: 1rem;
    z-index: 1000;
    transition: 1s;
}

.category-link, .project-link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-attachment: fixed;
    content: "";
    overflow: hidden;
    transition: 0.5s;
    z-index: 900;
}

.category-options, .project-options {
    
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2.5rem;
    overflow: hidden;
    background-attachment: fixed;
    content: "";
    transition: 0.5s;
    opacity: 0;
}

.category-link:hover ~ .category-options, .category-options:hover, .project-link:hover ~ .project-options, .project-options:hover {
    transform: translate(0, 0.5rem);
    font-size: 1px;
    opacity: 1;
    z-index: 1000;
}

.backdrop-image {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    opacity: 1;
    width: 100%;
    height: 100%;
    margin-left: 0;
    position: absolute;
}

#project-backdrop {
    width: 100%;
    height: 100%;
    position: relative;
}

#project-backdrop-image {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    opacity: 0.1;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    position: absolute;
}

.tb-shadow-dark {
    box-shadow: 0.4rem 0.4rem var(--font-color-dark);
}

.nav-underline {
    transition: 0.2s;
}

.module, .editor-module {
    width: 100%;
}

.editor-module {
    cursor: pointer;
    background-image: url("../media/AddContent.png") !important;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 40% auto;
    outline: 0.1rem dashed var(--bg-color-breakout);
    outline-offset: -0.1rem;
}
    
.tb-image {
    max-width: 90%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-image: url("../media/AddContent.png");
}


.editor-module-toast {
    position: absolute;
}

.ms-n3 {
    margin-left: -1rem !important;
}

svg {
    pointer-events: none;
}

.font-oswald {
    font-family: 'Oswald',Helvetica,Arial,Lucida,sans-serif;
}

.font-anton {
    font-family: 'Anton', sans-serif;
}

.font-poller-one {
    font-family: 'Poller One', cursive;
}

.font-black-ops-one {
    font-family: 'Black Ops One', cursive;
}

.font-caveat {
    font-family:  'Caveat', cursive;
}

.font-alfa-slab-one {
    font-family: 'Alfa Slab One', cursive;
}

.font-monoton {
    font-family: 'Monoton', cursive;
}

.font-armata {
    font-family: 'Armata', sans-serif;
}

/*.tb-nav {
    height: 100%;
}*/



/* X-Large devices (large desktops, less than 1400px) */
@media (max-width: 1399.98px) {
    html {
        font-size: 1.6rem;
    }

    .hover-content-title {
        font-size: calc(2em * 0.8);
    }

    .hover-content-subtitle {
        font-size: calc(1.5em * 0.8);
    }

    .tb-pill .nav-link h1 {
        font-size: 1.5rem;
    }
}

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
    html {
        font-size: 1.4rem;
    }

    .hover-content-title {
        font-size: calc(2.0em * 0.75);
    }

    .hover-content-subtitle {
        font-size: calc(1.5em * 0.75);
    }

    .tb-pill .nav-link h1 {
        font-size: 1.3rem;
    }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    html {
        font-size: 1.2rem;
    }

    .hover-content-title {
        font-size: calc(2.0em * 0.7);
    }

    .hover-content-subtitle {
        font-size: calc(1.5em * 0.7);
    }

    .tb-pill .nav-link h1 {
        font-size: 1.3rem;
    }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
    html {
        font-size: 1rem;
    }

    .tb-pill .nav-link h1 {
        font-size: 1rem;
    }

    .nav-underline {
        padding-bottom: 0.125rem;
    }
    .accordion iframe {
        font-size: 0.7rem;
    }
}

/* X-Small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    .hover-content-title {
        font-size: calc(2.0em * 0.5);
    }

    .hover-content-subtitle {
        font-size: calc(1.5em * 0.5);
    }

    .custom-card {
        width: 12rem;
        object-fit: cover;
    }

    .custom-card-image {
        height: 8rem;
        object-fit: cover;
    }

    .tb-pill .nav-link h1 {
        padding: 0rem;
        font-size: 0.7rem;
    }

    .nav-underline {
        padding-bottom: 0.125rem !important;
    }


    .tb-nav {
        height: 5rem
        ;
    }
}