html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}
body {
    background-color: white;
    font-family: system-ui;
    width: 100%;
	display: flex;
	flex-direction: column;
}
header {
	padding-top: 1.5vh;
	padding-bottom: 5vh;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
}

#date-display {
	font-size: 1.2em;
}

#list-switch {
    cursor: pointer;
    position: relative;
    display: inline-block;
}

main {
    display: flex;
    justify-content: center;
    align-items: center;
	/*flex-grow: 1;*/
}

#photo-container {
    position: relative;
	max-width: 80vw;   
    max-height: 80vh;   
    display: flex;
    justify-content: center;
    align-items: center;
}

.arrow {
	border-style: solid;
	border-width: 0.05em 0.05em 0 0;
	content: '';
	display: inline-block;
	height: 0.95em;
	position: absolute;
	transform: rotate(-45deg);
	/*vertical-align: top;*/ 
	width: 0.95em;
    top: 50%;
    /*position: absolute;
    transform: translateY(-50%);
    font-size: 2em;
    padding: 1vw;*/
    color: #757575;
    cursor: pointer;
    user-select: none;
}

.left-arrow {
    	left: -7vw;
	transform: rotate(-135deg);
}

.right-arrow {
    	right: -7vw;
	transform: rotate(45deg);
}

.arrow.hidden {
    visibility: hidden;
}

#main-photo {
    max-width: 85vw;
    max-height: 85vh;
    object-fit: contain;
}

#main-photo.loading {
    min-height: 200px; /* Prevent from collapsing */
    /* display: block; width: 100%; height: 100%; */
}

#main-photo.loading::after {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 2px solid #ccc;
  border-top-color: #6e7478; /* Primary color for the spinner */
  animation: spin 1s linear infinite;
  position: absolute; /* Absolutely position the spinner */
  top: 50%;           /* Center vertically */
  left: 50%;          /* Center horizontally */
  margin-top: -20px;  /* Adjust for half the height */
  margin-left: -20px; /* Adjust for half the width */
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Switch Styles */
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .slider {
    background-color: #ccc;
}

input:focus + .slider {
    box-shadow: 0 0 1px #ccc;
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}
