/* #region GENERAL*/
/* #region LIGHT THEME */
:root[data-theme="default"] {
    --primary-color: #0d2b6b;
    --projects-color: #0f388f;
    --header-h1: #fbc02d;
    --secondary-color: #e9a700; 
    --about-h2: #1a56d7;
    --background-color: #f5f5f5; 
    --second-background-color: #fbc02d;
    --text-color: #000000;
    --link-color: #1a56d7; 
    --link-color-hover: #1e4887; 
    --link-visited: #5e7c91;
    --link-active: #388e3c;
    --button-bg-color: #1a56d7; 
    --button-hover-bg-color: #1a2342;
    --about-a-hover: #f5f5f5;   
    --hover: #1e4887;
    --background: #F5F5F5;
    --black: #212121;
    --project-first: #000000;
}
:root[data-theme="high-contrast"] {
--primary-color: #000000;
--projects-color: #000000;
--header-h1: #ffcc00;
--secondary-color: #ffcc00;
--about-h2: #0000ff;
--background-color: #f5f5f5;
--second-background-color: #000000;
--text-color: #000000;
--link-color: #0000ff;
--link-color-hover: #b71c1c;
--link-active: #d32f2f;
--link-visited: #9c27b0;
--button-bg-color: #2962ff;
--button-hover-bg-color: #f5f5f5;
--about-a-hover: #000000;
--hover: #ff1744;
--background: #f5f5f5;
--black: #000000;
--project-first: #0000ff;
}
:root[data-theme="greyscale"] {
    --primary-color: #4f4f4f;
    --projects-color: #3d3d3d;
    --header-h1: #000000;
    --secondary-color: #757575;
    --about-h2: #636363;
    --background-color: #e0e0e0;
    --second-background-color: #ffffff;
    --text-color: #000000;
    --link-color: #636363;
    --link-color-hover: #424242;
    --link-visited: #5e5e5e;
    --link-active: #757575;
    --button-bg-color: #636363;
    --button-hover-bg-color: #000000;
    --about-a-hover: #e0e0e0;
    --hover: #424242;
    --background: #e0e0e0;
    --black: #212121;
    --project-first: #000000;
}    
:root[data-theme="deuteranopia"] {
--primary-color: #045e8f; 
--projects-color: #0f388f;
--header-h1: #fbc02d;
--secondary-color: #ff934f; 
--about-h2: #1a56d7;
--background-color: #ffffff; 
--second-background-color: #fcb78d; 
--text-color: #000000;
--link-color: #058ed9; 
--link-color-hover: #1a237e;
--link-visited: #cc2d35; 
--link-active: #fcb78d; 
--button-bg-color: #058ed9; 
--button-hover-bg-color: #2d3142; 
--about-a-hover: #f5f5f5;
--hover: #2d3142; 
--background: #e1daae;
--black: #212121; 
--project-first: #000000; 
--border-color: #2d3142;
}
:root[data-theme="protanopia"] {
--primary-color: #235fa4;
    --projects-color: #000000;
    --header-h1: #fbc02d;
    --secondary-color: #e9a700;
    --about-h2: #1a56d7;
    --background-color: #f6ff8f;
    --second-background-color: #dcbae9;
    --text-color: #000000;
    --link-color: #1a56d7;
    --link-color-hover: #2980b9;
    --link-visited: #a691ae;
    --link-active: #f1c40f;
    --button-bg-color: #1a56d7;
    --button-hover-bg-color: #1a2342;
    --about-a-hover: #f5f5f5;
    --hover: #3498db;
    --background: #f5f5f5;
    --black: #000000;
    --project-first: #000000;
    --border-color: #2d3142;
}
:root[data-theme="achromatomaly"] {
--primary-color: #2d4f63;
--projects-color: #695545;
--header-h1: #fbc02d;
--secondary-color: #e9a700;
--about-h2: #2d4f63;
--background-color: #fffbe4;
--second-background-color: #fc898c;
--text-color: #212121;
--link-color: #2d4f63;
--link-color-hover: #854a4c;
--link-visited: #caa386;
--link-active: #2d4f63;
--button-bg-color: #2d4f63;
--button-hover-bg-color: #232327;
--about-a-hover: #f5f5f5;
--hover: #854a4c;
--background: #f5f5f5;
--black: #000000;
--project-first: #000000;
--border-color: #2d3142;
}
:root[data-theme="tritanopia"] {
--primary-color: #2d676f;
    --projects-color: #9b5050;
    --header-h1: #fbc02d;
    --secondary-color: #e9a700;
    --about-h2: #2d676f;
    --background-color: #ffdcdc;
    --second-background-color: #ff5050;
    --text-color: #212121;
    --link-color: #2d676f;
    --link-color-hover: #f48080;
    --link-visited: #fd4f4f;
    --link-active: #f48080;
    --button-bg-color: #2d676f;
    --button-hover-bg-color: #071516;
    --about-a-hover: #f5f5f5;
    --hover: #f48080;
    --background: #f5f5f5;
    --black: #000000;
    --project-first: #000000;
    --border-color: #2d3142;
}  
:root[data-theme="monochromacy"] {
--primary-color: #6d4f57; 
--projects-color: #75535d;
--header-h1: #fbc02d;
--secondary-color: #563e45;
--about-h2: #4b363c;
--background-color: #f5f5f5;
--second-background-color: #402e33;
--text-color: #212121;
--link-color: #6d4f57;
--link-color-hover: #62464e;
--link-visited: #563e45;
--link-active: #4b363c;
--button-bg-color: #6d4f57;
--button-hover-bg-color: #faafc4;
--about-a-hover: #463237;
--hover: #62464e;
--background: #f5f5f5;
--black: #000000;
--project-first: #000000;
--border-color: #2d3142;
}  
/* #endregion */
/* #region DARK THEME*/
:root[data-theme="dark"] {
    --primary-color: #0d2b6b;
    --header-h1: #fbc02d;
    --projects-color: #eeecec;  
    --secondary-color: #eeb012;
    --about-h2: #eeb012;
    --background-color: #eeecec; 
    --second-background-color: #f5f5f5;
    --text-color: #eeecec;
    --link-color: #1a56d7; 
    --link-color-hover: #1e4887; 
    --link-visited: #5e7c91;
    --link-active: #388e3c;
    --button-bg-color: #1a56d7; 
    --button-hover-bg-color: #1a2342;
    --hover: #1e4887;
    --background: #131313;
    --black: #212121;
    --about-a-hover: #f5f5f5;
    --project-first: #eeb012;
    --font-size: 18px;          
}
    /* #endregion */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
