/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.4.7
	Stable tag: 3.4.7
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/

:root {
	--primary: #105CBB;
	--black: #000;
	--white: #fff;
	--greyEB: #eaeaeb;
}

/* News List CSS  */
.data-msg{
	font-size: 14px;
	line-height: 1;
	color: var(--black);
	background: var(--greyEB);
	padding: 10px;
	text-align: center;
}
.news-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}
.news-card{
	display: flex;
    flex-direction: column;
	transition: 0.3s ease-in-out;
}
.news-card .news-card-image {
    height: 250px;
	flex-shrink: 0;
    position: relative;
    margin-bottom: 24px;
    background-color: var(--greyEB);
	border: 1px solid var(--greyEB);
	transition: 0.3s ease-in-out;
}
.news-card .news-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	object-position: top;
}
.news-card .news-card-image::before{
	content: '';
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.1);
	z-index: 0;
}
.news-card .news-card-image .card-badge {
    position: absolute;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    color: #7a7a7a;
    padding: 18px 20px;
	text-transform: capitalize;
    bottom: 0;
    left: 0;
    background-color: var(--white);
	z-index: 1;
}
.news-card .news-card-content{
	height: 100%;
	display: flex;
    flex-direction: column;
	justify-content: space-between;
    align-items: flex-start;
	gap: 0;
}
.news-card .news-card-content .title,
.news-card .news-card-content .title a{
	-webkit-line-clamp: 3;
}
.news-card .news-card-content .title,
.news-card .news-card-content p,
.news-card .news-card-content .title a{
	overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
	word-break: break-word;
}
.news-card .news-card-content .title {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--black);
	margin: 0 0 10px;
}
.news-card .news-card-content .title a,
.event-card .content-wrapper h3 a{
	color: var(--black);
	text-decoration: none;
	transition: all 0.3s;
}
.news-card .news-card-content .title a:hover,
.event-card .content-wrapper h3 a:hover{
	color: var(--primary);
}
.news-card .news-card-content p {
    color: #7a7a7a;
    font-size: 16px;
	font-weight: 400;
    line-height: 1.5;
    -webkit-line-clamp: 3;
	font-family: "Heebo", Sans-serif;   
}
.news-card .news-card-content .title:last-child,
.news-card .news-card-content p:last-child {
    margin: 0;
}
.news-card .news-card-content .link,
.event-card .content-wrapper .link{
	display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
    color: var(--primary);
	cursor: pointer;
	font-family: "Heebo", Sans-serif;
	text-decoration: none;
	gap: 6px;
	transition: 0.3s ease-in-out;
}
body .elementor-widget.elementor-list-item-link-full_width a{
	text-decoration: none;
}
.news-card .news-card-content .link svg,
.news-card .news-card-content .link i,
.event-card .content-wrapper .link svg,
.event-card .content-wrapper .link i{
	transition: 0.3s ease-in-out;
}
.news-card .news-card-content .link:hover svg,
.news-card .news-card-content .link:hover i,
.event-card .content-wrapper .link:hover svg,
.event-card .content-wrapper .link:hover i{
	padding-left: 4px;
}
.news-card .news-card-content .link svg,
.event-card .content-wrapper .link svg {
    width: 18px;
    height: 18px;
}
.news-card .news-card-content .link svg path,
.event-card .content-wrapper .link svg path{
	stroke: var(--primary);
}
.news-card .news-card-content .link:hover,
.event-card .content-wrapper .link:hover{
	color: var(--black);
}
.news-list .not-found {
    font-size: 14px;
    grid-column: span 3;
    text-align: center;
    padding: 10px;
    background: var(--greyEB);
}
/* End News List CSS  */

