:root{

	--ulg-primary:#00d1ff;
	--ulg-secondary:#7b61ff;
	--ulg-gold:#ffcc66;

	--ulg-dark:#07122f;
	--ulg-dark-2:#0b1f4f;

	--ulg-white:#ffffff;

	--ulg-text:rgba(255,255,255,.82);

	--ulg-border:rgba(255,255,255,.08);

	--ulg-glass:rgba(255,255,255,.05);

	--ulg-radius:32px;

	--ulg-shadow:
	0 25px 60px rgba(0,0,0,.25);

	--ulg-transition:
	all .35s ease;

	--ulg-font-heading:
	"Poppins",sans-serif;

	--ulg-font-body:
	"Inter",sans-serif;
}

/* ===================================================
   RESET + ROOT
=================================================== */

*,
*::before,
*::after{
	box-sizing:border-box;
	margin:0;
	padding:0;
}

html{
	scroll-behavior:smooth;
	-webkit-text-size-adjust:100%;
	text-size-adjust:100%;
}

body{

	background:
	linear-gradient(
		180deg,
		#07122f 0%,
		#0b1f4f 50%,
		#07122f 100%
	);

	color:#ffffff;

	font-family:
	var(--ulg-font-body);

	font-size:16px;
	font-weight:400;
	line-height:1.7;

	overflow-x:hidden;
}

/* ===================================================
   TYPOGRAPHY
=================================================== */

h1,
h2,
h3,
h4,
h5,
h6{
	font-family:var(--ulg-font-heading);
	font-weight:700;
	line-height:1.15;
	margin:0 0 18px;
	color:var(--ulg-white);
	letter-spacing:-0.02em;
}

h1{
	font-size:clamp(42px,5vw,72px);
}

h2{
	font-size:clamp(34px,4vw,56px);
}

h3{
	font-size:28px;
}

h4{
	font-size:24px;
}

h5{
	font-size:20px;
}

h6{
	font-size:18px;
}

p{
	margin:0 0 20px;
	color:var(--ulg-text);
	font-size:17px;
	line-height:1.9;
}

/* ===================================================
   LINKS
=================================================== */

a{
	text-decoration:none;
	color:inherit;
	transition:var(--ulg-transition);
}

a:hover{
	opacity:.92;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
	outline:2px solid
	var(--ulg-primary);
	outline-offset:4px;
}

/* ===================================================
   IMAGES
=================================================== */

img{
	max-width:100%;
	height:auto;
	display:block;
}

picture{
	display:block;
}

/* ===================================================
   BUTTON SYSTEM
=================================================== */

.ulg-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:16px 30px;
	border-radius:999px;
	font-weight:700;
	font-size:16px;
	cursor:pointer;
	border:none;
	transition:var(--ulg-transition);
	position:relative;
	overflow:hidden;
	white-space:nowrap;
}

.ulg-btn:hover{
	transform:translateY(-3px);
}

.ulg-btn-primary{
	background:
	linear-gradient(
		135deg,
		var(--ulg-primary),
		var(--ulg-secondary)
	);

	color:#fff;

	box-shadow:
	0 18px 40px
	rgba(0,209,255,.28);
}

.ulg-btn-primary:hover{
	box-shadow:
	0 26px 60px
	rgba(0,209,255,.36);
}

.ulg-btn-secondary{
	background:
	rgba(255,255,255,.06);

	border:
	1px solid
	var(--ulg-border);

	color:#fff;

	backdrop-filter:
	blur(20px);

	-webkit-backdrop-filter:
	blur(20px);
}

.ulg-full-btn{
	width:100%;
}

/* ===================================================
   CONTAINER
=================================================== */

.container{
	width:100%;
	max-width:1280px;
	margin:0 auto;
	padding:0 24px;
}

.section-padding{
	padding:100px 0;
}

/* ===================================================
   SECTION HEADERS
=================================================== */

.ulg-section-head{
	max-width:860px;
	margin:0 auto 70px;
}

.ulg-section-head.center{
	text-align:center;
}

.ulg-mini-badge{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:10px 18px;
	border-radius:999px;

	background:
	rgba(255,255,255,.06);

	border:
	1px solid
	var(--ulg-border);

	backdrop-filter:
	blur(20px);

	-webkit-backdrop-filter:
	blur(20px);

	font-size:14px;
	font-weight:700;
	color:#fff;

	margin-bottom:24px;
}

.ulg-section-title{
	margin-bottom:20px;
}

.ulg-section-subtitle{
	max-width:760px;
	margin:0 auto;
}

/* ===================================================
   GLASS CARD
=================================================== */

.ulg-glass-card,
.glass{
	background:
	var(--ulg-glass);

	border:
	1px solid
	var(--ulg-border);

	backdrop-filter:
	blur(20px);

	-webkit-backdrop-filter:
	blur(20px);

	border-radius:
	var(--ulg-radius);

	box-shadow:
	var(--ulg-shadow);
}

