/* © 2025 Om Kanabar.
More info in LICENSE */

/* i-x = Index X 
a-x = about x
l-x = license x
la-x = landing x
s-x = skills x
c-x = contact x*/
:root{
    --white: #fefcf7;
    --cream: #e8e5dd;
    --dark: #191919;
    --gray: #6b7c85;
    --dark-text-title: #ffb300;
    --light-text: #233c4a;
    --black: #111111;
    --navy: #0b1623;
    --accent: #d4a017;
    --blue-grey: #434e54;
    --trans: 0.2s ease;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}


html, body {
    height: 100%;
    margin: 0;
}
body{
    background-color: var(--black);
    color: var(--white);
    min-height: 100vh;
    font-family: 'Cal Sans', sans-serif;
}

nav{
    width: 100vw !important;
    background-color: var(--black);
}

nav div ul{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

nav div ul li{
    padding: 2rem;
}

nav div ul li a{
    color: var(--cream) !important;
    font-size: 1.5em !important;
    transition: 0.3s ease;
    position: relative;
    cursor: pointer;
    z-index: 2;
    transition: var(--trans);
    text-decoration: none;
}

nav div ul li a.active {
    color: var(--white) !important;
    text-decoration: underline !important;
    text-decoration-thickness: 3px !important;
    text-underline-offset: 6px !important;  
}

nav div ul li a:hover{
    background-color: transparent !important;
    color: var(--white) !important;
}

nav div ul li a::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    margin-left: -20%;
    background-color: var(--gray);
    color: var(--white);
    transition: width 0.3s ease;
    z-index: -1;
}

nav div ul li a:hover::after {
    width: 140%;
}

nav div ul li a:hover {
    color: var(--white);
}

.nBtn{
    color: var(--white);
}

.dModebtn {
    margin-top: 0.4em;
    border-radius: 2em;
    height: 3em;
    width: 3em;
    transition: 0.3s ease;
    background-color:var(--gray);
    color: var(--white);
    border: 1px solid var(--gray);
    cursor: pointer;
}

.dModebtn:hover{
    background-color: var(--gray);
    color: var(--white);
    cursor: pointer;
    border-color: var(--gray);
}

.dModebtn:active {
    background-color: var(--gray);
    color: var(--white) !important;
    border-color: var(--gray);
    cursor: pointer;
}

nav svg {
    cursor: pointer !important;
}

.glass {
  position: relative;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(2px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 2rem;
  box-shadow: 0 8px 32px rgba(31, 38, 135, 0.2), 
              inset 0 4px 20px rgba(255, 255, 255, 0.3);
}

.glass::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2rem;
  backdrop-filter: blur(1px);
  box-shadow: inset -10px -8px 0px -11px rgba(255, 255, 255, 1),
              inset 0px -9px 0px -8px rgba(255, 255, 255, 1);
  opacity: 0.6;
  z-index: -1;
  filter: blur(1px) drop-shadow(10px 4px 6px black) brightness(115%);
}

.i-main {
    position: relative; 
    overflow: hidden; 
    padding: 5% 0%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100vw;
    background-color: transparent;
}

.i-main h1 {
    font-size: 6rem;
    color: var(--dark-text-title);
    background: radial-gradient(circle at center, rgba(25, 25, 25, 0.75) 0%, rgba(25, 25, 25, 0.3) 50%, transparent 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 1rem;
    padding: 0.75rem 1.5rem;
}

.i-main p{
    color: var(--white);
    background: radial-gradient(circle at center, rgba(25, 25, 25, 0.75) 0%, rgba(25, 25, 25, 0.3) 50%, transparent 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 1rem;
    padding: 0.75rem 1.5rem;
}

#particles-js {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-color: var(--dark);
    background-image: url("");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
}

.i-me {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    width: 100vw;
}

.c-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    background-color: var(--dark);
    padding: 5% 2%;
}

.c-main h1{
    color: var(--dark-text-title);
    font-size: 4em;
    background: radial-gradient(circle at center, rgba(25, 25, 25, 0.75) 0%, rgba(25, 25, 25, 0.3) 50%, transparent 100%);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(8px);
    padding: 1%;
    border-radius: 1rem;
}