/* Events List CSS  */
.event-card {
  display: flex;
  flex-direction: row;
  border: 1px solid #EAEAEA;
  font-family: "Heebo", Sans-serif; 
  margin-bottom: 40px;
}
.event-card:last-child{
	margin-bottom: 0;
}
.event-card .date-box {
	text-align: center;
	min-width: 100px;
	align-self: center;
	min-width: 318px;
}
.event-card .date-box .day {
	font-size: 32px;
	line-height: 1;
	font-weight: 700;
  	display: block;
  	color: var(--black);
  	font-family: "Inter", Sans-serif; 
}
.event-card .date-box .month-year {
	color: #7a7a7a;
	font-size: 16px;
	font-weight: 300;
	margin: 6px 0 0;
}
.event-card .date-box{
	padding: 20px 100px;
}
.event-card .content-wrapper{
	padding: 20px 40px;
	align-self: center;
}
.event-card .date-box,
.event-card .image-wrapper{
	flex-shrink: 0;
}
.event-card .image-wrapper{
	width: 350px;
	border-right: 1px solid #EAEAEA;
	border-left: 1px solid #EAEAEA;
	background: #EAEAEA;
}
.event-card .image-wrapper img{
	width: 100%;
	height: 100%;
	max-height: 210px;
	object-fit: cover;
	display: block;
}
.event-card .content-wrapper{
	width: 100%;
}
.event-card .content-wrapper h3 {
	font-size: 20px;
	line-height: 1.1;
	font-weight: 600;
	margin: 0 0 16px;
  	font-family: "Inter", Sans-serif;
}
.event-card .content-wrapper p {
	font-size: 16px;
	line-height: 1.1;
	font-weight: 300;
	margin: 0 0 10px;
	color: #7a7a7a;
	text-transform: capitalize;
}
.event-card .content-wrapper p:last-child{
	margin: 0;
}
/* End Events List CSS  */