/* ===================================================
   BLOG SYSTEM
=================================================== */

.ulg-blog-layout{
	display:grid;
	grid-template-columns:
		minmax(0,2fr)
		380px;

	gap:40px;
	align-items:start;
}

.ulg-blog-grid,
.ulg-post-grid{
	display:grid;
	grid-template-columns:
		repeat(
			2,
			minmax(0,1fr)
		);

	gap:30px;
}

.ulg-blog-card,
.ulg-post-card{
	background:
	rgba(255,255,255,.04);

	border:
	1px solid
	var(--ulg-border);

	border-radius:
	32px;

	overflow:hidden;

	transition:
	var(--ulg-transition);

	height:100%;
	display:flex;
	flex-direction:column;
}

.ulg-blog-card:hover,
.ulg-post-card:hover{
	transform:
	translateY(-8px);
}

.ulg-blog-thumb,
.ulg-post-thumb{
	position:relative;
	display:block;
	overflow:hidden;
}

.ulg-blog-thumb img,
.ulg-post-thumb img{
	width:100%;
	height:260px;
	object-fit:cover;
	transition:
	transform .5s ease;
}

.ulg-blog-card:hover,
.ulg-blog-thumb img,

.ulg-post-card:hover,
.ulg-post-thumb img{
	transform:scale(1.04);
}

.ulg-blog-content,
.ulg-post-content{
	padding:28px;
	display:flex;
	flex-direction:column;
	flex-grow:1;
}

.ulg-blog-meta,
.ulg-post-meta{
	display:flex;
	flex-wrap:wrap;
	gap:18px;
	font-size:14px;
	color:
	rgba(
		255,
		255,
		255,
		.6
	);

	margin-bottom:16px;
}

.ulg-blog-title,
.ulg-post-title{
	font-size:28px;
	margin-bottom:18px;
	line-height:1.25;
	word-break:break-word;
}

.ulg-blog-title a,
.ulg-post-title a{
	color:#fff;
}

.ulg-blog-title a:hover,
.ulg-post-title a:hover{
	color:
	var(--ulg-primary);
}

.ulg-blog-excerpt{
	margin-bottom:24px;
}

.ulg-read-more{
	font-weight:700;
	color:
	var(--ulg-primary);
	margin-top:auto;
}

/* ===================================================
   SINGLE POST
=================================================== */

.ulg-single-content{
	background:
	rgba(255,255,255,.03);

	border:
	1px solid
	var(--ulg-border);

	border-radius:
	40px;

	padding:50px;
}

.ulg-single-header{
	margin-bottom:40px;
}

.ulg-single-meta{
	display:flex;
	flex-wrap:wrap;
	gap:20px;
	margin-bottom:30px;

	color:
	rgba(
		255,
		255,
		255,
		.7
	);
}

.ulg-single-thumb img{
	width:100%;
	border-radius:28px;
	margin-bottom:40px;
}

.ulg-single-body{
	font-size:18px;
	line-height:1.9;
	word-break:break-word;
}

.ulg-single-body p{
	margin-bottom:24px;
}

.ulg-single-body img{
	border-radius:22px;
	margin:30px 0;
}

.ulg-single-body ul,
.ulg-single-body ol{
	margin:
	0 0 28px 24px;
}

.ulg-single-body li{
	margin-bottom:10px;
}

.ulg-single-body blockquote{
	border-left:
	4px solid
	var(--ulg-primary);

	padding:
	20px 24px;

	background:
	rgba(255,255,255,.04);

	border-radius:
	18px;

	margin:
	30px 0;
}

/* ===================================================
   TAGS
=================================================== */

.ulg-post-tags{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}

.ulg-tag{
	display:inline-flex;
	align-items:center;
	justify-content:center;

	padding:
	12px 18px;

	border-radius:
	999px;

	background:
	rgba(
		255,
		255,
		255,
		.05
	);

	border:
	1px solid
	var(--ulg-border);

	font-size:
	14px;

	font-weight:
	600;
}

/* ===================================================
   AUTHOR BOX
=================================================== */

.ulg-author-box{
	margin-top:60px;
	display:flex;
	gap:22px;
	padding:30px;
	border-radius:28px;

	background:
	rgba(
		255,
		255,
		255,
		.04
	);

	border:
	1px solid
	var(--ulg-border);
}

.ulg-author-avatar img{
	border-radius:50%;
}

.ulg-author-content h3{
	margin-bottom:10px;
}

/* ===================================================
   SIDEBAR
=================================================== */

.ulg-widget{
	padding:30px;
	border-radius:30px;
	margin-bottom:28px;

	background:
	rgba(
		255,
		255,
		255,
		.04
	);

	border:
	1px solid
	var(--ulg-border);
}

