*,*:after,*:before{box-sizing:inherit}html{box-sizing:border-box;font-size:62.5%}body{color:#000;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.6em;font-weight:300;letter-spacing:.01em;line-height:1.6}blockquote{border-left:.3rem solid #d1d1d1;margin-left:0;margin-right:0;padding:1rem 1.5rem}blockquote *:last-child{margin-bottom:0}.button,button,input[type=button],input[type=reset],input[type=submit]{background-color:#0069d9;border:.1rem solid #0069d9;border-radius:.4rem;color:#fff;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:700;height:3.8rem;letter-spacing:.1rem;line-height:3.8rem;padding:0 3rem;text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap}.button:focus,.button:hover,button:focus,button:hover,input[type=button]:focus,input[type=button]:hover,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:focus,input[type=submit]:hover{background-color:#606c76;border-color:#606c76;color:#fff;outline:0}.button[disabled],button[disabled],input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{cursor:default;opacity:.5}.button[disabled]:focus,.button[disabled]:hover,button[disabled]:focus,button[disabled]:hover,input[type=button][disabled]:focus,input[type=button][disabled]:hover,input[type=reset][disabled]:focus,input[type=reset][disabled]:hover,input[type=submit][disabled]:focus,input[type=submit][disabled]:hover{background-color:#0069d9;border-color:#0069d9}.button.button-outline,button.button-outline,input[type=button].button-outline,input[type=reset].button-outline,input[type=submit].button-outline{background-color:transparent;color:#0069d9}.button.button-outline:focus,.button.button-outline:hover,button.button-outline:focus,button.button-outline:hover,input[type=button].button-outline:focus,input[type=button].button-outline:hover,input[type=reset].button-outline:focus,input[type=reset].button-outline:hover,input[type=submit].button-outline:focus,input[type=submit].button-outline:hover{background-color:transparent;border-color:#606c76;color:#606c76}.button.button-outline[disabled]:focus,.button.button-outline[disabled]:hover,button.button-outline[disabled]:focus,button.button-outline[disabled]:hover,input[type=button].button-outline[disabled]:focus,input[type=button].button-outline[disabled]:hover,input[type=reset].button-outline[disabled]:focus,input[type=reset].button-outline[disabled]:hover,input[type=submit].button-outline[disabled]:focus,input[type=submit].button-outline[disabled]:hover{border-color:inherit;color:#0069d9}.button.button-clear,button.button-clear,input[type=button].button-clear,input[type=reset].button-clear,input[type=submit].button-clear{background-color:transparent;border-color:transparent;color:#0069d9}.button.button-clear:focus,.button.button-clear:hover,button.button-clear:focus,button.button-clear:hover,input[type=button].button-clear:focus,input[type=button].button-clear:hover,input[type=reset].button-clear:focus,input[type=reset].button-clear:hover,input[type=submit].button-clear:focus,input[type=submit].button-clear:hover{background-color:transparent;border-color:transparent;color:#606c76}.button.button-clear[disabled]:focus,.button.button-clear[disabled]:hover,button.button-clear[disabled]:focus,button.button-clear[disabled]:hover,input[type=button].button-clear[disabled]:focus,input[type=button].button-clear[disabled]:hover,input[type=reset].button-clear[disabled]:focus,input[type=reset].button-clear[disabled]:hover,input[type=submit].button-clear[disabled]:focus,input[type=submit].button-clear[disabled]:hover{color:#0069d9}code{background:#f4f5f6;border-radius:.4rem;font-size:86%;margin:0 .2rem;padding:.2rem .5rem;white-space:nowrap}pre{background:#f4f5f6;border-left:.3rem solid #0069d9;overflow-y:hidden}pre>code{border-radius:0;display:block;padding:1rem 1.5rem;white-space:pre}hr{border:0;border-top:.1rem solid #f4f5f6;margin:3rem 0}input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],input[type=week],input:not([type]),textarea,select{-webkit-appearance:none;background-color:transparent;border:.1rem solid #d1d1d1;border-radius:.4rem;box-shadow:none;box-sizing:inherit;height:3.8rem;padding:.6rem 1rem .7rem;width:100%}input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,input[type=week]:focus,input:not([type]):focus,textarea:focus,select:focus{border-color:#0069d9;outline:0}select{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 8" width="30"><path fill="%23d1d1d1" d="M0,0l6,8l6-8"/></svg>') center right no-repeat;padding-right:3rem}select:focus{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 8" width="30"><path fill="%230069d9" d="M0,0l6,8l6-8"/></svg>')}select[multiple]{background:none;height:auto}textarea{min-height:6.5rem}label,legend{display:block;font-size:1.6rem;font-weight:700;margin-bottom:.5rem}fieldset{border-width:0;padding:0}input[type=checkbox],input[type=radio]{display:inline}.label-inline{display:inline-block;font-weight:400;margin-left:.5rem}.row{display:flex;flex-direction:column;padding:0;width:100%}.row.row-no-padding{padding:0}.row.row-no-padding>.column{padding:0}.row.row-wrap{flex-wrap:wrap}.row.row-top{align-items:flex-start}.row.row-bottom{align-items:flex-end}.row.row-center{align-items:center}.row.row-stretch{align-items:stretch}.row.row-baseline{align-items:baseline}.row .column{display:block;flex:1 1 auto;margin-left:0;max-width:100%;width:100%}.row .column.column-offset-10{margin-left:10%}.row .column.column-offset-20{margin-left:20%}.row .column.column-offset-25{margin-left:25%}.row .column.column-offset-33,.row .column.column-offset-34{margin-left:33.3333%}.row .column.column-offset-40{margin-left:40%}.row .column.column-offset-50{margin-left:50%}.row .column.column-offset-60{margin-left:60%}.row .column.column-offset-66,.row .column.column-offset-67{margin-left:66.6666%}.row .column.column-offset-75{margin-left:75%}.row .column.column-offset-80{margin-left:80%}.row .column.column-offset-90{margin-left:90%}.row .column.column-10{flex:0 0 10%;max-width:10%}.row .column.column-20{flex:0 0 20%;max-width:20%}.row .column.column-25{flex:0 0 25%;max-width:25%}.row .column.column-33,.row .column.column-34{flex:0 0 33.3333%;max-width:33.3333%}.row .column.column-40{flex:0 0 40%;max-width:40%}.row .column.column-50{flex:0 0 50%;max-width:50%}.row .column.column-60{flex:0 0 60%;max-width:60%}.row .column.column-66,.row .column.column-67{flex:0 0 66.6666%;max-width:66.6666%}.row .column.column-75{flex:0 0 75%;max-width:75%}.row .column.column-80{flex:0 0 80%;max-width:80%}.row .column.column-90{flex:0 0 90%;max-width:90%}.row .column .column-top{align-self:flex-start}.row .column .column-bottom{align-self:flex-end}.row .column .column-center{align-self:center}@media (min-width: 40rem){.row{flex-direction:row;margin-left:-1rem;width:calc(100% + 2rem)}.row .column{margin-bottom:inherit;padding:0 1rem}}a{color:#0069d9;text-decoration:none}a:focus,a:hover{color:#606c76}dl,ol,ul{list-style:none;margin-top:0;padding-left:0}dl dl,dl ol,dl ul,ol dl,ol ol,ol ul,ul dl,ul ol,ul ul{font-size:90%;margin:1.5rem 0 1.5rem 3rem}ol{list-style:decimal inside}ul{list-style:circle inside}.button,button,dd,dt,li{margin-bottom:1rem}fieldset,input,select,textarea{margin-bottom:1.5rem}blockquote,dl,figure,form,ol,p,pre,table,ul{margin-bottom:2.5rem}table{border-spacing:0;display:block;overflow-x:auto;text-align:left;width:100%}td,th{border-bottom:.1rem solid #e1e1e1;padding:1.2rem 1.5rem}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}@media (min-width: 40rem){table{display:table;overflow-x:initial}}b,strong{font-weight:700}p{margin-top:0}h1,h2,h3,h4,h5,h6{font-weight:300;letter-spacing:-.1rem;margin-bottom:2rem;margin-top:0}h1{font-size:4.6rem;line-height:1.2}h2{font-size:3.6rem;line-height:1.25}h3{font-size:2.8rem;line-height:1.3}h4{font-size:2.2rem;letter-spacing:-.08rem;line-height:1.35}h5{font-size:1.8rem;letter-spacing:-.05rem;line-height:1.5}h6{font-size:1.6rem;letter-spacing:0;line-height:1.4}img{max-width:100%}.clearfix:after{clear:both;content:" ";display:table}.float-left{float:left}.float-right{float:right}h1{font-size:3.6rem;line-height:1.25}h2{font-size:2.8rem;line-height:1.3}h3{font-size:2.2rem;letter-spacing:-.08rem;line-height:1.35}h4{font-size:1.8rem;letter-spacing:-.05rem;line-height:1.5}h5{font-size:1.6rem;letter-spacing:0;line-height:1.4}h6{font-size:1.4rem;letter-spacing:0;line-height:1.2}select{width:auto}.phx-hero{text-align:center;border-bottom:1px solid #e3e3e3;background:#eee;border-radius:6px;padding:3em 3em 1em;margin-bottom:3rem;font-weight:200;font-size:120%;width:fit-content}.phx-hero input{background:#ffffff}.phx-logo{min-width:300px;margin:1rem;display:block}.phx-logo img{width:auto;display:block}body{margin:0}div[data-phx-main]{width:100%;height:100%}.year-select-form{margin:auto}.category-button{background-color:#429fa9;color:#fff;padding:5px 10px;margin:2px;font-size:.9em;transition:background-color .3s ease;line-height:2;border:1px solid #297886;font-weight:700}.category-button:hover,.category-button.active{background-color:#429fa9;color:#e7e579}.item-image{width:45%;height:100%;object-fit:cover;margin:auto;padding:1em}.item-title{font-family:times new roman,serif}@media screen and (max-width: 750px){.item-image{width:100%}}.item-card{padding-top:3em;margin:3em}.lists-page{padding:1em}.fav-songs{font-style:italic}a:hover{text-decoration:none;color:#297886}a:focus{text-decoration:none;color:#ff5a4b}.title{font-size:26px;font-weight:600;color:#fff;margin:0}.avatar-container{display:flex;margin-top:1em;margin-left:1em}.avatar{border-radius:50%;margin:0 auto}.nav{display:flex;flex-direction:column;width:30vw;height:100vh;text-align:center;background-color:#429fa9;position:fixed;top:0;left:0}.nav-links{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100%}.nav-links a{color:#f7f7f7;font-weight:700;text-decoration:none;border:none;border-radius:5px;cursor:pointer}.nav-links a:hover{color:#e7e579}.social-links{display:flex;flex-direction:row}.social-links img{cursor:pointer;filter:invert(100%)}.social-links img:hover{filter:invert(100%) sepia(31%) saturate(4494%) hue-rotate(318deg) brightness(111%) contrast(99%)}.social-links a{padding:5px}.phoenix{color:#ff5a4b;text-decoration:none;border:none;cursor:pointer}.container{margin:0 auto}.divider{display:flex;flex-direction:row;align-items:center;justify-items:center;height:100vh;margin-left:30vw}.fader{display:flex;animation:fade .85s ease-in-out;animation-fill-mode:forwards;align-items:center;width:100%;height:100%;text-align:center;flex-wrap:wrap}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(150px,30%),1fr));grid-gap:5px;margin:10px}.photo{display:flex;margin-top:1em}.photo img{width:95%;height:auto;border-radius:5px;box-shadow:0 2px 4px #0100001a;margin:auto}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.bio{margin:auto;width:90%}.elixir{color:#4e2a8e}.elixir:hover{color:#429fa9}.lists{text-align:left;display:flex;flex-direction:row;justify-content:space-evenly}.before-change{margin:1em}.after-change{text-align:left;margin:auto;width:50%}ul{list-style-type:disc}.portfolio-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:20px}.portfolio-box{width:550px;border:1px solid #ddd;padding:10px 20px;margin:20px;box-shadow:0 2px 4px #0000001a;color:#000}.portfolio-box:hover{box-shadow:0 2px 4px #0000004d;transform:translate(2px,2px);color:#000}.portfolio-box img{max-width:100%;height:auto}.portfolio-grid a:focus{text-decoration:none;color:#000}.project-title{margin-top:10px;text-align:left}.project-description{margin-top:10px;font-size:1.5rem;color:#000;text-align:left}.tech-labels{display:flex;flex-wrap:wrap;justify-content:right;margin-top:10px}.tech-label{background-color:#20aac2;color:#fff;padding:5px 10px;border-radius:12px;margin:5px;font-size:.9em;transition:background-color .3s ease}.divider-line{border:0;border-top:1px solid #ddd;margin:15px 0;width:100%}.item-description{text-align:left}@media screen and (max-width: 1400px){.lists{margin:1em;text-align:left}ul{max-width:20em}.portfolio-box{width:500px}}.welcome{margin-left:1.5em;margin-right:1.5em}.signature{text-align:right;margin-right:2em}@media screen and (max-width: 800px){.lists{display:block;margin:auto;text-align:left;width:80%}.bio{width:80%;text-align:left;margin:auto}.portfolio-box{width:400px}.nav img{width:40px;height:40px}.nav{flex-direction:row;width:100%;height:10vh;position:sticky;top:0;z-index:1}.nav-links{flex-direction:row;justify-content:space-evenly;width:100vw;height:10vh}.social-links{display:none}.avatar{width:60px!important;height:50px!important}.divider{flex-direction:column;height:100vh;align-items:center;justify-items:center;margin-left:0}.fader{width:100%;height:100%;text-align:center;align-self:center}}.chess-page{display:flex;flex-direction:column;align-items:center;padding:1.5em 1em;width:100%}.chess-header{text-align:center;margin-bottom:.75em}.chess-header h2{margin:0 0 .2em;font-size:1.6em}.chess-turn{margin:0;font-size:1em;color:#444;min-height:1.4em;font-weight:600}.chess-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);aspect-ratio:1;width:min(520px,calc(70vw - 3em));gap:0;border-radius:6px;border:3px solid #000000;overflow:hidden;box-shadow:0 6px 24px #0006}.chess-row{display:contents}.square{display:flex;align-items:center;justify-content:center;border:none;border-radius:0;cursor:pointer;padding:0;margin:0;position:relative;outline:none;user-select:none;width:100%;height:100%}.square.light{background-color:#e7eaed}.square.dark{background-color:#429fa9}.square:before{content:"";position:absolute;inset:0;pointer-events:none}.square.selected:before{background-color:#14551e80}.square.last-move:before{background-color:#9bc70069}.square.in-check:before{background:radial-gradient(ellipse at center,rgba(255,0,0,.85) 0%,rgba(231,0,0,.55) 35%,rgba(169,0,0,0) 80%)}.coord{position:absolute;font-size:clamp(8px,1.4vw,13px);font-weight:700;line-height:1;pointer-events:none;z-index:1}.coord-rank{top:3px;left:4px}.coord-file{bottom:3px;right:4px}.square.light .coord,.square.dark .coord{color:#000}.piece{width:82%;height:82%;position:relative;z-index:2;pointer-events:none;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.legal-dot,.legal-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:3;border-radius:50%}.legal-dot{width:30%;height:30%;background:rgba(0,0,0,.38)}.legal-ring{width:88%;height:88%;background:transparent;border:4px solid rgba(0,0,0,.5)}.chess-footer{margin-top:.75em;display:flex;flex-direction:column;align-items:center;gap:.5em}.last-move-label{margin:0;font-size:.9em;color:#555}.move-confirm-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:100}.move-confirm-dialog{background:#fff;border-radius:8px;padding:1.5em 2em;max-width:360px;width:90vw;box-shadow:0 8px 32px #0000004d;text-align:center}.move-confirm-text{margin:0 0 1.2em;font-size:1em;color:#333;line-height:1.5}.move-confirm-buttons{display:flex;gap:.75em;justify-content:center}.move-confirm-btn{padding:10px 24px;font-size:.88em;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:none;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,box-shadow .15s ease}.move-confirm-cancel{background-color:#f0f0f0;color:#555;box-shadow:inset 0 0 0 1px #d0d0d0}.move-confirm-cancel:hover{background-color:#e2e2e2}.move-confirm-continue{background-color:#429fa9;color:#fff;box-shadow:0 2px 6px #429fa959}.move-confirm-continue:hover{background-color:#357f88;box-shadow:0 2px 8px #429fa973}.reset-button{background-color:#429fa9;color:#fff;border:none;padding:7px 22px;font-size:.9em;font-weight:700;cursor:pointer;letter-spacing:.03em;border-radius:4px;transition:background-color .15s ease}.reset-button:hover{background-color:#5a6f80}@media screen and (max-width: 800px){.chess-board{width:min(480px,94vw)}}.move-log{width:min(520px,calc(70vw - 3em));margin-top:1.5em;text-align:left;overflow-x:auto}.move-log h3{font-size:1em;font-weight:600;color:#444;margin:0 0 .5em;text-transform:uppercase;letter-spacing:.05em}.move-log-table{width:100%;border-collapse:collapse;font-size:.88em}.move-log-table th{text-align:left;padding:6px 10px;background-color:#429fa9;color:#fff;font-weight:600;letter-spacing:.03em}.move-log-table td{padding:5px 10px;color:#333}.log-row-even{background-color:#f4f4f4}.log-row-odd{background-color:#fff}.log-num{color:#888;width:2em}.log-move{font-weight:600;white-space:nowrap}.log-location{color:#555;max-width:25em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-time{color:#888;white-space:nowrap;font-size:.9em}@media screen and (max-width: 800px){.move-log{width:90vw}.move-log-table{font-size:.78em}.move-log-table th,.move-log-table td{padding:4px 5px}.log-location{max-width:15em}}@media screen and (max-width: 550px){h2{font-size:2.5rem}.nav{font-size:14px}.portfolio-box{width:80%;margin:auto}.avatar-container{margin-left:5px}}