/* Details CSS  */
.detail-banner .detail-container{
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
	padding-inline: 20px;
}
.detail-banner{
	padding: 210px 0 100px;
	background: #181b2a;
	text-align: center;
	color: var(--white);
}
.detail-banner .title{
    font-size: 42px;
	line-height: 1.3;
	font-weight: 700;
	font-family: "Inter", Sans-serif;
	
	color: var(--white);
	margin: 0;
}
.detail-banner .badge{
	display: inline-block;
    background-color: var(--primary);
    color: var(--white);
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    padding: 8px 16px;
    border-radius: 60px;
    text-transform: capitalize;
    margin-bottom: 6px;
}
.detail-body{
	padding: 30px 0;
}
.detail-breadcrumb{
	display: flex;
	align-items: center;
	list-style-type: none;
    padding: 0;
	margin-bottom: 15px;
}
.detail-breadcrumb:last-child{
	margin-bottom: 0;
}
.detail-breadcrumb li{
	position: relative;
    padding-right: 12px;
    margin-right: 6px;
}
.detail-breadcrumb li,
.detail-breadcrumb li a{
	font-size: 13px;
	text-transform: capitalize;
	font-family: "Heebo", Sans-serif; 
	color: var(--white);
}
.detail-breadcrumb li.active{
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.detail-breadcrumb li a{
	transition: all 0.3s;
}
.detail-breadcrumb li a:hover,
.detail-breadcrumb li.active{
	color: var(--primary);
}
.detail-breadcrumb li::before{
	content: "/";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: var(--white);
}
.detail-breadcrumb li:last-child{
	margin-right: 0;
	padding-right: 0;
}
.detail-breadcrumb li:last-child::before{
	display: none;
}
.detail-body .detail-container{
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding-inline: 20px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.detail-body .image-wrapper{
	min-height: 250px;
}
.news-pdf-viewer,
.detail-body .image-wrapper{
	border-radius: 10px;
	width: 100%;
	border: 1px solid #EAEAEA;
	background: var(--greyEB);
	overflow: hidden;
}
.news-pdf-viewer iframe{
	height: 700px;
	display: block;
}
.detail-body .image-wrapper img,
.detail-body .blog-content figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 5px;
}
.detail-body .blog-content{
	width: 100%;
}
.detail-body .blog-content h2,
.detail-body .blog-content h3,
.detail-body .blog-content h4,
.detail-body .blog-content h5,
.detail-body .blog-content h6{
	line-height: 1.3;
	font-weight: 700;
	font-family: "Inter", Sans-serif;
}
.detail-body .blog-content h2,
.detail-body .blog-content h3,
.detail-body .blog-content h4,
.detail-body .blog-content h5,
.detail-body .blog-content h6,
.detail-body .blog-content p,
.detail-body .blog-content figure,
.detail-body .blog-content figure img{
	margin-bottom: 15px !important;
}
.detail-body .blog-content h2:last-child,
.detail-body .blog-content h3:last-child,
.detail-body .blog-content h4:last-child,
.detail-body .blog-content h5:last-child,
.detail-body .blog-content h6:last-child,
.detail-body .blog-content p:last-child,
.detail-body .blog-content figure img:last-child,
.detail-body .blog-content figure:last-child{
	margin-bottom: 0 !important;
}
.detail-body .blog-content strong,
.detail-body .blog-content b{
	color: var(--black);
}
.detail-body .blog-content figcaption{
	font-style: normal;
}
.detail-body .blog-content h2{
	font-size: 30px;
}
.detail-body .blog-content h3{
	font-size: 26px;
}
.detail-body .blog-content h4{
	font-size: 24px;
}
.detail-body .blog-content h5{
	font-size: 22px;
}
.detail-body .blog-content h6{
	font-size: 20px;
}
.detail-body .blog-content p{
	font-size: 16px;
	font-family: "Heebo", Sans-serif; 
}
.detail-body .blog-content .wp-block-spacer{
	display: none;
}
.news-load-more-wrap button{
	border-radius: 5px 5px 5px 5px;
    padding: 15px 30px 15px 30px;
	background: var(--primary);
	transition-duration: .3s;
    transition-property: transform;
    transition-timing-function: ease-out;
}
.news-load-more-wrap button:hover{
	transform: translateY(-8px);
}
/* End Details CSS  */

/* Home News CSS  */
.home-news-list{
	margin: 0 !important;
}
.home-news-list .news-load-more-wrap,
.home-news-list .news-pagination{
	display: none;
}
.news-pagination{
	margin-top: 40px;
}
.news-pagination,
.news-page-numbers{
	display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}
.news-pagination .news-page-btn,
.news-pagination .news-prev,
.news-pagination .news-next{
	display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    line-height: 1;
    font-size: 15px;
    height: 34px;
    min-width: 34px;
    color: var(--primary);
    background: transparent;
	cursor: pointer;
    border: 1px solid var(--primary);
	border-radius: 5px;
	position: relative;
	z-index: 1;
	transition: all 0.3s;
}
.news-pagination .news-page-btn font,
.news-pagination .news-prev font,
.news-pagination .news-next font{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}
.news-pagination .news-prev,
.news-pagination .news-next,
.news-pagination .news-page-btn:hover,
.news-pagination .news-page-btn.active{
	background: var(--primary);
	color: var(--white);
}
.news-pagination button:disabled.news-prev,
.news-pagination button:disabled.news-next{
	background: #dcdcdc;
    border-color: #dcdcdc;
    pointer-events: none;
}
.news-pagination .dots{
	display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.5 !important;
    font-size: 24px !important;
    height: 11px;
    min-width: 28px;
    color: var(--black);
    letter-spacing: 0.02em;
    padding: 0;
    margin-bottom: 8px;
}
.skeleton * {
	position: relative;
	overflow: hidden;
	background-color: #e2e2e2;
}
.skeleton .news-card-content{
	height: 16px;
    margin-bottom: 8px;
}
.skeleton .news-card-content:last-child{
	width: 50%;
	margin-bottom: 0;
}

.skeleton *::after {
	content: "";
	position: absolute;
	top: 0;
	left: -150px;
	height: 100%;
	width: 150px;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(255, 255, 255, 0.6),
		transparent
	);
	animation: shimmer 1.2s infinite;
}
/* End Home News CSS  */


