*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,button{transition:all .3s ease}:focus{outline:none}img{max-width:100%;height:auto}.portfolio-grid-item{position:relative}.portfolio-grid-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid rgba(255,255,255,.08);pointer-events:none;z-index:10}@keyframes portfolio-shine{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(200%) rotate(45deg)}}.portfolio-card-shine{animation:portfolio-shine 3s ease-in-out infinite}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portfolio-scroll::-webkit-scrollbar{width:6px}.portfolio-scroll::-webkit-scrollbar-track{background:#ffffff0d}.portfolio-scroll::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.portfolio-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff40}.social-links{list-style:none;padding:0;margin:0}.social-links .icon-content{margin:0 10px;position:relative}.social-links .icon-content .tooltip{position:absolute;top:-30px;left:50%;transform:translate(-50%);color:#fff;padding:6px 10px;border-radius:5px;opacity:0;visibility:hidden;font-size:14px;transition:all .3s ease;white-space:nowrap}.social-links .icon-content:hover .tooltip{opacity:1;visibility:visible;top:-50px}.social-links .icon-content a{position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;width:50px;height:50px;border-radius:50%;color:#4d4d4d;background-color:#fff;transition:all .3s ease-in-out}.social-links .icon-content a:hover{box-shadow:3px 2px 45px #0000001f}.social-links .icon-content a svg{position:relative;z-index:1;width:24px;height:24px}.social-links .icon-content a:hover{color:#fff}.social-links .icon-content a .filled{position:absolute;top:auto;bottom:0;left:0;width:100%;height:0;background-color:#000;transition:all .3s ease-in-out}.social-links .icon-content a:hover .filled{height:100%}.social-links .icon-content a[data-social=linkedin] .filled,.social-links .icon-content a[data-social=linkedin]~.tooltip{background-color:#0274b3}.social-links .icon-content a[data-social=github] .filled,.social-links .icon-content a[data-social=github]~.tooltip{background-color:#24262a}.social-links .icon-content a[data-social=instagram] .filled,.social-links .icon-content a[data-social=instagram]~.tooltip{background:linear-gradient(45deg,#405de6,#5b51db,#b33ab4,#c135b4,#e1306c,#fd1f1f)}.social-links .icon-content a[data-social=youtube] .filled,.social-links .icon-content a[data-social=youtube]~.tooltip{background-color:red}body{transition:background-color 1.5s ease-in-out,color 1.5s ease-in-out}body.theme-day,body.theme-day .bg-midnight{background-color:#87ceeb!important}body.theme-night{background-color:#000}body.theme-day nav{background:#ffffff40!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border-bottom:1px solid rgba(255,255,255,.3)!important;box-shadow:0 4px 30px #0000001a}body.theme-day nav a,body.theme-day nav button{color:#1e3a5f!important}body.theme-day nav button:hover{color:#0c1929!important}body.theme-day nav .font-tech{color:#1e3a5f!important}body.theme-day nav button.border{border-color:#1e3a5f66!important;color:#1e3a5f!important}body.theme-day nav button.border:hover{background-color:#1e3a5f!important;color:#fff!important}body.theme-day .fixed.bottom-0 svg rect[fill="#000000"]{fill:#fff!important}body.theme-day .fixed.bottom-0 svg polygon[fill="#000000"]{fill:#fff!important}body.theme-day .fixed.bottom-0 svg ellipse{opacity:1!important}.theme-switch{--toggle-size: 16px;--container-width: 5.625em;--container-height: 2.5em;--container-radius: 6.25em;--container-light-bg: #3D7EAE;--container-night-bg: #1D1F2C;--circle-container-diameter: 3.375em;--sun-moon-diameter: 2.125em;--sun-bg: #ECCA2F;--moon-bg: #C4C9D1;--spot-color: #959DB1;--circle-container-offset: calc((var(--circle-container-diameter) - var(--container-height)) / 2 * -1);--stars-color: #fff;--clouds-color: #F3FDFF;--back-clouds-color: #AACADF;--transition: .5s cubic-bezier(0, -.02, .4, 1.25);--circle-transition: .3s cubic-bezier(0, -.02, .35, 1.17)}.theme-switch,.theme-switch *,.theme-switch *:before,.theme-switch *:after{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;font-size:var(--toggle-size)}.theme-switch__container{width:var(--container-width);height:var(--container-height);background-color:var(--container-light-bg);border-radius:var(--container-radius);overflow:hidden;cursor:pointer;-webkit-box-shadow:0em -.062em .062em rgba(0,0,0,.25),0em .062em .125em rgba(255,255,255,.94);box-shadow:0 -.062em .062em #00000040,0 .062em .125em #fffffff0;-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition);position:relative}.theme-switch__container:before{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;-webkit-box-shadow:0em .05em .187em rgba(0,0,0,.25) inset,0em .05em .187em rgba(0,0,0,.25) inset;box-shadow:0 .05em .187em #00000040 inset,0 .05em .187em #00000040 inset;border-radius:var(--container-radius)}.theme-switch__checkbox{display:none}.theme-switch__circle-container{width:var(--circle-container-diameter);height:var(--circle-container-diameter);background-color:#ffffff1a;position:absolute;left:var(--circle-container-offset);top:var(--circle-container-offset);border-radius:var(--container-radius);-webkit-box-shadow:inset 0 0 0 3.375em rgba(255,255,255,.1),inset 0 0 0 3.375em rgba(255,255,255,.1),0 0 0 .625em rgba(255,255,255,.1),0 0 0 1.25em rgba(255,255,255,.1);box-shadow:inset 0 0 0 3.375em #ffffff1a,inset 0 0 0 3.375em #ffffff1a,0 0 0 .625em #ffffff1a,0 0 0 1.25em #ffffff1a;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:var(--circle-transition);-o-transition:var(--circle-transition);transition:var(--circle-transition);pointer-events:none}.theme-switch__sun-moon-container{pointer-events:auto;position:relative;z-index:2;width:var(--sun-moon-diameter);height:var(--sun-moon-diameter);margin:auto;border-radius:var(--container-radius);background-color:var(--sun-bg);-webkit-box-shadow:.062em .062em .062em 0em rgba(254,255,239,.61) inset,0em -.062em .062em 0em #a1872a inset;box-shadow:.062em .062em .062em #feffef9c inset,0 -.062em .062em #a1872a inset;-webkit-filter:drop-shadow(.062em .125em .125em rgba(0,0,0,.25)) drop-shadow(0em .062em .125em rgba(0,0,0,.25));filter:drop-shadow(.062em .125em .125em rgba(0,0,0,.25)) drop-shadow(0em .062em .125em rgba(0,0,0,.25));overflow:hidden;-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition)}.theme-switch__moon{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translate(100%);width:100%;height:100%;background-color:var(--moon-bg);border-radius:inherit;-webkit-box-shadow:.062em .062em .062em 0em rgba(254,255,239,.61) inset,0em -.062em .062em 0em #969696 inset;box-shadow:.062em .062em .062em #feffef9c inset,0 -.062em .062em #969696 inset;-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition);position:relative}.theme-switch__spot{position:absolute;top:.75em;left:.312em;width:.75em;height:.75em;border-radius:var(--container-radius);background-color:var(--spot-color);-webkit-box-shadow:0em .0312em .062em rgba(0,0,0,.25) inset;box-shadow:0 .0312em .062em #00000040 inset}.theme-switch__spot:nth-of-type(2){width:.375em;height:.375em;top:.937em;left:1.375em}.theme-switch__spot:nth-last-of-type(3){width:.25em;height:.25em;top:.312em;left:.812em}.theme-switch__clouds{width:1.25em;height:1.25em;background-color:var(--clouds-color);border-radius:var(--container-radius);position:absolute;bottom:-.625em;left:.312em;-webkit-box-shadow:.937em .312em var(--clouds-color),-.312em -.312em var(--back-clouds-color),1.437em .375em var(--clouds-color),.5em -.125em var(--back-clouds-color),2.187em 0 var(--clouds-color),1.25em -.062em var(--back-clouds-color),2.937em .312em var(--clouds-color),2em -.312em var(--back-clouds-color),3.625em -.062em var(--clouds-color),2.625em 0em var(--back-clouds-color),4.5em -.312em var(--clouds-color),3.375em -.437em var(--back-clouds-color),4.625em -1.75em 0 .437em var(--clouds-color),4em -.625em var(--back-clouds-color),4.125em -2.125em 0 .437em var(--back-clouds-color);box-shadow:.937em .312em var(--clouds-color),-.312em -.312em var(--back-clouds-color),1.437em .375em var(--clouds-color),.5em -.125em var(--back-clouds-color),2.187em 0 var(--clouds-color),1.25em -.062em var(--back-clouds-color),2.937em .312em var(--clouds-color),2em -.312em var(--back-clouds-color),3.625em -.062em var(--clouds-color),2.625em 0 var(--back-clouds-color),4.5em -.312em var(--clouds-color),3.375em -.437em var(--back-clouds-color),4.625em -1.75em 0 .437em var(--clouds-color),4em -.625em var(--back-clouds-color),4.125em -2.125em 0 .437em var(--back-clouds-color);-webkit-transition:.5s cubic-bezier(0,-.02,.4,1.25);-o-transition:.5s cubic-bezier(0,-.02,.4,1.25);transition:.5s cubic-bezier(0,-.02,.4,1.25)}.theme-switch__stars-container{position:absolute;color:var(--stars-color);top:-100%;left:.312em;width:2.75em;height:auto;-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition)}.theme-switch__checkbox:checked+.theme-switch__container{background-color:var(--container-night-bg)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter))}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container:hover{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter) - .187em)}.theme-switch__circle-container:hover{left:calc(var(--circle-container-offset) + .187em)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__moon{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__clouds{bottom:-4.062em}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__stars-container{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}