.ulg-widget-title{
	font-size:24px;
	margin-bottom:18px;
}

/* ===================================================
   PAGE TEMPLATE
=================================================== */

.ulg-page-wrapper{
	position:relative;
}

.ulg-page-article,
.ulg-page-content{
	max-width:1000px;
	margin:0 auto;
}

.ulg-page-thumbnail img,
.ulg-featured-image{
	width:100%;
	border-radius:30px;
	margin:35px 0;
	object-fit:cover;
}

.ulg-page-body{
	font-size:18px;
	line-height:1.9;
	word-break:break-word;
}

.ulg-page-body p{
	margin-bottom:24px;
}

.ulg-page-body img{
	border-radius:24px;
	margin:28px 0;
}

.ulg-page-body ul,
.ulg-page-body ol{
	margin:
	0 0 28px 24px;
}

.ulg-page-body li{
	margin-bottom:10px;
}

/* ===================================================
   PAGINATION
=================================================== */

.ulg-pagination{
	margin-top:60px;
}

.nav-links{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:12px;
}

.page-numbers{
	display:flex;
	align-items:center;
	justify-content:center;

	min-width:52px;
	height:52px;
	padding:0 18px;

	border-radius:999px;

	background:
	rgba(
		255,
		255,
		255,
		.05
	);

	border:
	1px solid
	var(--ulg-border);

	color:#fff;

	font-weight:600;

	transition:
	var(--ulg-transition);
}

.page-numbers:hover{
	transform:
	translateY(-2px);

	background:
	rgba(
		255,
		255,
		255,
		.1
	);
}

.page-numbers.current{
	background:
	var(--ulg-primary);

	color:#000;
}

/* ===================================================
   WORDPRESS CORE
=================================================== */

.alignleft{
	float:left;
	margin:
	10px 24px 20px 0;
}

.alignright{
	float:right;
	margin:
	10px 0 20px 24px;
}

.aligncenter{
	display:block;
	margin:
	0 auto 20px;
}

.wp-caption{
	max-width:100%;
}

.wp-caption-text{
	font-size:14px;
	opacity:.75;
	margin-top:10px;
}

.screen-reader-text{
	position:absolute;
	left:-9999px;
}

/* ===================================================
   ELEMENTOR FIXES
=================================================== */

.elementor-page
.site-main{
	padding:0;
}

.elementor-section{
	max-width:100%;
}

.elementor-widget-image img{
	height:auto;
}

.elementor-widget-container{
	max-width:100%;
}

.elementor img{
	max-width:100%;
	height:auto;
}

/* ===================================================
   UTILITIES
=================================================== */

.text-center{
	text-align:center;
}

.mx-auto{
	margin-left:auto;
	margin-right:auto;
}

.mb-0{
	margin-bottom:0;
}

.mb-20{
	margin-bottom:20px;
}

.mb-40{
	margin-bottom:40px;
}

.mb-60{
	margin-bottom:60px;
}

.mt-20{
	margin-top:20px;
}

.mt-40{
	margin-top:40px;
}

.mt-60{
	margin-top:60px;
}

.max-600{
	max-width:600px;
}

.max-700{
	max-width:700px;
}

.max-800{
	max-width:800px;
}

/* ===================================================
   RESPONSIVE
=================================================== */

@media (max-width:1024px){

	.ulg-blog-layout{
		grid-template-columns:
		1fr;
	}

	.ulg-single-content{
		padding:40px;
	}
}

@media (max-width:767px){

	.container{
		padding:0 18px;
	}

	.section-padding{
		padding:70px 0;
	}

	.ulg-blog-grid,
	.ulg-post-grid{
		grid-template-columns:
		1fr;
	}

	.ulg-single-content{
		padding:28px;
		border-radius:28px;
	}

	.ulg-author-box{
		flex-direction:column;
		text-align:center;
	}

	.ulg-blog-title,
	.ulg-post-title{
		font-size:24px;
	}

	.ulg-page-body,
	.ulg-single-body{
		font-size:16px;
		line-height:1.8;
	}

	.page-numbers{
		min-width:46px;
		height:46px;
	}
}

/* ===== MENU FIX ===== */

#menu-primary-menu{
    display:flex !important;
    align-items:center !important;
    gap:36px !important;

    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
}

#menu-primary-menu li{
    display:inline-flex !important;
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
}

#menu-primary-menu li::marker{
    display:none !important;
    content:"";
}

#menu-primary-menu a{
    display:inline-flex !important;
    align-items:center !important;
    text-decoration:none !important;
    color:#ffffff !important;
}

/* Nav wrapper */

.ulg-navbar{
    display:flex !important;
    align-items:center !important;
}

/* Mobile */

@media(max-width:1100px){

    #menu-primary-menu{
        flex-direction:column;
        align-items:flex-start;
        gap:20px;
    }
}