img, video, canvas {
    overflow: clip;
} 
img {
    max-width: 100%
}
html, body {
    scroll-behavior: smooth;
    will-change: transform;
    scroll-padding: 9rem;
}
html {
    font-size: var(--font-size);
}
body {
    font-family: Merriweather, serif;
    background-color: var(--background);
    font-size: 1.15rem;
    line-height: 2.2rem;
}
a {
    text-decoration: none;
    color: var(--black);
    line-height: 1.3;
    cursor: pointer;
}
button {
    cursor: pointer;
}
.project-container:focus  {
    outline: 2px solid var(--black);
}
a:visited {
    color: var(--link-visited);
}
a:active {
    color: var(--secondary-color);
}
a:hover {
    outline: none;
    border: none;
}
a:focus {
    outline: 3px solid var(--black);
}
h1, h2, h3 {
    line-height: 2.6rem;
}
/* #endregion */
/* #region HEADER*/
header {
    display: flex; 
    justify-content: space-between;
    align-items: center; 
    padding: 0.9rem; 
    background-color: var(--primary-color);
    position: sticky;
    transition: top 0.5s;
    top: 0;
    z-index: 4;
    height: 5rem;
    width: 100%;
}
header .button {
    all: unset; 
    display: inline-block; 
    color: var(--background-color);
    text-decoration: none;
    border-radius: 25px;
    padding: 0.3rem;
    font-size: 1.1rem;
    margin: 0.5rem;
    background-color: var(--primary-color);
    cursor: pointer;
    text-align: center;
    transition: 0.5s ease-out;
    border: 3px solid var(--background-color);
}
header .button:hover, header .button:focus {
    background-color: var(--button-hover-bg-color);
    transition: background-color 0.5s ease-out, transform 0.2s ease-in-out;
    transform: scale(1.1);
}
header h1 {
    font-size: 2rem;
    color: var(--background-color);
    padding-left: 1rem;
}
header h1::first-letter {
    color: var(--header-h1);
}
img[src*="portfolio/assets/images/logo.webp"] {
    width: 4.375rem;
    height: 4.375rem;
    margin: 0.5rem;
}
#tog .theme-toggle, #tog .theme-toggle-mob, #tog .settings{
    background-color: transparent; 
    border: none;  
    color: var(--background-color);
    margin: 1.5rem 0.5rem;
    padding: 0.2rem 0.4rem;
    border-radius: 20px;
}
#tog .theme-toggle:hover, #tog .theme-toggle:focus, #tog .theme-toggle-mob:hover, #tog .theme-toggle-mob:focus, #tog .settings:hover, #tog .settings:focus {
    color: var(--second-background-color);
    background-color: var(--button-hover-bg-color);
    border-radius: 20px;
    cursor: pointer;
    outline: 2px solid var(--second-background-color);
    fill: var(--button-hover-bg-color);
}
#tog {
    display: flex;
    margin: 0.5rem;
}
#breadcrumb {
    display: flex;
    justify-content: left;
    color: var(--background);
    margin: 0.2rem;
    padding: 0.2rem;
}
#breadcrumb .link, #breadcrumb .link-p {
    color: var(--text-color);
    margin: 0.2rem;
    padding: 0.3rem;
}
#breadcrumb .link-p {
    padding: 0;
}
#breadcrumb a:hover,  #breadcrumb a:focus {
    color: var(--secondary-color);
}   
/* #endregion */
/* #region PANELS*/
.settings-panel {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--black);
    width: 100%;
    padding-bottom: 0.7rem;
    position: fixed;
    z-index: 2;
    top: 0;
    padding: 2rem;
}
.settings-panel button {    
    text-align: center;     
    font-size: 1rem;
    margin: 0.4rem;
    padding: 0.5rem;
    color: var(--background-color);
    cursor: pointer;
    width: 25vh;
    background-color: var(--black);
    border-radius: 10px;
    outline: 2px solid var(--background-color);
}
.settings-panel p {
    text-align: center;
    padding: 1rem 2rem;
    color: var(--background-color);
}
.settings-panel button:hover, .settings-panel button:focus {
    color: var(--second-background-color);
    background-color: var(--button-hover-bg-color);  
}
.settings-panel-active {
    display: flex;
}
/* #endregion */
/* #region CONTACT*/
#contact {
    margin-top: 20rem;
    text-align: center;
    padding: 3rem;
}
#contact h4 {
    margin: 1rem;
    font-size: 2rem;
    background-color: var(--background);
    text-decoration: underline var(--secondary-color);
    color: var(--projects-color);
}
#contact h4::first-letter {
    color: var(--project-first);
}
#contact a {
    display: inline-block;
    padding: 0.5rem;
    margin: 1rem;
    border-radius: 30px;
}
#contact img {
    display: block; 
    border-radius: 50%;  
}
img[src*="portfolio/assets/icons/mail.webp"], img[src*="portfolio/assets/icons/github.webp"], img[src*="portfolio/assets/icons/telephone.webp"] {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 20px;
    image-rendering: crisp-edges;
}
 #w3c img {
    all: unset;
    width: 3.75rem;
    height: 1.5rem;
}
#cont a, #w3c {
    transition: transform 0.5s ease-in-out;
    cursor: pointer;
}
#w3c:hover, #cont a:hover { 
    transition: transform 0.5s ease-in-out;
    transform: scale(1.1);
}
#w3c:focus, #cont a:focus {
    transition: transform 0.5s ease-in-out;
    transform: scale(1.1);
    outline: 4px solid var(--secondary-color);
}
/* #endregion */
/* #region KEYFRAMES*/
@keyframes scale-up {
    from {

        transform: scaleX(0);
    }
    to {
        transform: scaleX(1);
    }
}