/* See More Button */
.news-load-more-wrap {
    margin-top: 50px;
    text-align: center;
}
.news-load-more-wrap .news-load-more-btn {
    background: var(--primary);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    padding: 18px 40px;
    border-radius: 5px;
	transition: 0.3s ease-in-out;
}
.news-load-more-wrap .news-load-more-btn:hover{
	transform: translateY(-10px);
}
/* End See More Button */

/* Tab CSS */
.news-tabs-container{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	border-bottom: 1px solid var(--greyEB);
    margin-bottom: 16px;
    padding-bottom: 16px;
}
.news-tabs-container .news-tab-item{
	font-size: 16px;
    line-height: 1;
    padding: 12px 22px;
	background: var(--white);
	cursor: pointer;
	border: 1px solid var(--primary);
	color: var(--primary);
	border-radius: 5px;
	text-transform: capitalize;
	
}
.news-tabs-container .news-tab-item.active-tab{
	background: var(--primary);
	color: var(--white);
}
.no-items-found{
	grid-column: span 3;
	text-align: center;
    padding: 10px;
    border: 1px dashed var(--primary);
    border-radius: 5px;
    color: var(--primary);
    background: #105cbb1a;

}
/* End Tab CSS */

/* Location CSS */
.heidi-locations-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	width: 100%;
	margin: 0 auto;
}
.heidi-location-card {
	border: 1px solid var(--greyEB);
	overflow: hidden;
	background: var(--white);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.heidi-location-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}
.heidi-location-link {
	text-decoration: none !important;
	color: inherit !important;
	display: block;
}
.heidi-location-img-wrap {
	height: 220px;
	overflow: hidden;
	background-color: var(--greyEB);
	position: relative;
}
.heidi-location-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}
.heidi-location-card:hover .heidi-location-img-wrap img {
	transform: scale(1.04);
}
.heidi-location-info {
	padding: 16px;
	text-align: center;
}
.heidi-location-info .heidi-location-title {
	font-size: 20px;
    line-height: 1.1;
    font-weight: 600;
	text-transform: uppercase;
	margin: 0;
	letter-spacing: 0.5px;
	color: var(--black);
}
.heidi-location-header {
	text-align: center;
	margin-bottom: 40px;
	background: #fdfdfd;
	border: 1px solid var(--greyEB);
	padding: 30px;
	border-radius: 12px;
}
.heidi-location-header h1 {
	text-transform: uppercase;
	font-size: 2.2rem;
	margin: 0;
	letter-spacing: 0.5px;
}
.heidi-location-header p {
	color: #777;
	margin: 8px 0 0 0;
}
.heidi-posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 30px;
}
.location-news-list{
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 10px;
}
/* End Location CSS */

/* Responsive CSS  */
@media (max-width: 1199px){
   	.news-list{
        gap: 20px;
   	}
	.event-card{
		margin-bottom: 20px;
	}
	.event-card .date-box{
		padding: 20px 80px;
		min-width: 280px;
	}
	.event-card .content-wrapper{
		padding: 20px;
	}
}
 
