:root {
    --repeat: 2s;   /* animation timing */
    --height: 8px; /* total pixel height from scanline top to bottom of animation */
    --area: 60%;    /* percentage of height the scanline covers */
    --primary: rgb(0, 255, 153);
    --background: rgb(28, 28, 34);
    --border: #e5e7eb;
}
@font-face {
    font-family: "Cascadia Code";
    src: url("../fonts/CascadiaCode.ttf");
}
*{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    font-family: Cascadia Code;
}
body{
    background-color: var(--background);
    width: 100vw;
    height: 100vh;
}
h1{
    font-size: 35px;
}
h2 {
    font-size: 30px;
}
h3 {
    font-size: 26px;
}
h4 {
    font-size: 22px;
}
h5 {
    font-size: 20px;
}
p{
    font-size: 18px;
}
/* outer wrappers */
.bento-wrapper{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.bento-container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: repeat(8, minmax(0, 1fr));
    grid-auto-flow: dense;
    width: 100%;
    flex-grow: 1;
    grid-gap: 10px;
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 2%;
    padding-top: 2%;
}

/* sections */
.bento-section{
    background-color:var(--background);
    border: 3px solid var(--border);
    color: whitesmoke;
}
.bento-section-intro{
    grid-column: span 9;
    grid-row: span 3;
}
.bento-section-intro p{
    font-size: x-large;
}
.bento-section-side{
    grid-column: span 3;
    grid-row: span 8;
}
.bento-section-skills{
    grid-column: span 9;
    grid-row: span 2;
}
.bento-section-small{
    grid-column: span 3;
    grid-row: span 3;
}

/* components */
.bento-image{
    padding: 20px;
    float: left;
}
.bento-image img{
    height: clamp(2rem, 20dvw, 15rem);
}
.bento-image .photo{
    height: clamp(4rem, 20dvw, 30rem)!important;
}

.bento-body{
    padding-top: 20px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 5px;
}
.bento-body span{
    display: inline-block;
}
.bento-body li{
    font-size: 20px;
}
.bento-title{
    padding-bottom: 10px;
}
.bento-title span{
    color: var(--primary);
}

/* skills */
.skills-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(10, minmax(0, 1fr));
    grid-auto-flow: dense;
    width: 100%;
    height:100%;
    flex-grow: 1;
}
.skills-tab{
    background-color: var(--border);
    grid-column: span 2;
    grid-row: span 2;
    color: black;
    display: grid; 
    place-items: center start;
    padding-left: 2%;
}
.skills-body{
    grid-column: span 2;
    grid-row: span 8;
    display: flex;
    flex-wrap: wrap;
    padding: 1rem;
    gap: 1rem;
    justify-content: center;
    align-items: center;
}
.skills-skill img{
    float:left;
    height: clamp(1rem, 15dvw, 4rem);
}
.skills-skill object{
    float:left;
    height: clamp(1rem, 15dvw, 4rem);
}

.greyed{
    color: gray;
}

.see-more{
    color: var(--primary);
    /* letter-spacing: 1px; */
    transition: color 0.3s ease;
    padding: 4px 8px;
    float: right;
}

/* animations */
.outer {
    pointer-events: none;
    animation: scan var(--repeat) linear infinite;
    position: absolute;
    height: 100%;
    width: 100%;
    transform-origin: center;
    background: linear-gradient( to bottom, var(--background), var(--background) var(--area), #ccc var(--area), #ccc );
    background-color: var(--background);
    background-size: 100% var(--height);
    background-position-y: 0px;
    opacity: 0.03;
}
  
@keyframes wobb {
    0%, 100%   {transform: translateY(0px)}
    25%  {transform: translateY(-3px)}
    75%  {transform: translateY(2px)}
}

.wobble span {
    animation-name: wobb;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-duration: 1750ms;
    display: inline-block;
    transform: translateY(0px);
}
@keyframes scan {
    0% { background-position-y: 0px; }
    100% { background-position-y: var(--height); }
}

.bento-header{
    color: var(--primary);
    height: 100px;
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
    padding-top:20px;
}

.neon-btn {
  color: var(--primary);
  background: transparent;
  border: 1px solid var(--primary);
  padding: 10px 15px;
  margin-top: 10px;
  margin-bottom: 10px;
  border-radius: 30px;
  cursor: pointer;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  transition: all 0.3s ease;
}

.neon-btn:hover {
  background-color: var(--primary);
  color: #000;
  box-shadow: none;
}

.button-link {
  text-decoration: none;
}