@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

* {
	border: 0;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
:root {
	
    --blue: #678FFF;
    --lynxWhite: #f7f7f7;
    --bruntSienna: #E37151;
    --PaynesGrey: #353748;
    --darkGray: #aaaaaa;
    --dimGray: #6d6d6d;
    --green: #66ad57;
    --mainFont: 'Lato', sans-serif;
    --lighGray-Filter: invert(80%) sepia(9%) saturate(16%) hue-rotate(343deg) brightness(86%) contrast(84%);
    --darkGray-Filter: invert(48%) sepia(1%) saturate(0%) hue-rotate(188deg) brightness(87%) contrast(89%);
    --white-Filter: invert(100%) sepia(91%) saturate(38%) hue-rotate(254deg) brightness(110%) contrast(110%);
    --blue-Filter: invert(48%) sepia(79%) saturate(1121%) hue-rotate(203deg) brightness(101%) contrast(101%);
    
	--hue: 223;
	--bg: hsl(var(--hue),10%,90%);
	--fg: hsl(var(--hue),10%,10%);
	--primary: hsl(var(--hue),90%,55%);
	--transDur: 0.3s;
	font-size: calc(20px + (30 - 20) * (100vw - 320px) / (1280 - 320));
}

 a {
  color: gray;
}

body,
button {
	font: 1em/1.5 var(--mainFont);
}
body {
	background-color: var(--bg);
	color: var(--fg);
	overflow-x: hidden;
	scroll-behavior: smooth;
	transition:
		background-color var(--transDur),
		color var(--transDur);
}

#header-wrapper{
    background-color: hsl(var(--hue),10%,10%);
    width: 100%;
    height: 101px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    border-bottom: solid #6d6d6d 0.5px;
}

#upper-header{
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 50px;
    margin-top: 15px;
}

#header-logo-area{
    width: 125px;
    height: 50px;
    display: flex;
    justify-content: flex-end;
    padding-right: 25px;
}
#header-logo{
    width: 36px;
    height: 36px;
    margin-top: 3px;
}
#search-magnifier, #search-magnifier-area{
    width: 50px;
    height: 50px;
}
#search-area{
    width: 590px;
    height: 44px;
    display: flex;
    justify-content: flex-start;
    background-color: hsl(var(--hue),10%,90%);
    border-radius: 5px;
    flex-shrink: 0;
}
#search-input{
    width: 532px;
    border: 0;
    background-color: transparent;
    outline: none;
    padding-left: 10px;
}

#search-magnifier{
    padding: 10px;
}
.downwards-arrow-icon{
    width:10px;
    height:7px;
    padding: 5px;
}
#social-media-icon, #hamburger-menu-icon{
    width:20px;
    height:20px;
}
.buttonT{
    border: 0;
    background-color: transparent;
    padding-left: 15px;
    color: gray;
}
#buttons-area-upper-header{
    justify-content: flex-end;
    align-items: center;
    display: flex;
    margin-right: 20px;
}
#lower-header{
    display: flex;
    width: 100%;
    justify-content: space-between;
}
#anchor-tags-lower-header-area{
    display: flex;
    justify-content: flex-start;
    width: 590px;
    height: 20px;
    margin-left: 150px;
    
}
.lower-header-tags{
    color:gray;
    margin-top: 5px;
    margin-left: 13px;
    padding-bottom: 5px;
    font-size: 15px;
    font-weight: 535;
    font-family: "DDG_ProximaNova", "DDG_ProximaNova_UI_0", "DDG_ProximaNova_UI_1", "DDG_ProximaNova_UI_2", "DDG_ProximaNova_UI_3", "DDG_ProximaNova_UI_4", "DDG_ProximaNova_UI_5", "DDG_ProximaNova_UI_6", "Proxima Nova", "Helvetica Neue", "Helvetica", "Segoe UI", "Nimbus Sans L", "Liberation Sans", "Open Sans", FreeSans, Arial, sans-serif;
}
#header-vertical-line{
    height: 15px;
    width:10px;
    padding-left: 5px;
}
.lower-header-tags:hover, .button:hover{
    color:white;
    cursor:pointer;
}
#settings-anchor-tag{
    margin-left: 125px;
    display: flex;
    align-items: center;
}
#filled-downwards-arrow{
    height:10px;
    width: 7px;
    padding-left: 4px;
}


#search-magnifier:hover{
    cursor: pointer;
    background-color: #66ad57;
    border-right: solid 1px #66ad57;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}
#search-settings-area{
    margin-left: 150px;
    margin-top: 15px;
    width: 100%;
}
.search-settings-element{
    font-size: 12px;
    margin-right: 11px;
}