#progress-bar {
    position: sticky;
    background-color: var(--secondary-color);
    left: 0;
    top: 5rem;
    z-index: 4;
    height: 0.7rem;
    width: 100%;
    transform-origin: 0-50%;
    animation: auto linear scale-up;
    animation-timeline: scroll();
}
/* #endregion */
/* #region MEDIA */
/*MEDIA -Extra Small Devices*/
@media screen and (min-width: 331px) and (max-width: 480px) {
    :root[data-theme="dark"],
    :root[data-theme="default"], :root[data-theme="high-contrast"],
    :root[data-theme="greyscale"], :root[data-theme="deuteranopia"],
    :root[data-theme="protanopia"], :root[data-theme="achromatomaly"],
    :root[data-theme="tritanopia"], :root[data-theme="monochromacy"] {
        --font-size: 12px;
    }
    .theme-toggle {
        display: none;
    }
    .theme-toggle-mob {
        display: block;
    }
}  
/*MEDIA -Small Devices*/
@media screen and (min-width: 481px) and (max-width: 767px) {
    :root[data-theme="dark"],
    :root[data-theme="default"], :root[data-theme="high-contrast"],
    :root[data-theme="greyscale"], :root[data-theme="deuteranopia"],
    :root[data-theme="protanopia"], :root[data-theme="achromatomaly"],
    :root[data-theme="tritanopia"], :root[data-theme="monochromacy"] {
        --font-size: 15px;
    }
    .theme-toggle {
        display: none;
    }
    .theme-toggle-mob {
        display: block;
    }
}  
/*MEDIA -Medium Devices*/
@media screen and (min-width: 768px) and (max-width: 1024px) {
    :root[data-theme="dark"],
    :root[data-theme="default"], :root[data-theme="high-contrast"],
    :root[data-theme="greyscale"], :root[data-theme="deuteranopia"],
    :root[data-theme="protanopia"], :root[data-theme="achromatomaly"],
    :root[data-theme="tritanopia"], :root[data-theme="monochromacy"] {
        --font-size: 16px;
    }
    .theme-toggle {
        display: none;
    }
    .theme-toggle-mob {
        display: block;
    }
    
}   
/*MEDIA -Large Devices*/ 
@media screen and (min-width: 1025px) and (max-width: 1200px) {
    :root[data-theme="dark"],
    :root[data-theme="default"], :root[data-theme="high-contrast"],
    :root[data-theme="greyscale"], :root[data-theme="deuteranopia"],
    :root[data-theme="protanopia"], :root[data-theme="achromatomaly"],
    :root[data-theme="tritanopia"], :root[data-theme="monochromacy"] {
        --font-size: 17px;
    }
    .theme-toggle {
        display: none;
    }
    .theme-toggle-mob {
        display: block;
    }
}
/*MEDIA -Extra Large Devices*/
@media screen and (min-width: 1201px) and (max-width: 1440px) {
    :root[data-theme="dark"],
    :root[data-theme="default"], :root[data-theme="high-contrast"],
    :root[data-theme="greyscale"], :root[data-theme="deuteranopia"],
    :root[data-theme="protanopia"], :root[data-theme="achromatomaly"],
    :root[data-theme="tritanopia"], :root[data-theme="monochromacy"] {
        --font-size: 18px;
    }
    .theme-toggle {
        display: none;
    }
    .theme-toggle-mob {
        display: block;
    }

} 
/*MEDIA -Extra Extra Large Devices*/
@media screen and (min-width: 1441px) {
    :root[data-theme="dark"],
    :root[data-theme="default"], :root[data-theme="high-contrast"],
    :root[data-theme="greyscale"], :root[data-theme="deuteranopia"],
    :root[data-theme="protanopia"], :root[data-theme="achromatomaly"],
    :root[data-theme="tritanopia"], :root[data-theme="monochromacy"] {
        --font-size: 20px;
    }
    .theme-toggle {
        display: none;
    }
    .theme-toggle-mob {
        display: block;
    }

} 
/*Just for maximum responsiveness*/
@media screen and (min-width: 320px) and (max-width: 330px) {
    :root[data-theme="dark"],
    :root[data-theme="default"], :root[data-theme="high-contrast"],
    :root[data-theme="greyscale"], :root[data-theme="deuteranopia"],
    :root[data-theme="protanopia"], :root[data-theme="achromatomaly"],
    :root[data-theme="tritanopia"], :root[data-theme="monochromacy"] {
        --font-size: 10px;
    }
    .theme-toggle {
        display: none;
    }
    .theme-toggle-mob {
        display: block;
    }
} 
@media screen and (min-width: 240px) and (max-width: 319px) {
    :root[data-theme="dark"],
    :root[data-theme="default"], :root[data-theme="high-contrast"],
    :root[data-theme="greyscale"], :root[data-theme="deuteranopia"],
    :root[data-theme="protanopia"], :root[data-theme="achromatomaly"],
    :root[data-theme="tritanopia"], :root[data-theme="monochromacy"] {
        --font-size: 9px;
    }
    .theme-toggle {
        display: none;
    }
    .theme-toggle-mob {
        display: block;
    }
}  
@media screen and (min-width: 120px) and (max-width: 239px) {
    :root[data-theme="dark"],
    :root[data-theme="default"], :root[data-theme="high-contrast"],
    :root[data-theme="greyscale"], :root[data-theme="deuteranopia"],
    :root[data-theme="protanopia"], :root[data-theme="achromatomaly"],
    :root[data-theme="tritanopia"], :root[data-theme="monochromacy"] {
        --font-size: 8px;
    }
    .theme-toggle {
        display: none;
    }
    .theme-toggle-mob {
        display: block;
    }

}
@media screen and (min-width: 81px) and (max-width: 119px) {
    :root[data-theme="dark"],
    :root[data-theme="default"], :root[data-theme="high-contrast"],
    :root[data-theme="greyscale"], :root[data-theme="deuteranopia"],
    :root[data-theme="protanopia"], :root[data-theme="achromatomaly"],
    :root[data-theme="tritanopia"], :root[data-theme="monochromacy"] {
        --font-size: 5px;
    }
    .theme-toggle {
        display: none;
    }
    .theme-toggle-mob {
        display: block;
    }
}
@media screen and (min-width: 50px) and (max-width: 80px) {
    :root[data-theme="dark"],
    :root[data-theme="default"], :root[data-theme="high-contrast"],
    :root[data-theme="greyscale"], :root[data-theme="deuteranopia"],
    :root[data-theme="protanopia"], :root[data-theme="achromatomaly"],
    :root[data-theme="tritanopia"], :root[data-theme="monochromacy"] {
        --font-size: 3px;
    }
    .theme-toggle {
        display: none;
    }
    .theme-toggle-mob {
        display: block;
    }
}
/* #endregion */