/*!
Theme Name: Gateway News
Theme URI: https://adorethemes.com/downloads/gateway-news/
Author: Adore Themes
Author URI: https://adorethemes.com/
Description: Gateway News is a sleek, modern WordPress theme ideal for news websites, blogs, magazines, and more. With a professional design, pre-built demos, and full customization options via widgets and the live customizer, it's easy to set up. The theme is fully responsive, SEO-optimized, and built for fast loading across devices. Perfect for any creative website, it offers a clean, user-friendly experience with secure, fast-loading code. You can preview the theme demo here: https://demo.adorethemes.com/gateway-news/
Version: 1.0.1
Requires at least: 5.0
Requires PHP: 7.4
Tested up to: 6.9
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Template: terminal-news
Text Domain: gateway-news
Tags: custom-background, custom-header, custom-logo, custom-menu, featured-images, footer-widgets, left-sidebar, right-sidebar, blog, one-column, portfolio, photography, theme-options, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Gateway News is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/

*/

/* Root
========================================================================== */
:root {
	--body-background: var(--color-background);
	--primary-color: #333333;
	--color-text: var(--primary-color);
	--color-background: #191B1D;
	--body-background: #ffffff;

}

/* Loader Background Color
--------------------------------------------- */
#loader {
	background-color: #ffffff;
}

/* Input Field Background Color
--------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	background-color: unset;
}


a:focus {
	outline: 2px dotted;
}

a:focus img {
    outline: 3px dotted #ffffff;
    outline-offset: -3px;
}

/* Section Wrapper
--------------------------------------------- */
.gateway-news-wrapper{
	position: relative;
	padding: 25px;
	border: 3px solid var(--primary-color);
	border-width: 2px 0;

	&::before{
		position: absolute;
		content: "";
		width: 2px;
		height: 100%;
		background: linear-gradient(to bottom, var(--primary-color) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 65%, var(--primary-color) 100%);
		top: 0;
		left: 0;
	}
	&::after{
		position: absolute;
		content: "";
		width: 2px;
		height: 100%;
		background: linear-gradient(to bottom, var(--primary-color) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 65%, var(--primary-color) 100%);
		top: 0;
		right: 0;
	}

	.section-head{
		margin-bottom: 20px;
		text-align: start;
		gap: 20px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: calc(-30px + (-20px));

		.section-title{
			padding: 10px;
			margin: 0;
			color: var(--primary-color);
			border: 2px solid var(--primary-color);
			background-color: var(--body-background);
			font-size: var(--font-size-base);
			font-family: var(--font-head);
			line-height: normal;
		}

		.adore-view-all{
			padding: 5px 8px;
			margin: 0;
			font-weight: bold;
			letter-spacing: 0.5px;
			text-decoration: none;
			color: var(--primary-color);
			border: 2px solid var(--primary-color);
			background-color: var(--body-background);
			transition: var(--transition);
			font-size: var(--font-size-sm);

			&:focus,
			&:hover {
				outline: 2px solid currentColor;
			}
		}
		&:has(.tabs-nav-filter){
			@media (max-width: 600px){
				flex-direction: column;
				align-items: flex-start;
			}
		}
	}
}

/* Post Item Common
--------------------------------------------- */
.post-item {
	.post-item-image {
		position: relative;
		overflow: hidden;
		border-radius: 5px;
		a {
			display: block;
			height: 100%;
			width: 100%;
			line-height: 0;
			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				transition: all 0.5s ease-in-out;
			}
		}
	}
	.post-item-content {
		padding: 10px 0 0;

		.entry-cat{
			.post-categories {
				list-style: none;
				padding: 0;
				margin: 0;
				display: flex;
				flex-wrap: wrap;
				li {
					margin-inline-end: 5px;
					margin-block-start: 5px;
					display: flex;
					a {
						display: block;
						color: #ffffff;
						border: 1px solid #ffffff;
						font-size: calc(var(--font-size-sm) - 2px);
						letter-spacing: 0.5px;
						text-decoration: none;
						line-height: 1;
						padding: 5px 7px;
						&:focus {
							outline-offset: 2px;
							outline-color: var(--color-text);
						}
						&:focus,
						&:hover {
							outline: 2px solid currentColor;
						}
					}
				}
			}
			&.no-bg{
				.post-categories li{
					a {
						color: var(--primary-color);
						background-color: transparent;
						text-transform: uppercase;
						font-weight: bold;
						border-radius: 0;
						padding: 0;
						border: none;
						&:focus,
						&:hover {
							outline: unset;
							text-decoration: underline;
						}
					}
					&:not(:last-child) a:after {
						content: "\22C5";
						font-weight: bold;
						padding: 0 0 0 5px;
						opacity: 0.7;
						color: var(--color-text);
					}
				}
			}
		} 
		
		.entry-meta {
			margin: 0;
			margin-block-end: 10px;
			padding: 0;
			list-style: none;
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			row-gap: 6px;
			column-gap: 12px;
			li {
				margin-bottom: 0;
				font-size: var(--font-size-xs);
				text-transform: capitalize;
				font-weight: 500;
				a {
					text-decoration: none;
					color: var(--color-text);
					&:focus,
					&:hover{
						color: var(--primary-color);
					}
				}
				&:last-child {
					display: flex;
					align-items: center;
				}
				span {
					margin-inline-end: 5px;
				}
			}
			&:last-child {
				margin-block-end: 0;
			}
		}
		.post-exerpt p {
			margin-block: 10px;
			margin-block-start: 0;
		}
	}
}

