*,
*::before,
*::after {
    box-sizing: border-box;
}

.sr-only {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}

.sr-only-focusable:focus,
.sr-only-focusable:active {
    clip: auto !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    height: auto !important;
    margin: auto !important;
    overflow: visible !important;
    width: auto !important;
    white-space: normal !important;
}

a.evitement {
    display: inline-block;
    color: #555;
    background: #fff;
    padding: .5em;
    position: absolute;
    left: -99999rem;
    z-index: 100;
}

a.evitement:focus {
    left: 0;
}

:root {
    --black: #0F0F0F;
    --yellow: #FFE5AC;
    --ibm: "IBM Plex Mono", serif;
    --outfit: "Outfit", serif;
}

body.dark-mode ::selection {
    background: #FF5A5A;
}

::selection {
    background: white;
}

.desktop {
    display: none;
}

html {
    display: flex;
    justify-content: center;
}

body {
    background-color: var(--yellow);
    font-family: var(--outfit);
    margin: 0;
    color: var(--black);
    padding: 20px;
    min-width: 375px;
    max-width: 1920px;
}


body.dark-mode {
    background-color: var(--black);
    color: var(--yellow);
}

body.dark-mode a {
    color: var(--yellow);
}

.theme-toggle:hover {
    cursor: pointer;
}

.theme-toggle {
    border: none;
    background-color: transparent;
    height: 30px;
    width: 30px;
    background-image: url('images/icons/moon-dark.svg');
    position: absolute;
    top: 50px;
    right: 20px;
    z-index: 100;
    padding: 0px;
    border-radius: 10px;
    background-color: var(--yellow);
}

body.dark-mode .theme-toggle {
    background-image: url('images/icons/sun-light.svg');
    background-color: var(--black);
}

.header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
    padding-top: 120px;
}

h1 {
    margin: 0;
    font-size: 5.75rem;
    line-height: 75%;
}

.hero-title {
    font-family: var(--ibm);
    font-weight: bolder;
    text-align: center;
    margin-bottom: 90px;
}

.topbar.mobile {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 40px;
}

.topbar-socials {
    display: flex;
    justify-content: center;
    gap: 70px;
    margin-bottom: 30px;
}

.topbar-links {
    display: flex;
    justify-content: center;
    gap: 40px;
}

.topbar-links a,
.introduction a {
    color: var(--black);
    text-decoration: none;
    position: relative;
}

.topbar-links a::after,
.introduction a::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: var(--black);
    bottom: -3px;
    left: 0;
    transition: height 0.3s ease;
}

.topbar-links a:hover::after,
.introduction a:hover::after {
    height: 2px;
}

body.dark-mode .topbar-links a::after,
body.dark-mode .introduction a::after {
    background-color: var(--yellow);
}

.logo {
    height: 30px;
    width: 30px;
}

.github {
    background-image: url('images/logos/github-dark.svg');
}

body.dark-mode .github {
    background-image: url('images/logos/github-light.svg');
}

.linkedin {
    background-image: url('images/logos/linkedin-dark.svg');
}

body.dark-mode .linkedin {
    background-image: url('images/logos/linkedin-light.svg');
}

.introduction {
    width: 95%;
}

.whoiam {
    font-weight: 500;
    margin-bottom: 10px;
}

.whatiwant {
    margin-top: 20px;
    font-size: 0.8rem;
}

.worktitle {
    font-family: var(--ibm);
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 40px;
    margin-top: 60px;
    padding: 10px;
    background-color: white;
    border-radius: 30px;
    height: 50px;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
}

body.dark-mode .worktitle {
    color: var(--black);
}

.marquee {
    display: inline-block;
    animation: marquee 10s linear infinite;
}

.marquee span {
    display: inline-block;
    padding-right: 40px;
}

@keyframes marquee {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(-100%, 0);
    }
}

.worklist {
    list-style-type: none;
    padding: 0;
    font-weight: 500;
    font-size: 1.25rem;
}

.worklist-itemtitle span {
    font-family: var(--ibm);
}

.worklist a {
    color: var(--black);
    text-decoration: none;
}

.worklist a:hover {
    text-decoration: underline;
}

.worklist-item {
    margin-bottom: 50px;
    display: flex;
    justify-content: space-between;
}

.worklist-itemdate {
    font-size: 1rem;
    font-weight: 400;
}

.returnbtn {
    width: 30px;
    height: 30px;
    background-image: url('images/icons/arrow-left-dark.svg');
    position: absolute;
    left: 20px;
    top: 50px;
}

body.dark-mode .returnbtn {
    background-image: url('images/icons/arrow-left-light.svg');
}

.returnbtn:hover {
    cursor: pointer;
}

.projectlist ul {
    list-style-type: none;
    padding: 0;
}

.projectlist {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0;
}

.projectlist-item {
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 1px;
    background-color: #ffffff1a;
}

body.dark-mode .projectlist-item {
    background-color: #ffffff0c;
}

.separator {
    height: 1px;
    width: 50%;
    background-color: var(--black);
    margin: auto;
    margin-top: 50px;
    margin-bottom: 50px;
}

