/*!
Theme Name: Custom math
Theme URI: /
Author: DEV
Author URI: 
Description: Tema custom pentru departamentul de Matematică al Universității Tehnice din Cluj-Napoca.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: custom-math
Tags: custom-background, custom-logo, custom-menu, featured-images, 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.

Custom math 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/
*/



 body{
	background-color: #F9F9F9;
	padding: 0;
	margin: 0;
	font-family: Montserrat, sans-serif;
 }

/* Box sizing
	 ========================================================================== */
/* Applies box-sizing to all elements, including pseudo-elements */
*,
*::before,
*::after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

.maxW-container {
	width: 1532px;
	padding: 0px 16px;
	margin: 0px auto;	
}

.fullW{
	width: 100%;
}

.fullH .elementor-shortcode{
	height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6{
	font-family: 'Merriweather Sans', sans-serif;
	font-weight: bold;
	line-height: 1.2;
}

h1{
	font-size: 48px;
}

p, span, a, input, textarea, select, button{
	font-family: 'Montserrat', sans-serif;
}


button{
	font-weight: 600;
}

.site-logo-image{
	max-height: 48px;
}

.hidden-link{
	color: #333333;
	text-decoration: none;
}

.menu a{
	font-family: 'Merriweather Sans', sans-serif;
	color: #333333;
}

.top_menu{
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 32px;
	margin-top: 8px;
}

.menu ul, .menu{
	padding: 0px;
	margin: 0px;
	display: flex;
	column-gap: 8px;
	list-style: none;
}

.language_selector--container{
	position: relative;
	user-select: none;
}

.language_selector--dropdown{
	position: absolute;
	left: 0px;
	top: calc(100% + 4px);
	width: 100%;
	background-color: #FFFFFF;
	border: 1px solid #D0D0D0;
	border-radius: 4px;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
	z-index: 1000;
	margin: 0px;
	padding: 8px 0px;
	list-style: none;
	display: none;
}

.language_selector--item{
	display: flex;
	align-items: center;
	padding: 2px 8px;
	gap: 4px;
}

.language_selector--current{
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	column-gap: 4px;
	padding: 4px 8px;
	border-radius: 4px;
	border: 1px solid #D0D0D0;
	background-color: #FFFFFF;
	color: #333333;
}

.language_selector--current .chevron-icon{
	margin-left: 8px
}

.language_selector--current:hover {
	background-color: #F0F0F0;
	cursor: pointer;
}

.language_selector--container.active .language_selector--dropdown{
	display: block;
}

.top_menu--extra{
	display: flex;
	align-items: center;
	gap: 16px;
}

.social_links--container{
	display: flex;
	align-items: center;
	gap: 4px;
}

.primary_menu--container{
	background-color: #FFFFFF;
	border-bottom: 1px solid #D0D0D0;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
	position: absolute;
	min-width: 924px;
	height: 64px;
	top: 64px;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 16px;
	display: flex;
	align-items: center;
	padding: 0px 16px;
	z-index: 999;
}

.primary_menu--container .primary_menu{
	margin-left: 24px;
}

.primary_menu--mobile{
	position: fixed;
	top: 80px;
	left: 16px;
	width: 75%;
	z-index: 9999;
	background-color: #FFFFFF;
	width: calc(100% - 32px);
	border-radius: 16px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 4px;
	display: flex;
	flex-direction: column;
	row-gap: 8px;
	padding: 8px 16px;
	max-width: 300px;
	transform: translateX(-120%);
	height: calc(100dvh - 88px);
	border: 1px solid #D0D0D0;

	transition: transform 0.3s ease-in-out;
}

.primary_menu--mobile .primary_menu{
	flex-direction: column;
	row-gap: 8px;
}

.primary_menu--mobile .primary_menu > li {
	width: 100%;
	height: auto;
}

.mobile_menu--overlay{
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 998;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;

}

.mobile_menu_open{
	overflow: hidden;
}

.mobile_menu_open .mobile_menu--overlay{
	display: block;
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s .1s ease-in-out, visibility 0.3s .1s ease-in-out;

}

.mobile_menu_open .primary_menu--mobile{
	transform: translateX(0%);
}


.menu-icon{
	display: none;
}

.primary_menu {
	list-style: none;
	display: flex;
	flex-direction: row;
	column-gap: 8px;
	margin: 0px;
	padding: 0px;
	height: 100%;
}

.primary_menu > li {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
}

.primary_menu li a{
	font-family: 'Merriweather Sans', sans-serif;
	color: #333333;
	text-decoration: none;
	padding: 8px 16px;
	font-weight: 500;

	display: flex;
	column-gap: 8px;
	width: 100%;
    justify-content: space-between;
}

.primary_menu li a:hover{
	background-color: #F0F0F0;
	border-radius: 8px;	
}

.sub-menu-container{
	position: absolute;
	top: 100%;
	left: 0px;
	display: none;
}

.sub-menu-custom{
	background-color: #FFFFFF;
	border: 1px solid #D0D0D0;
	border-radius: 16px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 4px;
	z-index: 1000;
	margin: 0px;
	padding: 8px;
	list-style: none;
	min-width: 200px;
	margin-top: 4px;
}

.sub-menu-custom li {
	width: 100%;
}

.sub-menu-custom li a{
	padding: 4px 8px;
	width: 100%;
	display: block;
}

.primary_menu li:hover > .sub-menu-container {
	display: block;
	width: 100%	;
}

body.admin-bar .primary_menu--container{
	top: 96px;
}

.header_banner{
	width: calc(100% - 64px);
	margin: 16px 32px;
	border-radius: 16px;	
	overflow: hidden;
	box-shadow: rgba(0, 0, 0, 0.7) 0px 4px 12px;
	border: 1px solid #D0D0D0;
}

.header_image{
	width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	color: #FFFFFF;
}

.header_image:after{
	content: "";
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-color: #00000071;
	z-index: 2;
}

.header_image--content{
	text-align: center;
	z-index: 3;
}

.header_image--content h1{
	margin-top: 8px;
	margin-bottom: 0px;
}

.header_image--content h2 {
	margin-top: 12px;
	font-weight: 400;
	font-size: 24px;
	font-style: italic;
	border: 1px solid #FFFFFF;
	padding: 4px 0px;
	backdrop-filter: blur(5px);
	border-radius: 10px;
}

.header_image--ribbon{
	font-family: Montserrat, sans-serif;
	font-weight: 500;
	background-color: #BC171D;
	color: #FFFFFF;
	padding: 8px 16px;
	border-radius: 16px;
	font-size: 16px;
}

.anunturi-list{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.anunturi-list--items{
	display: flex;
	flex-direction: column;
	row-gap: 8px;
}

.anunturi-item{
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	column-gap: 8px;
	color: #333333;

	background-color: #DAE1EF;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1) !important;
	border-radius: 12px;
	padding: 4px;
	cursor: pointer;
	transition: transform 0.2s ease-in-out;

}

.anunturi-item:hover{
	transform: translateY(-2px);
}

.anunturi-item h2{
	margin: 0px;
	font-size: 16px;
}

.anunturi-date{
	display: flex;
	flex-direction: column;
	row-gap: 2px;
	font-size: 12px;
	align-items: center;
	padding: 4px;
	background-color: #B9C7E5;
	border-radius: 8px;
}

.anunturi-date span:first-child{
	font-weight: bold;
}

.anunturi-date span:last-child{
	color: #666666;
	font-size: 12px;
}

.anunturi-view-all{
	font-family: Montserrat, sans-serif;
	font-weight: 600;
	color: #407EF2;
	display: flex;
	align-items: center;
	font-size: 20px;
	border-bottom: 2px solid #407EF2;
	width: fit-content;
	margin-top: 16px;
	transition: transform 0.2s ease-in-out;
}

.anunturi-view-all:hover{
	transform: translateY(-2px);
}

.anunturi-view-all img{
	height: 28px !important;
}

.has-border-color{
	border-style: solid;
}

.site-footer{
	background-color: #404040;
	border-top: 1px solid #D0D0D0;
	padding: 16px 32px;
	text-align: center;
	color: #333333;
	font-size: 14px;
}

.footer-content{
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0px auto;
}

.footer-menu{
	display: flex;
	justify-content: flex-start;
	gap: 32px;
	list-style: none;
	flex-wrap: wrap;
}

.footer-menu ul{
	list-style: none;
	padding: 0px;
	margin: 0px;
}

.footer-menu li{
	text-align: start;
	margin: 16px 0px;
}

.footer-menu a{
	color: #FFFFFF;
	text-decoration: none;
	font-weight: 500;
	font-family: Montserrat, sans-serif;
}

.footer-menu a:hover{
	text-decoration: underline;
}

.footer-menu a[href="#"]{
	color: #FFFFFF;
	text-decoration: none;
	pointer-events: none;
	font-weight: bold;
	font-size: 18px;
}

.footer-row.dark{
	background-color: #333333;
	color: #FFFFFF;
	padding: 16px 32px;
	border-radius: 8px;
}

.archive_items{
	display: flex;
	flex-direction: column;
	row-gap: 16px;
	max-width: 1200px;
	margin: 0px auto;
	padding-bottom: 24px;
}

.archive_item--link{
	display: grid;
	grid-template-columns: 192px 1fr;
	column-gap: 16px;
	background-color: #FFFFFF;
	padding: 8px;
	border-radius: 16px;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
	border: 1px solid #D0D0D0;
	text-decoration: none;
}

.archive_item--thumbnail{
	background-color: #bc171c8e;
	width: 192px;
	height: 192px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.archive_item--thumbnail img{
	max-width: 180px;
	max-height: 180px;
	border-radius: 8px;	
}

.item--content {
  display: flex;
  flex-direction: column;
}

.item--title {
	margin: 0px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #2a2a2a;
  margin-bottom: 6px;
  line-height: 1.3;
  transition: color 0.3s ease;
}

.archive_item--link:hover .item--title {
  color: #bc171c;
}

.item--date {
  font-size: 0.9rem;
  color: #777;
  padding: 0px;
  margin: 0px;
}

.item--excerpt {
  font-size: 1rem;
  color: #444;
  line-height: 1.6;
  background-color: #fafafa;
  padding: 8px 12px;
  border-radius: 8px;
  border-left: 4px solid #bc171c;
}


@media (max-width: 1600px) {
	.maxW-container {
		width: 100%;
		padding: 0px 16px;
	}
}

@media (max-width: 1280px){
	.home .header_banner{
		height: 450px !important;
	}

	.archive_items{
		margin: 0px 32px;
	}
}

@media (max-width: 1024px) {
	.header_banner{
		margin: 16px;
		width: calc(100% - 32px);
	}

	.archive_items{
		margin: 0px 16px;
	}

	.primary_menu--container{
		width: calc(100% - 32px);
		min-width: auto;
		position: sticky;
		transform: none;
		margin-top: 8px;
		top: 8px;
		left: 16px;
	}

	body.admin-bar .primary_menu--container{
		top: 8px;
	}


	h1{
		font-size: 36px;
	}

	.header_image--ribbon{
		font-size: 14px;
		padding: 4px 8px;
	}
}

@media (max-width: 768px) {
	.primary_menu--container .primary_menu{
		display: none;
	}

	.menu-icon{
		display: block;
		margin-left: auto;
	}

	.archive_item--link{
		grid-template-columns: 1fr;
		justify-items: center;
		row-gap: 16px;
	}

	h1{
		font-size: 32px;
	}

	.header_image--ribbon{
		font-size: 12px;
	}

	.site-footer{
		padding: 16px;
	}
}

@media (max-width: 650px){
	.top_menu{
		flex-direction: column;
		row-gap: 8px;
	}

	.top_menu--extra{
		width: 100%;
		justify-content: space-between;
	}

	.primary_menu--container{
		margin-top: 32px;
	}

	.footer-menu{
		margin: 0px;
		gap: 16px;
	}
}