/*---------------------------------------------All-----------------------------------------------*/

/* Variables */
:root {
    --font-base: 1rem;
    --clr-dark: rgb(0, 0, 0);
    --clr-light: rgb(255, 255, 255);
    --bgr-future: url(future.jpg);
    --bgr-retro: url(nature.jpg); 
}

/* Body values */
body {
    background-image: var(--bgr-retro);
    min-height: 100%;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    padding: 0;
    margin: 0;
    overflow-x: hidden;
    font-family: 'Open Sans';font-size: 1rem;
    font-size: var(--font-base);
    color: var(--clr-dark);
    transition: color 0.2s;
}

/* Switch values */
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

/* Slider values */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 34px;
    background-color: rgb(161, 161, 161);
    -webkit-transition: .4s;
    transition: .4s;
}

/* Slider Transition Values */
.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    border-radius: 50%;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

/* Slider background color in future-mode */
.future-mode .slider {
    background-color: rgb(148, 55, 125);
}

/* Slider transformation when switching to future-mode */
.future-mode .slider::before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

/* Icon values */
.container .switch{
    display: inline-block;
    top: 10%;
    margin-left: 3vh;
    position: fixed;
    z-index: 999;
}

/* Switch turns vertical at a certain screen width */
@media only screen and (max-width: 1460px){
    .switch {
        height: 60px;
        width: 34px;
    }

    .future-mode .slider::before {
        -webkit-transform: translateY(-26px);
        -ms-transform: translateY(-26px);
        transform: translateY(-26px);
    }
}

/* Futuremode values */
.future-mode {
    background-image: var(--bgr-future);
    color: var(--clr-light);
}

/* Nav Bar values */
.nav {
    background-color: rgb(0, 0, 0);
    position: fixed;
    width: 100%;
    top: 0%;
    z-index: 999;
}

/* Nav style and negation of default settings */
.nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

/* The items float to the right */
.nav ul li {
    float: right;
}

/* Nav bar item values */
.nav ul li a {
    display: block;
    color: white;
    text-align: center;
    padding: 2vh 1.1vh;
    text-decoration: none;
}

/* Hovering over an item causes it to change color */
nav ul li a:hover {
    background-color: rgb(99, 99, 99);
}

/* Changes navbar hover color in future-mode */
.future-mode nav ul li a:hover {
    background-color: rgb(148, 55, 125);
}

/* The current link is colored in */
.active {
    background-color: rgb(99, 99, 99);
}

/* Changes the color of the current link in the navbar in future-mode*/
.future-mode .active {
    background-color: rgb(148, 55, 125);
}

/* Footer values */
.footer {
    background-color: rgb(0, 0, 0);
    position: fixed;
    width: 100%;
    bottom: 0%;
    z-index: 999;
    text-align: center;
    opacity: 0.8;
}

/* Color, size and margin of the footer text */
.footer .row {
    color:gray;
    font-size:0.8em;
    margin: 0.8%;
}

/* The links have no text decoration and the transition time for the hover function */
.footer .row a {
    text-decoration:none;
    color:gray;
    transition:0.5s;
}

/* The links are colored differently when hovering over them */
.footer .row a:hover {
    color:rgb(255, 255, 255);
}

/* Margin and display style of the footer */
.footer .row ul li {
    display: inline-block;
    margin: 0.2%;
}
/*-----------------------------About Me & My Projects & Certificates-----------------------------*/

/* doubleGrid values */
.doubleGrid {
    margin-top: 25vh;
    justify-content: center;
    display: grid;
    grid-template-columns: repeat(2, 600px);
    gap: 55px;
    padding-bottom: 10vh;
}

/* singleGrid values */
.singleGrid {
    margin-top: 25vh;
    justify-content: center;
    display: grid;
    grid-template-columns: repeat(1, 600px);
    gap: 55px;
    padding-bottom: 10vh;
}

/* box values */
.box {
    background-color: rgb(214, 214, 214);
    border: 4px solid rgba(0, 0, 0, 0.8);
    padding: 20px;
    text-align: center;
    box-shadow: 10px 10px 5px rgb(0, 0, 0);
    transition: 0.3s;
    opacity: 0.8;
}

/* box color changes in future-mode */
.future-mode .box {
    background-color: rgb(40, 51, 130);
}

/* changes scale and opacity when hovering over box */
.box:hover {
    transform: scale(1.1, 1.1);
    transform-origin: center;
    opacity: 1;
}

/* Responsive Design for doubleGrid and singleGrid */
@media only screen and (max-width: 1300px){
    .doubleGrid {
        grid-template-columns: repeat(1, 600px);
    }
}

@media only screen and (max-width: 660px){
    .doubleGrid {
        grid-template-columns: repeat(1, 400px);
    }
}

@media only screen and (max-width: 460px){
    .doubleGrid {
        grid-template-columns: repeat(1, 300px);

    }
}

@media only screen and (max-width: 1300px){
    .singleGrid {
        grid-template-columns: repeat(1, 600px);
    }
}

@media only screen and (max-width: 660px){
    .singleGrid {
        grid-template-columns: repeat(1, 400px);
    }
}

@media only screen and (max-width: 460px){
    .singleGrid {
        grid-template-columns: repeat(1, 300px);

    }
}
/*---------------------------------------------Home----------------------------------------------*/

/* Intro values */
.Intro {
    margin-top: 25vh;
    align-items: center;
    text-align: center;
    color: rgb(255, 255, 255);
    mix-blend-mode: difference;
    
    font-size: 4rem;
}

/* Changes font color in future-mode */
.future-mode .Intro {
    color: rgb(256, 121, 203);
}

/* Responsive Design for different display sizes */
@media only screen and (max-width: 1500px){
    .Intro {
        font-size: 3rem;

    }
}

@media only screen and (max-width: 1150px){
    .Intro {
        font-size: 2.5rem;

    }
}

@media only screen and (max-width: 950px){
    .Intro {
        font-size: 2rem;

    }
}

@media only screen and (max-width: 750px){
    .Intro {
        font-size: 1.5rem;
    }
}

@media only screen and (max-width: 570px){
    .Intro {
        font-size: 1rem;
    }
}

@media only screen and (max-width: 390px){
    .Intro {
        font-size: 0.9rem;
    }
}

@media only screen and (max-width: 450px){
    .nav {
        font-size: 0.8rem;
    }
}