.c-form-box {
    width: 100%;
    max-width: 1000px;
    background: radial-gradient(circle at center, rgba(25, 25, 25, 0.75) 0%, rgba(25, 25, 25, 0.3) 50%, transparent 100%);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(8px);
    padding: 2%;
    border-radius: 1rem;
}

form .none {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.form-control {
  background-color: var(--black);
  color: var(--white);
  border-color: var(--blue-grey);
}

.form-control:focus {
  background-color: var(--black);
  color: var(--white);
  border-color: var(--accent);
  box-shadow: 0 0 0 0.25rem rgba(212, 160, 23, 0.25);
}

.form-control {
    background-color: var(--black);
    color: var(--white);
    border-color: var(--blue-grey);
}

.form-control::placeholder {
    color: var(--gray);
}

.c-footer {
    background-color: var(--dark);
    width: 100%;
    text-align: center;
    position: relative;
    z-index: 10;
}

.l-footer {
    background-color: var(--black);
    font-size: 0.75rem;
    width: 100%;
    text-align: center;
}

.l-footer a{
    font-family: 'Cal Sans', sans-serif;
}

.c-footer a{
    color: color-mix(in srgb, var(--cream) 50%, var(--gray) 50%);
    font-size: 0.75rem;
    transition: var(--trans);
}

.c-footer a:hover{
    color: color-mix(in srgb, var(--cream) 40%, var(--light-text) 60%);;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--white);
    -webkit-box-shadow: 0 0 0px 1000px var(--black) inset;
    box-shadow: 0 0 0px 1000px var(--black) inset;
    transition: background-color 5000s ease-in-out 0s;
}

.legal {
    font-family: 'Roboto Flex', sans-serif;
    line-height: 2;
}

.legal h1, .legal h2, .legal h3, .legal h4, .legal h5, .legal h6 {
    font-weight: 800;
    font-family: 'Lexend', sans-serif;
}

.legal a{
    transition: var(--trans);
    color: color-mix(in srgb, #0c6dfd 50%, color-mix(in srgb, var(--light-text) 30%, var(--cream) 70%) 50%);
    text-decoration: underline;
    text-underline-offset: 2px !important;  
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
    white-space: normal;
}


.legal a:hover{
    color: color-mix(in srgb, #0c6dfd 40%, color-mix(in srgb, var(--light-text) 30%, var(--cream) 70%) 60%);
}

footer {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    margin-top: auto !important;
    transition: var(--trans);
}

footer:hover {
    transition: var(--trans);
}

.page-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.landing{
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 60vh;
    width: 60vw; 
    margin: 0 auto; 
    text-align: center;
}

.a404 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 60vh;
}

.progress{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100vw;
    height: 75vh;
    text-align: center;
    background-color: inherit;
}

.i-footer{
    color: var(--cream);
    background-color: #111111;
    display: flex;
    flex-direction: row;
    justify-content: center;
    font-size: 1rem;
    transition: 0s !important;
}

.i-footer a{
    color: var(--dark);
    background-color: #111111;
    font-size: 0.75em;
}

.i-footer a:hover{
    color: var(--cream);
}

.p-footer{
    background-color: #111111;
    display: flex;
    flex-direction: row;
    justify-content: center;
    font-size: 1rem;
    transition: 0s;
}

.p-footer a{
    color: var(--dark);
    background-color: #111111;
    font-size: 0.75em;
}

.p-footer a:hover{
    color: var(--cream);
}


/*************************************************************
 *                                                           *
 *              !!! LIGHT MODE FROM NOW ON !!!               *
 *  All styles below this line are for the light mode theme  *
 *                                                           *
 *************************************************************/

body.light-mode { 
    background-color: var(--white) !important;
    color: var(--black);
}

.light-mode nav{
    background-color: var(--white);
}

.light-mode nav div ul li a{
    color: var(--blue-grey) !important;
}

.light-mode nav div ul li a.active {
    color: var(--light-text) !important;
    text-decoration: underline !important;
    text-decoration-thickness: 3px !important;
    text-underline-offset: 6px !important;  
}

.light-mode nav div ul li a:hover{
    background-color: transparent !important;
    color: var(--white) !important;
}

.light-mode nav div ul li a::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    margin-left: -20%;
    background-color: var(--light-text);
    color: var(--white);
    transition: width 0.3s ease;
    z-index: -1;
}