@media (max-width: 1024px){
	.news-list{
		gap: 16px;
	}
	.news-card .news-card-image{
		margin-bottom: 20px;
		height: 220px;
	}
	.news-card .news-card-image .card-badge{
		font-size: 12px;
		padding: 10px 14px;
	}
	.news-card .news-card-content .title {
		font-size: 16px;
	}
	.news-card .news-card-content p{
		font-size: 14px;
	}
	.news-card .news-card-content .link svg,
	.event-card .content-wrapper .link svg {
		width: 12px;
		height: 12px;
	}
	.event-card .date-box{
		padding: 20px 40px;
		min-width: 200px;
	}
	.event-card .image-wrapper{
		width: 250px;
	}
	.event-card .date-box .day{
		font-size: 26px;
	}
	.detail-banner .title{
		font-size: 30px;
	}
	.detail-body .blog-content h2{
		font-size: 26px;
	}
	.detail-body .blog-content h3{
		font-size: 24px;
	}
	.detail-body .blog-content h4{
		font-size: 20px;
	}
	.detail-body .blog-content h5,
	.detail-body .blog-content h6{
		font-size: 18px;
	}
	.detail-body .blog-content p{
		font-size: 14px;
	}
	.detail-breadcrumb{
		margin-bottom: 10px;
	}
	.detail-banner{
		padding: 50px 0;
	}
	.news-tabs-container{
		gap: 8px;
	}
	.news-tabs-container .news-tab-item{
		font-size: 14px;
		padding: 9px 16px;
	}
	.heidi-locations-grid{
		gap: 14px;
	}
	.heidi-location-img-wrap{
		height: 190px;
	}
	.heidi-location-info .heidi-location-title{
		font-size: 16px;
	}
}

@media (max-width: 767px){
	.news-list{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.event-card{
		flex-direction: column;
	}
	.event-card .date-box{
		text-align: center;
	}
	.event-card .date-box,
	.event-card .image-wrapper{
		width: 100%;
	}
	.event-card .image-wrapper{
		min-height: 200px;
	}
	.event-card .image-wrapper img{
		max-height: 450px;
	}
	.event-card .content-wrapper,
	.event-card .date-box{
		padding: 16px;
	}
	.detail-banner .title{
		font-size: 26px;
	}
	.detail-body .blog-content h2{
		font-size: 24px;
	}
	.detail-body .blog-content h3{
		font-size: 22px;
	}
	.detail-body .blog-content h4{
		font-size: 18px;
	}
	.detail-breadcrumb li, .detail-breadcrumb li a{
		font-size: 10px;
	}
	.detail-breadcrumb li{
		padding-right: 8px;
    	margin-right: 4px;
	}
	.detail-banner .badge{
		font-size: 13px;
	}
	.news-pagination .news-page-btn, .news-pagination .news-prev, .news-pagination .news-next{
		font-size: 13px;
		height: 28px;
		min-width: 28px;
	}
	.news-pagination, .news-page-numbers{
		gap: 6px;
	}
	.news-pagination .dots{
		font-size: 17px !important;
		height: 14px;
		min-width: 20px;
	}
	.news-tabs-container{
		gap: 4px;
		margin-bottom: 10px;
    	padding-bottom: 10px;
	}
	.news-tabs-container .news-tab-item {
		font-size: 12px;
		padding: 6px 10px;
	}
	.heidi-locations-grid{
		grid-template-columns: repeat(2, 1fr);
	}
	.news-load-more-wrap{
		margin-top: 24px;
	}
	.news-pdf-viewer iframe{
		height: 450px;
	}
}

@media (max-width: 575px){
	.news-list{
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.news-card .news-card-image{
		height: auto;
		margin-bottom: 10px;
	}
	.news-card .news-card-image img{
		max-height: 400px
	}
	.event-card .content-wrapper,
	.event-card .date-box{
		padding: 10px;
	}
	.event-card .image-wrapper img{
		max-height: 400px;
	}
	.event-card .date-box .day{
		font-size: 22px;
	}
	.event-card .content-wrapper h3{
		font-size: 18px;
		margin: 0 0 12px;
	}
	.event-card .content-wrapper p,
	.event-card .date-box .month-year{
		font-size: 14px;
	}
	.event-card .content-wrapper p{
		margin: 0 0 6px;
	}
	.heidi-locations-grid{
		grid-template-columns: repeat(1, 1fr);
	}
}
/* End Responsive CSS  */