.img-grid {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: .5em;
	padding: 1em;
	width: 100vw;
}
.img-grid__cell,
.img-grid__cell-img-btn {
	position: relative;
}
.img-grid__cell {
	aspect-ratio: 16 / 12;
}
.img-grid__cell-img-btn {
	background-color: hsl(var(--hue),10%,85%);
	display: block;
	width: 100%;
	height: calc(100% - 1.5em);
	overflow: hidden;
	text-decoration: none;
	transition:
		background-color var(--transDur),
		opacity 0.15s linear;
}
.img-grid__cell-img-btn--active,
.img-grid__cell-img-btn:focus {
	opacity: 0.5;
}
.img-grid__cell-img-btn:focus {
	outline: transparent;
}
.img-grid__cell-img {
	display: block;
	position: absolute;
	pointer-events: none;
	top: 50%;
	left: 50%;
	width: 100%;
	height: auto;
	transform: translate(-50%,-50%);
}
.img-grid__cell-caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1.5em;
	padding-top: 0.25em;
}
.img-grid__cell-caption-link {
	color: currentColor;
	font-size: 0.5em;
	line-height: 1.25;
	text-decoration: none;
}
.img-grid__cell-caption-link br {
	display: none;
}
.img-grid__cell-caption-link:focus,
.img-grid__cell-caption-link:hover {
	text-decoration: underline;
}
.img-grid__cell-caption-link:focus {
	outline: transparent;
}
.img-grid__cell-caption-title,
.img-grid__cell-caption-subtitle {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.img-grid__cell-caption-title {
	font-weight: bold;
}
.img-grid__detail-pane {
	background-color: hsl(var(--hue),10%,10%);
	display: flex;
	flex-direction: column;
	color: hsl(var(--hue),10%,90%);
	grid-column: 1 / -1;
	padding: 3em 0 0 0;
	position: fixed;
	inset: 0;
	transition: background-color var(--transDur);
	z-index: 1;
}
.img-grid__detail-pane[data-open="false"] {
	display: none;
}
.img-grid__detail-pane-left {
	margin: auto 0;
}
.img-grid__detail-pane-right {
	background-color: hsl(var(--hue),10%,15%);
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	justify-content: space-between;
	padding: 1em;
}
.img-grid__detail-pane-img {
	display: block;
	margin: auto;
	height: auto;
	width: 100%;
}
.img-grid__detail-pane-close:focus,
.img-grid__detail-pane-btn:focus {
	outline: transparent;
}
.img-grid__detail-pane-close {
	background: transparent;
	color: hsl(var(--hue),10%,70%);
	align-self: flex-end;
	position: absolute;
	top: 1em;
	right: 1em;
	width: 0.75em;
	height: 0.75em;
}
.img-grid__detail-pane-close:focus,
.img-grid__detail-pane-close:hover {
	color: hsl(var(--hue),10%,90%);
}
.img-grid__detail-pane-arrow-svg,
.img-grid__detail-pane-close-svg {
	display: block;
	pointer-events: none;
	width: 100%;
	height: 100%;
}
.img-grid__detail-pane-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.img-grid__detail-pane-title {
	font-size: 0.75em;
	line-height: 1;
	font-weight: 500;
}
.img-grid__detail-pane-site {
	color: hsl(var(--hue),10%,70%);
	font-size: 0.5em;
}
.img-grid__detail-pane-btn {
	background-color: hsl(var(--hue),10%,25%);
	border-radius: 0.25rem;
	color: hsl(var(--hue),10%,90%);
	font-size: 0.5em;
	padding: 0.375rem 0.5rem;
	text-decoration: none;
	transition:
		background-color 0.15s linear,
		opacity 0.15s linear;
}
.img-grid__detail-pane-btn:disabled {
	opacity: 0.25;
}
.img-grid__detail-pane-btn:focus,
.img-grid__detail-pane-btn:not(:disabled):hover {
	background-color: hsl(var(--hue),10%,35%);
}
.img-grid__detail-pane-arrows {
	display: flex;
	justify-content: center;
}
.img-grid__detail-pane-btn--arrow {
	border-radius: 50%;
	display: block;
	padding: 0;
	width: 1rem;
	height: 1rem;
}
.img-grid__detail-pane-btn--arrow + .img-grid__detail-pane-btn--arrow {
	margin-left: 0.25rem;
}

#left-footer{
    display: flex;
    justify-content: flex-start;
    width: 100%;
    border-top: solid #6d6d6d 1px;
}
.footer-box-icon{
    height: 50px;
    width: 50px;
}
.footer-box{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    height: 130px;
    width: 167px;
    background-color: rgb(255,255,255);
    border: solid 1px rgb(218, 218, 218);
    border-radius: 5px;
    margin-right: 10px;
    margin-top: 10px;
    padding: 0px 10px 0px 10px;
}
.footer-box:hover{
    cursor: pointer;
}
.footer-box-explanation{
    font-size: 15px;
    color: rgb(145, 144, 144);
    height: 50px;
}
.footer-box-title{
    display: flex;
    justify-content: flex-start;
    font-size: 15px;
    align-items: center;
    height: 70.8px;
    
}

#footer-info-box{
    width: 100%;
    height: 125px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 20px;
    margin-left: 40px;
}
#info-box-title{
    font-size: 15px;
    color:gray;
}
.info-box-paragraph{
    font-size: 15px;
    color:gray;
}
.footer-box-title p:hover{
    text-decoration: underline;
}


