body{background: white; color: black; font-family: Inter, 'Helvetica Neueu', Arial, Helvetica, sans-serif;}
body {margin: 0}
.root {display: flex; flex-direction: row; position: absolute; inset: 0}
aside {width: 310px; padding: 64px 10px 10px 24px; max-height: 100vh;}
h1, h2 {margin: 0}
nav {
    overflow-y: auto;
    max-height: calc(100% - 115px);
    padding-right: 14px;
    margin-top: 32px;
}
nav ul {padding: 0; margin-top: 0}
nav ul li {
    list-style: none;
}
nav ul li a {
    margin-left: 0;
    font-weight: bold;
    padding: 8px 8px;
    border-radius: 8px;
    background: #f2f2f7;
    color: black;
    cursor: hand;
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    text-decoration: none;
    text-transform: uppercase;
}
nav ul li[disabled] {opacity: 50%}
nav ul li a:hover { background: #e5e5ea; }
nav ul li[data-active] a {background: black; color: white}

main {flex: 1; padding: 0; padding-right: 24px}
main form {height: 60px}
main h2 {font-size: 48px; white-space: pre;}

#images {
    padding-top: 46px;
    
    overflow-y: auto;
    height: calc(100vh - 46px);


    /* padding-top: 10px; */
    /* height: calc(100vh - 134px); */
}

section { display: flex; flex-direction: column; margin-bottom: 32px; }
section .image-wrapper {display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px; }
section .image-col { flex: 1; display: flex; flex-direction: column; gap: 10px; }
section img { width: 100%; aspect-ratio: 93/67; border-radius: 10px; background-color: #f2f2f7 }
section h3 {margin:16px 0 16px 0; background: #f2f2f7; font-size: 24px; line-height: 24px; border-radius: 8px; padding: 16px;
    text-transform: uppercase;
}
section .image {position: relative; border-radius: 10px; cursor: hand; overflow: hidden; width: calc(50% - 5px); }
section .image .tags {
    position:absolute;
    inset: 0px;
    color: white;
    font-family: 'Courier New', Courier, monospace;
    filter: drop-shadow(0px 0px 1px black);
    opacity: 0; transition: opacity 0.5s cubic-bezier(0.075, 0.82, 0.165, 1); 
    display: flex; justify-content: flex-end; align-items: end; flex-direction: column;
    pointer-events: none;
    box-sizing: border-box;
    background-image: radial-gradient(ellipse farthest-corner  at 40px 40px, transparent 20%, #000000a0 80%);
}
section .image .tags .tag {padding: 4px}
/*section .image:hover .tags {opacity: 1}*/

main:not([data-filter='']) section h3 { display: none }

#search button {border:2px black solid; height: 56px; display: none}
#search {display: flex; flex-direction: horizontal; flex: 1; gap: 10px;margin-bottom: 0; padding-top: 64px}
#search input {height: 56px; font-size: 32px; border: 0; text-transform: uppercase; font-weight: bold; width: 72px; color: transparent;
    position: absolute;
    right: 32px;
}
#search input::placeholder {color: black}
#search input:focus {flex: 1; width: auto; color: black}
#search input:focus::placeholder {color: transparent}
#searchIcon {position: absolute; right: 56px; pointer-events: none;}
#currFilter {flex: 1}

#image-viewer {
    max-width: calc(100vw - 40px);
    max-height: calc(100vh - 40px);
    background: transparent;
    border: 0;
    overflow: visible;
    text-align: center;

}

#image-viewer button {
    margin-top: 0px;
    height: 40px;
    position: absolute;
    color: white;
    border:0;
    background: transparent;
    font-size: 30px;
    padding:  0;
    filter: grayscale(100%) brightness(1.8) drop-shadow(0px 0px 2px black) drop-shadow(0px 0px 1px black);
    cursor: hand;
}

#image-viewer button.close {
    font-size: 48px;
    width: 40px;
    right: 16px;
}

#image-viewer button.next, #image-viewer button.previous {
    top: 40px;
    bottom: 40px;
    background: transparent;
    height: calc(100% - 80px);
    width: 10vw; 
    opacity: 50%;
}

#image-viewer button:hover {
    opacity: 100%;
}

#image-viewer button.next {
    right: 4px;
    text-align: right;
    padding-right: 10px;
}

#image-viewer button.previous {
    left: 4px;
    text-align: left;
    padding-left: 10px;
}

#image-viewer button:focus-visible { outline: none }

#image-viewer img {
    height: 100%;
    max-height: calc(100vh - 40px);
    max-width: calc(100vw - 40px);
    box-shadow: 2px 4px 20px 11px #000000a1;
        border-radius: 16px;
}


#image-viewer::backdrop {
      backdrop-filter: blur(10px) grayscale(75%);
  opacity: 1;
  background-color: transparent;
  transition:
    display 0.3s allow-discrete,
    opacity 0.3s allow-discrete,
    overlay 0.3s allow-discrete,
    background-color 0.3s;
}

#image-viewer:open::backdrop {
  background-color: rgb(0 0 0 / 25%);
}

@starting-style {
  #image-viewer:open::backdrop {
    background-color: transparent;
    opacity: 0;
  }
}

@media (orientation: portrait) {
  .root {
    flex-direction: column;
  }
  aside {width: auto; padding-left: 32px}
  aside span {font-size: 22px}
  aside h1 {font-size: 64px}
  aside nav {display: none;}
  section .image  {
    width: 100%;
  }
  main {padding: 0 32px;}
  #images {
    overflow-y: visible;
    height: auto;
  }
}



code {
    font-family: Inter, 'Helvetica Neueu', Arial, Helvetica, sans-serif;
}

#search input, #searchIcon {
    display: none;
}

#search {display: none}