/* General Resets & Base Styles */
ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }
*, *:after, *:before { box-sizing: border-box; }
html { height: 100%; }
body {
	margin: 0;
	padding: 0;
	min-height: 100%;
	font-family: "segoe ui", "trebuchet MS", "Lucida Sans Unicode", "Lucida Sans", Sans-Serif;
	font-size: 16px;
	line-height: 24px;
	color: #181818;
	background-color: #fff;
	-webkit-text-size-adjust: none;
}
a { text-decoration: none; }
article, aside, dialog, figure, footer, header, menu, nav, section { display: block; }
figure, ol, ul, li { margin: 0; padding: 0; border: 0; }
ol, ul, li { list-style: none; }
img { border: 0; display: inline; }
input, select, textarea {
	font-family: "segoe ui", "trebuchet MS", "Lucida Sans Unicode", "Lucida Sans", Sans-Serif;
	-webkit-appearance: none;
}
input:focus { outline: 0; }

/* Scrollbar */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: #f7f7f7; }
::-webkit-scrollbar-thumb { background: #ccc; }
::-webkit-scrollbar-thumb:hover { background: #bbb; }

/* Clearfix */
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }

/* Masonry Grid */
.masonry-grid { position: relative; margin: 0 auto; padding: 0; min-height: 500px; }
.masonry-grid li.grid-item {
	position: absolute;
	list-style: none;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 5px;
}
.masonry-grid img {
	width: 100%;
	height: auto;
	display: block;
	padding: 6px;
	border-radius: 5px;
	opacity: 1;
}
.masonry-grid img.lazy { opacity: 0; }
.masonry-grid li:hover {
	-webkit-filter: brightness(85%);
	filter: brightness(85%);
	transition: all 0.5s ease;
}

/* Tags & Links */
.tags a, .tags_bottom a, .image_tags a, #footer_inner_1 a, .pagination a {
	display: inline-block;
	border: 1px solid #e5e5e5;
	color: #575757;
	font-weight: 500;
	height: 40px;
	line-height: 40px;
	padding: 0 12px;
	background: #fff;
	border-radius: 3px;
	cursor: pointer;
	font-size: 13px;
	user-select: none;
}
.tags a:hover, .tags_bottom a:hover, .image_tags a:hover, #footer_inner_1 a:hover, .pagination a:hover {
	background: #f3f3f3;
	color: #c23d25;
	border-color: #c23d25;
}
.pagination a { font-size: 16px; border-bottom-width: 2px; line-height: 16px; }
.pagination a:hover, .pagination .active { border-bottom-color: #c23d25; }
.pagination .active { color: #c23d25; border-color: #c23d25; }

.images_grid { margin: 10px auto 0; text-align: center; }
.tags-container { width: 100%; display: flex; margin: 10px 0; align-items: center; position: relative; }
.tags-wrapper { flex-grow: 1; overflow: hidden; }
.tags { display: flex; gap: 10px; white-space: nowrap; transition: transform 0.3s ease; }
.tags_bottom { border-top: 5px dotted #e5e5e5; width: 100%; padding: 15px 0; margin: 15px auto 0; text-align: center; }
.tags_bottom a, #footer_1 a { margin: 5px; }
.image_tags { margin: 10px 0 0; }
.image_tags a { margin: 0 10px 10px 0; }

/* Category */
.category_bubble_div { display:table; }
.category_frame { float: left; color: #181818; width: 25%; }
.category_frame a { color: #181818; text-decoration: none; }
.category_bubble {
	border-radius: 5px;
	padding: 10px;
	word-break: break-word;
	text-align: center;
	margin: 5px;
	font-size: 13px;
	font-weight: 500;
}
.category_bubble:hover { background: #dee3e5; }
.category_bubble span { font-size: 12px; font-style: italic; }

/* Arrows */
.arroww {
	height: 40px;
	line-height: 40px;
	font-weight: bold;
	padding: 0 12px;
	background: #fdf9f9;
	border: 1px solid #efefef;
	border-radius: 3px;
	cursor: pointer;
	font-size: 16px;
	z-index: 1;
	display: none;
}
.arroww.visible { display: block; }
.arroww:hover { background: #efefef; }
.left-arroww { margin-right: 10px; }
.right-arroww { margin-left: 10px; }

/* Search Titles & Descriptions */
.search_title_h1 { display: inline-block; font-size: 23px; font-weight: 600; line-height: 23px; margin-bottom: 0; padding-right: 5px; }
.search_title_h2 { font-size: 16px; display: inline-block; color: #2f3f4b; font-weight: 600; line-height: 1.25; margin: 0; }
.image_description h2, .image_description h3 { font-size: 13px; display: inline; margin: 0; font-weight: 500; }

/* Ads */
.ad-row { width: 100%; position: relative; margin: 0 0 20px; text-align: center; overflow: hidden; }
.ad-container { display: inline-block; width: 728px; height: 90px; margin: 10px auto; background-color: #eee; border: 1px solid #e5e5e5; line-height: 90px; text-align: center; }

/* Layout */
#frame { width: 100%; padding: 0; min-width: 390px; }
#content { max-width: 100%; margin: 55px auto 0; }
#content_inner { margin: 0 auto; clear: both; overflow: hidden; padding: 0; }
.content_frame_wide { max-width: 2008px; margin: 0 auto; } /* Default, will be overridden by media queries */
.content_frame_narrow { max-width: 1110px; padding: 0 10px; margin: 10px auto; }


/* Header */
#header { position: fixed; top: 0; min-width: 390px; font-size: .8em; width: 100%; z-index: 100; }
#header_inner { max-width: 1200px; height: 55px; margin: 0 auto; display: flex; }
#header_logo { display: inline-block; margin: 0; }
#header_left { display: inline-block; height: 55px; line-height: 55px; font-size: 15px; padding-left: 10px; flex: 1 1 auto; margin: 0; position: relative; }
#header_right { display: inline-block; text-align: right; height: 55px; line-height: 55px; font-size: 15px; }
#header_left a, #header_right a { text-decoration: none; padding: 7px 12px; border-radius: 3px; margin: 2px; }
#header_left a { margin-left: 8px; margin-right: 0; }
#header_right a { margin-right: 8px; margin-left: 0; }
#header_menu { background: url(/img/menu.png) no-repeat 0 0 / 30px; cursor: pointer; display: none; float: right; height: 30px; width: 34px; margin: 11px 0 0; }

/* Autocomplete */
.autocomplete-suggestions {
	text-align: left; cursor: default; border: 2px solid #e5e5e5; border-top: 0;
	box-shadow: 0 2px 2px 0 #e5e5e5; border-radius: 0 0 5px 5px;
	position: absolute; margin: -10px 0 0; padding: 5px 0 0;
	display: none; z-index: 9999; overflow: hidden; overflow-y: auto; background: #fff;
}
.autocomplete-suggestion { position: relative; padding: 2px 0 2px 20px; line-height: 35px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; color: #181818; }
.autocomplete-suggestion b { font-weight: 500; color: #0b2239; }
.autocomplete-suggestion.selected { background: #f3f3f3; cursor: pointer; }
.autocomplete-suggestion a { color: #0b2239; }
.autocomplete-suggestion .frontpage_search_input { background: #fff; } /* This seems to override the input style, check if needed */
.autocomplete-results-count { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); color: #777; font-size: 0.9em; }

/* Titles */
.title_big { clear: both; font-size: 24px; line-height: 30px; font-weight: 400; padding: 15px 0 10px; }
.title_big a { color: #181818; text-decoration: underline; text-decoration-color: #d1d8dd; text-decoration-style: dashed; text-underline-offset: 6px; }
.title_big a:hover { color: #c24e4e; text-decoration-color: #c24e4e; }
.title_medium { font-weight: 500; clear: both; font-size: 23px; padding: 5px 0; }
.title_small { font-weight: 700; padding: 10px 0; clear: both; font-size: 15px; }

/* Content Styles */
.width_border { border-bottom: 2px solid #e9ecef; padding: 10px 0; }
.content_text { padding: 10px 0; font-size: 14px; }
.content_text a { text-decoration: underline; }
.content_notice { border-left: 5px solid #e9ecef; background: #fff; margin: 4px 10px 10px; padding: 10px; text-align: left; line-height: 30px; border-radius: 3px; }
.notice_red { border-left-color: #f597a1; background: #ffeded; }
.notice_green { border-left-color: #77bf96; background: #dff3e7; }

/* Colors Section */
.color_frame { float: left; color: #181818; font-size: 11px; width: 10%; }
.color_frame a { color: #181818; }
.color_bubble { border-radius: 5px; padding: 10px; text-align: center; margin: 0 5px 10px; }
.color_bubble:hover { transform: scale(1.2); box-shadow: 1px 1px 2px rgba(0,0,0,0.3); background-image: none; }
.color_t { text-align: center; width: 121px; }
.color_t2 { text-align: center; width: 121px; height: 40px; line-height: 15px; }

/* Footer */
#footer_1 { width: 100%; margin-top: 10px; }
#footer_inner_1 { font-size: 13px; padding: 15px 0; font-weight: 400; margin: 0 auto; max-width: 1430px; text-align: center; } /* Added text-align center based on tags_bottom */
#footer_1_title { font-weight: 600; text-align: center; padding-bottom: 5px; }
#footer_2 { width: 100%; padding: 0 10px 10px 10px; display: table; min-height: 300px; }
#footer_inner_2 { font-size: 13px; font-weight: 400; margin: 0 auto; padding: 20px 0; max-width: 1430px; }
#footer_logo { margin: 0 0 0 -5px; width: 125px; height: 36px; }
#footer_2_left { float: left; max-width: 300px; }
#footer_2_right { float: right; text-align: right; }
#footer_2_right a { font-weight: 400; }
.footer_float { padding-left: 15px; margin-left: 25px; float: left; font-weight: 500; }

/* Dropdown Menu */
.jq-dropdown { display: none; position: fixed; z-index: 5001; top: 54px; }
.jq-dropdown .jq-dropdown-menu, .jq-dropdown .jq-dropdown-panel {
	border-radius: 0 0 5px 5px; box-shadow: 0 1px 1px rgba(0,0,0,.52);
	color: #fff; font-size: 13px; list-style: none; max-width: 360px; min-width: 200px; margin: 0; padding: 0;
}
.jq-dropdown .jq-dropdown-panel { padding: 10px; }
.jq-dropdown .jq-dropdown-menu li { font-weight: 600; line-height: 30px; list-style: none; text-align: right; text-transform: uppercase; margin: 0; padding: 0; }
.jq-dropdown .jq-dropdown-menu label, .jq-dropdown .jq-dropdown-menu li {
	color: inherit; display: block; line-height: 30px; text-decoration: none; white-space: nowrap; margin: -2px 0 0; padding: 3px 15px 3px 0;
}
.jq-dropdown .jq-dropdown-menu label:hover, .jq-dropdown .jq-dropdown-menu li:hover { color: #ffce25; cursor: pointer; }
.jq-dropdown .dd-menu .dd-divider { font-size: 1px; border-top: solid 1px #fff; padding: 0; margin: 5px 0; }
.jq-dropdown .jq-dropdown-menu li.lih_640, .jq-dropdown .jq-dropdown-menu li.divider { display: none; }
.jq-dropdown.dd-scroll .dd-menu, .jq-dropdown.dd-scroll .dd-panel { max-height: 200px; overflow: auto; }
.jq-dropdown .jq-dropdown-menu li.divider { display: block; margin: 0; padding: 0; height: 1px; background: #222d31; }
.jq-dropdown .jq-dropdown-menu li.credits { text-align: left; padding: 3px 15px; cursor: default; color: #fff; text-decoration: none; }
.jq-dropdown .jq-dropdown-menu li.premium_highlight { color: #fec400; }

/* Frontpage */
.frontpage { padding: 30px 0 0; text-align: center; width: 100%; position: relative; margin: 0; }
.frontpage_tags { font-size: 14px; padding: 5px 5px 10px; }
.frontpage_tags a { margin: 0 5px; text-decoration: none; padding: 3px; }
.frontpage_text { font-weight: 500; line-height: 40px; padding: 0; }
.frontpage_text_small { font-weight: 400; line-height: 30px; font-size: 23px; }
.frontpage_text_big { font-weight: 300; font-size: 42px; padding-bottom: 10px; }

/* Search Forms & Inputs */
.frontpage_search_form, .rest_search_form { position: relative; margin: 0 auto; width: 800px; }
.frontpage_search { padding-top: 15px; width: 100%; margin: 0 auto; }
.rest_search { padding: 15px 0 10px; width: 100%; margin: 0 auto; }
input.frontpage_search_input, input.rest_search_input {
	background: #fff; border-radius: 5px; vertical-align: top; color: #181818;
	width: 100%; height: 50px; line-height: 50px; margin: 0;
	padding: 0 50px 0 20px; box-sizing: border-box;
	border: 2px solid #e5e5e5; font-weight: 500; font-size: 14px;
}
input.rest_search_input { box-shadow: 0 0 9px 2px #e5e5e5; }
input.rest_search_input:hover { box-shadow: 0 0 9px 2px #ccc; }
/* input.frontpage_search_input has no box-shadow by default and on hover */
.rest_search_button, .frontpage_search_button {
	position: absolute; height: 40px; width: 40px; top: 4px; right: 7px;
	border-radius: 5px; border: 0;
	background: #fff url(/img/search.png) no-repeat center / 22px;
	cursor: pointer; display: inline;
}
.rest_search_button:hover, .frontpage_search_button:hover { opacity: 0.7; }

/* Pagination (common styles moved to Tags & Links) */
.pagination { font-size: 12px; margin: 10px 0; text-align: center; min-height: 45px; } /* font-size 16px is on .pagination a */
.pagination a { margin: 0 4px 0 0; padding: 11px 15px; }


/* Image Display */
.image_preview { border: 1px solid #e5e5e5; background: #fff; padding: 4px; position: relative; }
.image_preview img { display: block; /* Already in img base style but can be kept for specificity */ }
.image_description { background: #fff; padding: 6px; font-size: 13px; }
.image_description a { text-decoration: underline; }
.image_like_button, .image_like_button_liked {
	width: 38px; height: 38px; display: inline-block; color: #fff;
	font-size: 18px; text-align: center; line-height: 40px; cursor: pointer;
	border: 3px solid #e5e5e5; background: #fff url(/img/icon_likes.png) no-repeat center / 20px;
}
.image_like_button:hover { background-image: url(/img/icon_likes_red.png); border-color: #c23d25; }
.image_like_button_liked { background-image: url(/img/icon_likes_red.png); border-color: #c23d25; }
.image_information { border: 1px solid #e9ecef; border-top: 4px solid #e9ecef; background: #fff; display: table; font-size: 13px; }
.image_information a { color: #c23d25; text-decoration: none; }
.image_information a:hover { color: #051923; }
.download_problem { color: #999; padding: 6px 0; margin: 0 auto; font-size: 12px; }
.download_problem a { color: #c23d25; }
.download_premium {
    color: #181818; background: #fff; border: 1px solid #e5e5e5;
    border-bottom-width: 2px; border-top-width: 4px;
    font-size:14px; text-align:left; line-height:30px; padding:10px 15px; margin:10px auto; max-width: 400px;
}
.image_search_tags a { background: #ececec; } /* Specific to these tags */

/* User Form */
.user_form_button {
	padding: 12px; font-size: 14px; line-height: 14px; border-radius: 3px;
	margin: 0 0 30px; font-weight: 600; display: inline-block;
	border: 0; cursor: pointer; color: #fff; background: #4caf50;
}
.user_form_button:hover { background: #00A6FB; }

/* Image Frame & Layout */
.image_frame { clear: both; display: flex; margin: 0; }
.image_frame_left { display: inline-block; flex: 1 1 50%; margin-right: 10px; }
.image_frame_left img { max-width: 100%; height: auto; border-radius: 0; }
.image_preview_pinit {
	position: absolute; width: 40px; left: -47px; text-align: center; height: 53px; top: 8px;
	border-radius: 5px; color: #fff; font-size: 13px; cursor: pointer; padding: 5px;
	background: #cc474a url(/img/share_pinterest.png) no-repeat 9px 25px / 22px;
	font-weight: 500;
}
.image_preview_pinit:hover { background-color: #ce575a; }
.image_frame_right { width: 364px; display: inline-block; }
.image_title {
	background: #fff; border: 1px solid #e9ecef; width: 100%;
	font-size: 16px; line-height: 23px; margin: 0 0 10px; padding: 5px 10px; display: block;
}
.image_title h1 { font-size: 16px; line-height: 23px; display: inline; font-weight: 500; }
.image_title span { color: #ccc; }

/* Image Download & Action Buttons */
.image_download { margin: 0 0 10px; padding: 0; display: flex; clear: both; }
.image_download_button {
	flex: 1 1 50%; color: #fff; font-weight: 500; font-size: 15px;
	text-align: left; line-height: 38px; padding-left: 34px; height: 38px;
	cursor: pointer; margin-right: 10px;
}
.image_download_button span { font-weight: 400; }
.image_download2 { margin-top: 10px; padding: 0; display: flex; clear: both; }

.image_ai_button, .image_editor_button {
    flex: 1 1 50%; color: #fff; font-weight: 500; font-size: 15px;
    text-align: left; line-height: 38px; padding-left: 34px;
    height: 38px; cursor: pointer; margin: 0; background-size: 17px;
}
.image_ai_button { background: #999 url(/img/icon_ai.png) no-repeat 10px 10px / 17px; }
.image_editor_button { background: #cc474a url(/img/icon_editor.png) no-repeat 10px 10px / 17px; }
.image_ai_button:hover, .image_editor_button:hover { background-color: #223b54; }


/* Color Chips */
ul.color-chips { margin-top: 3px; width: 220px; } /* Two identical declarations removed */
ul.color-chips li { float: left; width: 12.5%; } /* Two identical declarations removed */
ul.color-chips li:first-child span { border-top-left-radius: 3px; border-bottom-left-radius: 3px; }
ul.color-chips li:last-child { margin-right: 0; }
ul.color-chips li:last-child span { border-top-right-radius: 3px; border-bottom-right-radius: 3px; }
ul.color-chips li span { float: left; width: 100%; height: 17px; text-indent: -9999px; }
ul.color-chips li span:hover, ul.color-chips li.current span {
	transform: scale(1.5); box-shadow: 1px 1px 2px rgba(0,0,0,0.3); background-image: none;
}
/* .color_bubble:hover and ul.color-chips li.current span (partially) also have scale & box-shadow, check for more consolidation if needed */
/* ul.color-chips li.current span original had scale(1.2), now matches hover (1.5). Adjust if 1.2 was intentional. */


/* Image Icons Info */
.image_icon_views, .image_icon_likes, .image_icon_filesize, .image_icon_resolution,
.image_icon_date, .image_icon_user, .image_icon_filetype, .image_icon_colors,
.image_icon_license, .image_icon_downloads {
	float: left; padding: 5px 0 5px 34px; min-height: 34px;
	border-bottom: 1px solid #e5e5e5; width: 50%;
	background: #fff no-repeat 9px 9px / 18px; /* Common background props */
}
.inffull, .image_icon_user, .image_icon_colors, .image_icon_license { width: 100%; } /* Override width for full-width items */

.image_icon_filesize { background-image: url(/img/icon_filesize.png); }
.image_icon_resolution { background-image: url(/img/icon_resolution.png); }
.image_icon_filetype { background-image: url(/img/icon_filetype.png); }
.image_icon_user { background-image: url(/img/icon_user.png); }
.image_icon_colors { background-image: url(/img/icon_colors.png); }
.image_icon_license { background-image: url(/img/icon_license.png); }
/* .image_icon_views, .image_icon_likes, .image_icon_date, .image_icon_downloads are missing specific background-image, add if they exist */

/* Image Sharing */
.image_sharing { margin-top: 10px; }
.image_sharing div { margin-right: 5px; display: inline-block; }
span.image_share_pinterest, span.image_share_twitter, span.image_share_facebook {
	display: inline-block; width: 38px; height: 38px;
	background-repeat: no-repeat; background-position: 4px 4px; background-size: 30px;
	cursor: pointer; border-radius: 3px;
}
span.image_share_pinterest { background-color: #cc474a; background-image: url(/img/share_pinterest.png); }
span.image_share_facebook { background-color: #3b5998; background-image: url(/img/share_facebook.png); }
span.image_share_twitter { background-color: #55acee; background-image: url(/img/share_twitter.png); }

/* Download Section */
.download_frame { clear: both; }
.download_loader { font-size: 20px; text-align: center; margin: 10px auto 0; }
.download_load_animation { width: 150px; height: 50px; background: url(/img/loading1.gif) no-repeat 5px -50px / 150px 150px; display: inline; }
.download_information { margin: 10px auto 0; text-align: left; max-width: 400px; }
.download_tick { vertical-align: top; margin: 3px 3px 0 0; width: 19px; height: 19px; display: inline; }
.download_premium a { text-decoration: none; font-weight: 700; color: #E64C3C; }
.download_shine a { position: relative; color: #ffc900; font-weight: 700; overflow: hidden; text-decoration: none; }
.download_shine a::before {
	content: ''; position: absolute; top: 0; left: -1%; width: 4px; height: 18px;
	transform: rotate(45deg); background-color: #fff; animation: scan 3s infinite; filter: blur(2px);
}
@keyframes scan { to { left: 100%; } }
.download_premium_button {
	padding: 10px; width: 244px; line-height: 13px; border-radius: 3px;
	font-weight: 600; text-align: center; margin: 10px auto;
	border: 0; cursor: pointer; color: #181818; background: #ffc900;
}

/* Thumbnail Elements */
.thumbnail_pinit, .thumbnail_like, .thumbnail_like_liked {
	position: absolute; font-size: 12px; color: #fff; display: none; right: 7px;
	height: 28px; width: 28px; border-radius: 3px; opacity: 1; cursor: pointer;
}
.thumbnail_pinit { top: 40px; background: #cc474a url(/img/share_pinterest.png) no-repeat center / 22px; }
.thumbnail_like, .thumbnail_like_liked { top: 7px; background: #777 url(/img/icon_likes_white.png) no-repeat center / 16px; padding: 2px 5px; /* padding was only on thumbnail_like before */ }
.thumbnail_like:hover, .thumbnail_like_liked { background-image: url(/img/icon_likes_red.png); background-size: 18px; opacity: 1; }


/* Image Search Specific */
.image_search_extra { width: 100%; clear: both; height: 30px; display: flex; overflow: hidden; }
.image_search_tags { font-size: 13px; margin: 2px 0; width: 100%; clear: both; height: 30px; overflow: hidden; }
.image_search_tags a { display: inline-block; position: relative; margin-right: 5px; padding: 3px 8px; border-radius: 3px; text-decoration: none; }
.image_search_title { clear: both; }
.image_search_title h1 { font-size: 23px; line-height: 30px; padding: 0; margin: 0; font-weight: 500; display: inline-block; }
.image_search_title span { color: #ccc; margin-left: 10px; }

/* User Forms */
form.user_form { display: inline; }
.user_form_frame { font-size: 13px; max-width: 550px; margin: 10px 10px 10px 0; }
.user_form_left { float: left; line-height: 35px; width: 150px; font-weight: 500; margin-bottom: 5px; }
.user_form_right { float: left; width: 400px; line-height: 35px; text-align: left; margin-bottom: 10px; }
fieldset.user_form_fieldset {
	border: 1px solid #e5e5e5; border-bottom-width: 2px; border-radius: 3px;
	display: inline; font-size: 12px; margin-top: -2px; padding: 0 10px;
}
.user_form_fieldset legend { color: #777; margin: 0; padding: 0 8px; }
.user_form_fieldset a {
	background-color: #e5e5e5; border-bottom: 2px solid #ccc; border-radius: 3px;
	display: inline-block; font-weight: 400; line-height: 30px; text-decoration: none;
	padding: 0 10px; font-size: 13px; width: 150px; margin-bottom: 10px; color: #181818;
	-moz-appearance: none; -webkit-appearance: none;
}
.user_form_input, .user_form_textarea {
	padding: 10px; font-size: 13px; margin-bottom: 10px; width: 350px;
	border: 1px solid #e5e5e5; border-radius: 3px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}
/* .user_form_button defined earlier */

/* Modal Overlay */
#lean_overlay { position: fixed; z-index: 1000; top: 0; left: 0; height: 100%; width: 100%; background: #000; display: none; }
#modal { position: absolute; width: 700px; height: 515px; left: 45%; top: 60px; } /* Centering might need left: 50%; transform: translateX(-50%); */
#modal a { text-decoration: none; }
.overlay_registration, .overlay_login, .overlay_password { clear: both; }
.overlay_login, .overlay_password { display: none; } /* Combined */
.overlay_left { width: 350px; height: 515px; border-radius: 5px 0 0 5px; font-size: 30px; font-weight: 500; line-height: 40px; padding: 20px; float: left; }
.overlay_right { width: 350px; padding: 20px; height: 515px; border-radius: 0 5px 5px 0; float: right; font-size: 14px; }
.overlay_title { font-size: 17px; font-weight: 500; padding-bottom: 10px; text-align: center; }
.overlay_social { clear: both; height: 40px; }
.overlay_google, .overlay_facebook, .overlay_twitter {
	border-radius: 3px; padding: 5px 0 0 50px; margin-right: 10px; height: 43px;
	font-size: 15px; font-weight: 500; color: #fff; line-height: 30px;
	width: 100%; float: left; cursor: pointer; background-color: #ccc; /* Base for all */
}
.overlay_google:hover, .overlay_facebook:hover, .overlay_twitter:hover { opacity: .8; }
.overlay_google { background: #4086fa url(/img/social_google.png) no-repeat 8px / 30px; }
/* .overlay_facebook and .overlay_twitter need their specific background images if they exist */
.overlay_divider { border-bottom: 1px solid #e5e5e5; height: 15px; text-align: center; margin: 0 0 10px; clear: left; }
.overlay_divider span { background: #f7f7f7; text-transform: uppercase; color: #bfbfbf; display: inline; font-size: .7em; font-weight: 400; position: relative; top: 1px; padding: 0 6px; }
.overlay_input {
	padding: 10px; font-size: 13px; margin: 10px 0 0; width: 100%;
	border: 1px solid #e5e5e5; border-radius: 3px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}
.overlay_button { /* Same as .user_form_button, consider combining if identical appearance is intended */
	padding: 12px; font-size: 14px; line-height: 14px; border-radius: 3px;
	font-weight: 600; display: inline-block; border: 0; cursor: pointer;
    /* Add color and background-color if it matches user_form_button */
}
/* .overlay_login { padding: 20px 0; font-size: 13px; } Redundant if .overlay_login content is styled within */
.overlay_terms { font-size: 11px; line-height: 20px; margin: 10px 0; }
input.error { border: 1px solid red; }
label.error, .overlay_alert { color: red; font-size: 13px; } /* Combined */

/* Premium & Floating Elements */
.premium_button { background: url(/img/premium/premium.svg) no-repeat 0 0 / 17px 17px; display:inline; height: 17px; vertical-align: top; width: 17px; margin: 19px 7px 0 0; }
.close { width: 14px; height: 14px; background: url(/img/close_promo.png) 0 0 / contain; top: 5px; right: 5px; cursor: pointer; position: absolute; }
a.tbn { border-radius: 3px; padding: 3px 6px; vertical-align: top; font-size: 13px; text-decoration: none; margin-left: 3px; font-weight: 500; }
#float-box-frame { bottom: 120px; left: 0; position: fixed; z-index: 50; }
#float-box-23 { padding: 10px; border-radius: 0 5px 5px 0; float: left; }
.close2 { width: 14px; height: 14px; background: url(/img/close_promo.png) 0 0 / contain; top: 5px; right: 5px; cursor: pointer; position: absolute; opacity: 0.4; }
.close2:hover { opacity: 1; }

/* Bubble Elements */
.bubble_premium_button { background: url(/img/premium/premium.svg) no-repeat 0 0 / 50px; height: 50px; vertical-align: top; width: 50px; display: inline; }
.bubble_container { width: 175px; font-size: 16px; color: #fff; }
.bubble_sale { color: #ffc107; display: block; font-weight: 700; text-align: center; }
.bubble_discount { color: #fff; display: block; margin: 10px 0; text-align: center; font-size: 30px; }
.bubble_icon { text-align: center; }
.bubble_info { color: #fff; display: block; margin: 10px 0; font-weight: 700; text-align: center; }
.bubble_button { padding: 5px 10px; border-radius: 3px; display: block; margin: 5px 0 0; font-weight: 700; text-align: center; font-size: 14px; }

/* Thanks Frame */
.thanks_frame {
	bottom: 20px; left: 50%; position: fixed; z-index: 50; margin-left: -150px; /* Consider transform: translateX(-50%); */
	border-radius: 5px; width: 324px; padding: 15px; display: none;
}
.thanks_say { font-weight: 600; font-size: 15px; }
.thanks_info { font-size: 13px; margin: 8px 0; }
.thanks_link {
	color: #181818; border: 1px solid #e5e5e5; padding: 10px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
	border-radius: 5px; background: #f1f4f7; font-size: 13px; display: inline-block;
	width: 150px; margin-right: 10px; line-height: 20px;
}
.thanks_info a { color: #fec400; }
.thanks_copy {
	color: #181818; padding: 10px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
	border-radius: 5px; display: inline-block; background: #e5e5e5;
	font-size: 13px; width: 50px; line-height: 20px; cursor: pointer;
}
.thanks_img { width: 25px; height: 25px; vertical-align: top; margin: 0; }

/* Grid */
.grid { max-width: 1800px; list-style: none; padding: 0; min-height: 1000px; /* margin: 0 auto; commented out from original */ }


/* Media Queries */
@media screen and (max-width: 2060px) {
	.content_frame_wide { max-width: 1430px; }
}
@media screen and (max-width: 1482px) {
	.content_frame_wide { max-width: 1142px; }
}
@media screen and (max-width: 1300px) {
	.grid_sizer, .thumbnail_container { width: 25%; } /* Assuming these classes exist elsewhere */
}
@media screen and (max-width: 1201px) {
	.image_icon_views, .image_icon_likes, .image_icon_filesize, .image_icon_resolution,
	.image_icon_date, .image_icon_filetype, .image_icon_user, .image_icon_colors,
	.image_icon_license, .image_icon_downloads { width: 100%; }
	#footer_1, #footer_inner_1 { padding: 10px; width: 100%; /* Assuming #footer_1 was also meant to be width 100% */ }
	#footer_inner_2 { padding: 20px; width: 100%; }
}
@media screen and (max-width: 1190px) {
	.content_frame_wide { max-width: 852px; }
}
@media screen and (max-width: 1080px) {
	.pagination { font-size: 15px; } /* .pagination a font-size is 16px, this might be overridden or intended for the container */
	.pagination a { padding: 10px; }
	#footer_1 { display: none; }
	.color_frame { width: 20%; }
	.category_frame { width: 33.3333%; }
}
@media screen and (max-width: 1000px) { /* From original, specific to search forms */
	.rest_search_form, .frontpage_search_form { width: calc(100% - 40px); margin-left: 20px; margin-right: 20px; }
}
@media screen and (max-width: 900px) {
	.frontpage_calendar { display: none; } /* Assuming this class exists */
	.search_title_h1 { font-size: 20px; line-height: 22px; }
	.search_title_h2, .image_download2, .image_tags { display: none; }
	.content_frame_wide { max-width: 564px; padding: 0 5px; }
}
@media screen and (max-width: 820px) {
	.grid { min-height: 250px; }
	.download_premium { display: none; }
	#header_menu { margin-top: 7px; }
	.image_download { background: #f3f3f3; border-top: 2px solid #e5e5e5; }
	#header_inner, #header_left, #header_right { height: 45px; line-height: 45px; font-size: 14px; }
    #header_left { padding-left: 0; }
	#content { margin-top: 45px; }
	#header_left a, #header_right a { padding: 6px 11px; }
	.premium_button { margin-top: 14px; }
	.jq-dropdown { top: 44px; }
	.frontpage_tags { display: none; }
}
@media screen and (max-width: 750px) {
	.rest_search { padding: 8px 0 0; }
	/* .frontpage padding remains 30px 0 0 */
	#float-box-frame { bottom: 80px; left: 0; }
	.close2 { left: 125px; width: 12px; height: 12px; top: 3px; }
	#float-box-23 { border-radius: 0 4px 4px 0; }
	.bubble_container { width: 120px; font-size: 12px; }
	.bubble_discount { font-size: 25px; }
	.bubble_premium_button { background-size: 40px; height: 40px; width: 40px; /* font-size 13px was here, but buttons don't have text */ }
	.image_download { margin: 0 0 0 -10px; padding: 10px; position: fixed; bottom: 0; z-index: 1000; width: 100%; display: flex; } /* margin 10px 0 10px 0 removed */
    .image_download_button, .image_like_button { height: 45px; line-height: 45px; } /* .image_like_button specific line-height */
	.color_frame { width: 25%; }
	.category_frame { width: 50%; }
	.image_search_tags, .image_search_title span, .w_1000, .overlay_left { display: none; } /* .w_1000 class assumed */
	.image_search_title h1, .image_title h1 { font-size: 17px; line-height: 23px; }
	.download_loader { font-size: 15px; }
	.user_form_frame { width: 356px; }
	.user_form_left { width: 100px; }
	.user_form_right { width: 256px; }
	fieldset.user_form_fieldset { display: none; }
	textarea.width_390, input.width_390, select.width_390 { width: 245px; } /* Assuming these classes exist */
	.image_icon_views, .image_icon_likes, .image_icon_filesize, .image_icon_resolution, .image_icon_date, .image_icon_downloads { width: 50%; } /* .image_icon_user, .colors, .license were 100% - this overrides, check intent */
	.image_frame, .image_frame_left, .image_frame_right { display: block; width: 100%; clear: both; }
    .image_frame_left { margin-right: 0; }
	#header_menu { display: block; }
	#header_search { margin: 0 10px; } /* Assuming this class exists */
	.pagination { font-size: 14px; }
	.frontpage_text { line-height: 32px; }
	.frontpage_text_big { font-size: 32px; }
	.frontpage_text_small { font-size: 18px; } /* Was previously display: none at 660px, now visible */
	#modal { width: 350px; height: 515px; top: 30px; /* left: 45% remains */ }
	.overlay_right { width: 350px; border-radius: 10px; float: none; }
}
@media screen and (max-width: 660px) {
	#header_left { padding: 0; }
	.color_frame { width: 33.333%; }
	#footer_2_left, .frontpage_text_small { display: none; } /* frontpage_text_small now hidden here */
	#footer_2_right { text-align: center; float: none; }
	.footer_float { width: 100%; clear: both; margin: 0; padding: 0 0 10px 0;}
	.frontpage_text_big { font-weight: 300; margin: 0 10px; font-size: 28px; }
}
@media screen and (max-width: 392px) {
	.w_375 { display: none; } /* Assuming this class exists */
}
@media screen and (max-width: 374px) {
	.category_frame { width: 100%; }
	.w_450 { display: none; } /* Assuming this class exists */
}