.post-item.overlay-post {
    & .post-item-content {
        & .entry-title {
            a {
                color: #fff;
            }
        }

		& .entry-meta li a, .entry-meta li {
            color: #fff;
        }
		
    }
}

.site-branding {
    & .site-identity {
        .site-description {
            color: #333333;
        }
    }
}

.adore-adver-part {
		@media (min-width: 992px) {
			width: 33.33%;
		}
	}

	.adore-adver-part {
	width: 100%;
	@media (min-width: 992px) {
		width: 60%;
	}

	a {
		display: block;
		line-height: 0;
		border: 1px solid var(--primary-color);
		box-shadow: 5px 5px 0 var(--body-background), 6px 6px 0, 0 0 40px inset rgba(0, 0, 0, 0.75), 0 0 10px inset;

		img {
			width: 100%;
		}
		
		&:focus {
			outline-color: #fff;
			outline-offset: 2px;
		}
	}
}

.middle-header-wrap:not(:has(.adver-1)) {
    justify-content: space-between;
}

/* Banner Section
--------------------------------------------- */
.main-banner-section:first-child{
	margin-top: 50px;
}

.main-banner-section.style-2{

	.main-banner-section-wrapper{
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		margin-inline: -10px;

		>*{
			padding-inline: 10px;
			margin-bottom: 30px;
			
			@media (min-width: 992px){
				position: sticky;
				top: 40px;
			}
		}

		.editor-pick-outer{
			width: 25%;

			@media (max-width: 1024px){
				width: 30%;
			}

			@media (max-width: 768px){
				width: 100%;
			}

			.editor-pick-wrapper{
				display: grid;
				gap: 20px;
				grid-template-columns: repeat(1, 1fr);

				.post-item.overlay-post{
					min-height: 215px;
				}
			}
		}

		.main-featured-grid{
			width: 75%;
			
			@media (max-width: 1024px){
				width: 70%;
			}

			@media (max-width: 768px){
				width: 100%;
			}

			.main-featured{
				display: flex;
				flex-wrap: wrap;
				align-items: flex-start;
				margin-inline: -10px;

				@media (max-width: 1024px){
					flex-direction: column;
				}
	
				>*{
					padding-inline: 10px;
					margin-bottom: 40px;
					
					@media (min-width: 1025px){
						position: sticky;
						top: 40px;
					}
				}
				
				.main-news-outer{
					width: 70%;
		
					@media (max-width: 1024px){
						width: 100%;
					}
					.main-news-wrap{
						border-radius: 5px;
						overflow: hidden;
		
						.post-item.overlay-post{
							min-height: 450px;
		
							.entry-title {
								font-size: var(--font-size-lg);
							}
						} 
					} 
				}
		
				.featured-posts-outer{
					width: 30%;
		
					@media (max-width: 1024px){
						width: 100%;
					}

					.featured-posts{
						@media (max-width: 1024px){
							display: grid;
							gap: 20px;
							grid-template-columns: repeat(2, 1fr);
						}
					}
		
					.post-item{
						&:not(:last-child){
							margin-bottom: 20px;
						}
						
						&.post-list:not(:has(img)) {
							align-items: center;
							padding: 15px;
							border: 1px solid var(--color-tab-border);
							.post-item-content{
								padding: 0;
							}
						}
						&.post-list:has(img) .post-item-image {
							flex: 0 0 27%;
							max-width: 27%;
							aspect-ratio: 1;
						}
						&.post-list .post-item-content{
							padding: 0;
							padding-inline-start: 15px;
						}
						&.post-list .post-item-content .entry-title {
							margin-block: 5px;
							overflow: hidden;
							display: -webkit-box;
							-webkit-line-clamp: 2;
							-webkit-box-orient: vertical;
							font-size: var(--font-size-sm);
						}
						&.post-list .post-item-content .entry-meta {
							margin: 0;
						}
					}
				}
			}

			.banner-grid-outer{
				.banner-grid-wrapper {
					display: grid;
					gap: 20px;
					grid-template-columns: repeat(3, 1fr);
			
					@media (max-width: 1023px) {
						grid-template-columns: repeat(2, 1fr);
					}
			
					@media (max-width: 767px) {
						display: flex;
						flex-direction: column;
					}

					.post-item.overlay-post{
						min-height: 223px;

						&:first-child{
							grid-row: span 2;
						}
					}
				}
			}
			
		}
		
	}
}

/* Start Grid Posts Section
--------------------------------------------- */
.post-grid-wrapper {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 768px) {
	.post-grid-wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.post-grid-wrapper {
		grid-template-columns: repeat(1, 1fr);
	}
}

.post-item.post-grid .post-item-image .post-thumbnail img,
.post-item.post-grid .post-item-image a img {
	aspect-ratio: 1/0.7;
}

/* Start Grid Posts Section
--------------------------------------------- */
.posts-carousel-widget.style-2{
	.post-item.post-list .post-item-image {
		width: 100px;
		height: 100px;
		border-radius: 50%;
		flex-shrink: 0;
		flex-basis: unset;
		background: linear-gradient(to bottom, rgba(17, 17, 17, 0) 0%, rgba(17, 17, 17, 0.6) 80%, #111111 100%);
		
		img{
			height: 100%;
			width: 100%;
			object-fit: cover;
		}
	}
	.post-item.post-list .post-item-content {
		align-self: center;
		padding-block: 0;
		padding-inline-end: 10px;
		padding-inline-start: 10px;
	}
	.post-item-content .entry-title {
		margin-top: 0;
		margin-bottom: 5px;
		font-size: var(--font-size-sm);
		overflow: hidden;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}
	.post-item-content .entry-meta {
		margin: 0;
	}
}