.light-mode nav div ul li a:hover::after {
    width: 140%;
}

.light-mode nav div ul li a:hover {
    color: var(--white);
}

.light-mode .dModebtn,
.light-mode .dModebtn:hover,
.light-mode .dModebtn:active {
    background-color: var(--light-text);
    border: 1px solid var(--light-text);
    border-color: var(--light-text);
}

.light-mode .i-main h1 {
    color: var(--light-text);
    background: radial-gradient(circle at center, rgba(232, 229, 221, 0) 0%, rgba(254, 252, 247, 0.3) 50%, transparent 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 1rem;
    padding: 0.75rem 1.5rem;
}

.light-mode .i-main p,
.light-mode .c-form-box, 
.light-mode .c-main h1{
    color: var(--black);
    background: radial-gradient(circle at center, rgba(232, 229, 221, 0) 0%, rgba(254, 252, 247, 0.3) 50%, transparent 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 1rem;

}

.light-mode .c-form-box {
    border-radius: 1rem;
}

.light-mode #particles-js {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--cream);
    background-image: url("");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
}

.light-mode .nBtn{
    color: var(--light-text);
    border-width: 0px;
}

.light-mode .c-main {
    display: flex;
    background-color: var(--cream);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    background-color: var(--dark);
    padding: 5% 2%;
}


.light-mode .c-main h1{
    color: var(--light-text);
    font-size: 4em;
}

.light-mode input,
.light-mode textarea,
.light-mode select {
    background-color: var(--white);
    color: var(--black);
    border-color: var(--blue-grey);
}

.light-mode input::placeholder,
.light-mode textarea::placeholder {
    color: var(--gray);
}

.light-mode .form-control:focus {
  background-color: var(--white);
  color: var(--black);
  border-color: var(--gray);
  box-shadow: 0 0 0 0.25rem rgba(67, 78, 84, 0.25);
}

.light-mode input:-webkit-autofill,
.light-mode input:-webkit-autofill:hover,
.light-mode input:-webkit-autofill:focus,
.light-mode textarea:-webkit-autofill,
.light-mode textarea:-webkit-autofill:hover,
.light-mode textarea:-webkit-autofill:focus,
.light-mode select:-webkit-autofill,
.light-mode select:-webkit-autofill:hover,
.light-mode select:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--black) !important;
    -webkit-box-shadow: 0 0 0px 1000px #fff inset !important;
    box-shadow: 0 0 0px 1000px #fff inset !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

.light-mode .c-footer{
    background-color: var(--cream);
}

.light-mode .l-footer{
    background-color: var(--white);
}

.light-mode .legal a{
    transition: var(--trans);
    color: color-mix(in srgb, #0c6dfd 50%, color-mix(in srgb, var(--light-text) 70%, var(--cream) 30%) 50%);
    text-decoration: underline;
    text-underline-offset: 2px !important;  
}

.light-mode .legal a:hover{
    color: color-mix(in srgb, #0c6dfd 30%, color-mix(in srgb, var(--light-text) 70%, var(--cream) 30%) 70%);
}

.light-mode .i-footer{
    color: var(--cream);
    background-color: var(--white);
    display: flex;
    flex-direction: row;
    justify-content: center;
    font-size: 1rem;
}

.light-mode .i-footer a{
    color: var(--cream);
    background-color: var(--white);
    font-size: 0.75em;
}

.light-mode .i-footer a:hover{
    color: var(--light-text);
}

.light-mode .p-footer{
    background-color: var(--white);
    display: flex;
    flex-direction: row;
    justify-content: center;
    font-size: 1rem;
}

.light-mode .p-footer a{
    color: var(--cream);
    background-color: var(--white);
    font-size: 0.75em;
}

.light-mode .p-footer a:hover{
    color: var(--light-text);
}