/* `:focus-visible` support */
@supports selector(:focus-visible) {
	.img-grid__cell-img-btn:focus-visible {
		opacity: 0.5;
	}
	.img-grid__detail-pane-close:focus {
		color: hsl(var(--hue),10%,70%);
	}
	.img-grid__detail-pane-close:focus-visible,
	.img-grid__detail-pane-close:hover {
		color: hsl(var(--hue),10%,90%);
	}
	.img-grid__detail-pane-btn:focus {
		background-color: hsl(var(--hue),10%,25%);
	}
	.img-grid__detail-pane-btn:focus-visible,
	.img-grid__detail-pane-btn:not(:disabled):hover {
		background-color: hsl(var(--hue),10%,35%);
	}
}

/* Dark theme */
@media (prefers-color-scheme: dark) {
	:root {
		--bg: hsl(var(--hue),10%,10%);
		--fg: hsl(var(--hue),10%,90%);
		--primary: hsl(var(--hue),90%,65%);
	}
	.img-grid__cell-img-btn {
		background-color: hsl(var(--hue),10%,20%);
	}
	.img-grid__detail-pane {
		background-color: hsl(var(--hue),10%,5%);
	}
	.img-grid__detail-pane-right {
		background-color: hsl(var(--hue),10%,10%);
	}
}

/* Tablet */
@media (min-width: 768px) {
	.img-grid {
		grid-template-columns: repeat(3,1fr);
	}
	.img-grid__detail-pane {
		flex-direction: row;
		height: 10em;
		margin: 0 -1em;
		padding: 1em;
		position: static;
	}
	.img-grid__detail-pane-left,
	.img-grid__detail-pane-right {
		flex: 1;
	}
	.img-grid__detail-pane-left {
		flex: 2;
		margin: 0;
	}
	.img-grid__detail-pane-right {
		background-color: transparent;
		padding: 0 0 0 1em;
	}
	.img-grid__detail-pane-img {
		height: 100%;
		width: auto;
	}
	.img-grid__detail-pane-close {
		position: static;
	}
	.img-grid__detail-pane-info {
		display: block;
	}
	.img-grid__detail-pane-title,
	.img-grid__detail-pane-site {
		margin-bottom: 0.75rem;
	}

	.img-grid__detail-pane-arrows {
		justify-content: flex-end;
	}
}

/* Desktop */
@media (min-width: 1024px) {
	.img-grid {
		grid-template-columns: repeat(4,1fr);
	}
}

/* Larger Desktop */
@media (min-width: 1280px) {
	.img-grid {
		grid-template-columns: repeat(5,1fr);
	}
}

/* Mobile Styles */
@media only screen and (max-width: 768px) {

#header-logo{
    width: 36px;
    height: 36px;
    margin-top: 12px;
}	
    #header-wrapper {
        flex-direction: column;
        align-items: center;
        height: auto;
    }
    
    #lower-header {
        justify-content: flex-start; /* Align left on mobile */
        margin-left: 10px; /* Add some margin for spacing */
        margin-top: 10px;
        margin-bottom: 10px;
        margin-right: 70px;
    }

    #anchor-tags-lower-header-area {
        width: auto; /* Let the width auto adjust */
        margin-left: 0; /* Reset margin for mobile */
        margin-top: 10px;
    }

    #hamburger-menu-icon {
        margin-left: auto; /* Push to the right */
        display: block; /* Ensure it displays correctly */
    }

    #search-area {
        width: 100%; /* Make search area full width */
    }

    #search-input {
        width: 85%; /* Adjust search input width for mobile */
    }

    #search-magnifier-area {
        width: auto; /* Allow for flexible size */
    }

    #header-wrapper {
        flex-direction: column; /* Stack elements vertically */
    }

    #buttons-area-upper-header {
        justify-content: flex-end; /* Align buttons to the right */
        margin-bottom: 5px; /* Add some spacing above */
    }

    #upper-header {
        align-items: left;
        margin-right: 53px;
    }

    #search-area {
        width: 90%;
        margin: 10px 0;
    }

    #search-input {
        width: 80%;
    }

    #buttons-area-upper-header {
        flex-direction: column;
        align-items: right;
    }


    .lower-header-tags {
        margin: 5px;
    }

    #search-settings-area {
        margin-left: 0;
        text-align: center;
    }

    #results-wrapper {
        margin-left: 0;
        padding: 0 10px;
    }

    .search-result {
        width: 100%;
        margin: 10px 0;
    }

    #more-results-button {
        width: 90%;
        margin: 20px auto;
    }

    #footer-wrapper {
        flex-direction: column;
        align-items: center;
        padding: 10px 0;
    }

    #left-footer {
        flex-direction: column;
        align-items: center;
        margin-left: 0;
    }

    #footer-info-box {
        margin-left: 10px;
        text-align: left;
    }

    .footer-box {
        width: 90%;
        margin: 10px 0;
    }
}

/* Tablet Styles */
@media only screen and (max-width: 1024px) {
    #search-area {
        width: 80%;
    }

    .search-result {
        width: 80%;
    }

    #more-results-button {
        width: 80%;
    }
}