body.dark-mode .separator {
    background-color: var(--yellow);
}

body.dark-mode .projectlist-item {
    box-shadow: rgba(255, 255, 255, 0.1) 0px 0px 0px 1px;
}

.projectlist-item img {
    width: 100%;
    height: auto;
    display: block;
}

.projectlist-item-title {
    padding: 15px;
    font-family: var(--ibm);
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--black);
    /* text-align: center; */
    padding-bottom: 0;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
}

.projectlist-item-title span {
    font-size: 1.5rem;
    font-weight: 400;
    font-family: var(--outfit);
}

.projectlist-item-devices {
    display: flex;
    gap: 10px;
}

.projectlist-item-devices span {
    height: 20px;
    width: 20px;
    background-size: cover;
    background-position: center;
}

.phone {
    background-image: url('images/icons/phone-dark.svg');
}

.tablet {
    background-image: url('images/icons/tablet-dark.svg');
}

.computer {
    background-image: url('images/icons/computer-dark.svg');
}

body.dark-mode .phone {
    background-image: url('images/icons/phone-light.svg');
}

body.dark-mode .tablet {
    background-image: url('images/icons/tablet-light.svg');
}

body.dark-mode .computer {
    background-image: url('images/icons/computer-light.svg');
}

.projectlist-item h2,
.projectlist-item p {
    margin: 0;
}

.projectlist-item-description {
    padding: 15px;
    padding-bottom: 0;
    font-family: var(--outfit);
    font-size: 1rem;
    color: var(--black);
}

.projectlist-item-links {
    display: flex;
    justify-content: center;
    padding: 15px;
    text-align: center;
    gap: 20px;
}

.projectlist-item-links a {
    color: var(--black);
    text-decoration: none;
    font-weight: bold;
    border: 2px solid var(--black);
    padding: 10px 20px;
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.projectlist-item-links a:hover {
    background-color: var(--black);
    color: var(--yellow);
}

.projectlist-item-tags {
    padding: 15px;
    display: flex;
    gap: 10px;
}

.projectlist-item-tags span {
    height: 40px;
    width: 40px;
    background-size: cover;
    background-position: center;
}

.css {
    background-image: url('images/logos/css-dark.svg');
}

.js {
    background-image: url('images/logos/javascript.svg');
}

.html {
    background-image: url('images/logos/html-dark.svg');
}

.php {
    background-image: url('images/logos/php.svg');
}

body.dark-mode .css {
    background-image: url('images/logos/css-light.svg');
}

body.dark-mode .html {
    background-image: url('images/logos/html-light.svg');
}

body.dark-mode .projectlist-item {
    color: var(--yellow);
}

body.dark-mode .projectlist-item p {
    color: var(--yellow);
}

body.dark-mode .projectlist-item-title {
    color: var(--yellow);
}

body.dark-mode .projectlist-item-links a {
    color: var(--yellow);
    border-color: var(--yellow);
}

body.dark-mode .projectlist-item-links a:hover {
    background-color: var(--yellow);
    color: var(--black);
}

.mac {
    padding: 5px;
    height: 20px;
    background-color: #F6F6F6;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    display: flex;
}

.mac span {
    margin-left: 10px;
    border-radius: 50%;
    width: 10px;
    height: 10px;
}

.mac-close {
    background-color: #FC5B57;
}

.mac-reduce {
    background-color: #E5BF3C;
}

.mac-fullscreen {
    background-color: #57C038;
}

body.dark-mode .mac {
    background-color: #292929;
}

.resume p {
    margin-bottom: 0;
}

.languages {
    display: flex;
    gap: 15px;
    margin-top: 20px;
    padding-left: 10px;
    margin-top: 15px;
    margin-bottom: 30px;
}

.languages span {
    height: 40px;
    width: 40px;
    background-size: cover;
    background-position: center;
}

.languageHTML {
    background-image: url('images/logos/html-dark.svg');
}

.languageJS {
    background-image: url('images/logos/javascript.svg');
}

.languageCSS {
    background-image: url('images/logos/css-dark.svg');
}

.languagePHP {
    background-image: url('images/logos/php.svg');
}

.languagePYTHON {
    background-image: url('images/logos/python.svg');
}

body.dark-mode .languageHTML {
    background-image: url('images/logos/html-light.svg');
}

body.dark-mode .languageCSS {
    background-image: url('images/logos/css-light.svg');
}

.inspirations {
    padding: 15px;
    background-color: white;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
}

.inspirations a {
    color: #FF5A5A;
}

body.dark-mode .inspirations {
    background-color: #363636;
    color: white;
}

.certifications {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: center;
}

.certifications img {
    width: 100px;
    height: auto;
}

h2 {
    margin-bottom: 10px;
}

.testimony-container {
    scrollbar-color: var(--black) transparent;
}

.testimony-container::-webkit-scrollbar {
    width: 10px;
}

.testimony {
    display: flex;
    gap: 20px;
    border-radius: 10px;
    align-items: center;
}

.testimony img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
}

.bold {
    font-weight: bold;
}