:root {
	--color-red: #FF0000;
	--color-black: #000;
}

:root, .row, .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    --bs-gutter-x: 3rem;
}

html, body {
	font-family: "Poppins", "Arial", Helvetica, sans-serif;
	font-size: 1rem;
	
    text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: antialiased;
	font-smoothing: antialiased;
	color: var(--color-black);
    position: relative;
    z-index: 1;
	width: 100%;
	overflow-x: hidden;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
	font-weight: 600;
}

img, iframe {
	max-width: 100%;
}

h1 {
	font-size: 3rem;
	letter-spacing: -2px;
	line-height: 1.1;
}

h2 {
    font-size: 2.1rem;
	letter-spacing: -1px;
}

h3 {
    font-size: 1.6rem;
}


a {
	color: var(--color-black);
	text-decoration: none;
}

a:hover {
	color: var(--color-red);
}

table{
	border: none;
	border-top: 1px solid black;
	margin: 2rem 0;
}

td, th{
	border-bottom: 1px solid black;
	padding: 1rem 1rem 1rem 0;
}



/**/

.header {
	margin-top: 30px;
	position: relative;
	flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
	align-items: flex-start;
    margin-bottom: 40px;
}

.header-logo {
	
}

.header-logo a {

}
.header-logo a:hover {

}

.header-logo img {
	width: 120px;
}

.header-nav {
	display: none;
	width: 100vw;
	font-size: 1.5rem;
	text-transform: uppercase;
	z-index: 99999;
}

.header-nav.open {
	display: block;
	position: absolute;
    top: 100px;
    background: #FFF;

	left: calc(var(--bs-gutter-x) * -0.5);
    right: calc(var(--bs-gutter-x) * -0.5);
    padding: 40px calc(var(--bs-gutter-x) * 0.5);
}

.header-nav ul {
	margin: 0;
	padding: 15px;
	padding: 0;
	list-style-type: none;
	/*text-align: center;	*/
}

.header-nav > ul > li {
	position: relative;
	border-bottom: 2px solid black;
}

.header-nav a {
	display: block;
	font-weight: 600;
	line-height: 2;
}


.header-nav .sub ul {
	display: none;
	margin-bottom: 10px;
}

.header-nav .sub li a {
	text-transform: initial;
	white-space: nowrap;
	line-height: 1.1;
	font-size: 1.2rem;
	padding-bottom: 10px;
}

.header-nav .sub > a > span {
    display: inline-block;
    position: absolute;
    top: 0px;
    bottom: 0;
    width: 50px;
    right: 1px;
    z-index: 1;
	text-align: center;
}

.header-nav .sub > a > span:after {
	content: ' + ';
}


.header-nav-toggler button {
	background: none;
	border: none;
	font-weight: 600;
	font-size: 2rem;
	line-height: 1;
	transform: scaleX(1.8);
	transform-origin: right;
	padding: 0;
	color: black;
}

.header-nav-toggler button span {

}


ul.descendants {
    position: absolute;
	margin: 0;
	padding: 0;
    margin-top: 50px;
	font-size: 1.2rem;
	display: none;
}
ul.descendants li{
    list-style: none;
	margin: 0;
	padding: 0;
}

ul.descendants a{
    display: block;
	padding: 10px 0;
}
ul.descendants a::before{
	content: '';
    display: inline-block;
	width: 12px;
	height: 12px;
	border: 1px solid red;
	margin-right: 10px;
}

ul.descendants a.active::before{
	background: red;
}



.footer {
	border-top: 5px solid var(--color-black);
	justify-content: space-between;
	align-items: end;
	flex-wrap: wrap;
	text-align: center;
	padding: 30px 0;
	margin-top: 150px;
}

.footer > div {
	width: 100%;
}

.footer-social {
	margin-bottom: 20px;
}

.footer-social a {
	margin: 0 5px;
}

.content-header {
	margin: 40px 0 60px 0;
}

.content-wrapper {
	/* margin: 0px calc(var(--bs-gutter-x) / 2); */
}

.hp-events h1{
	/*margin-top: 30px;*/
	display: none;
}


.hp-event-item a h2, .event-list .event-item h2 {
	text-decoration: underline;
	text-decoration-thickness: 4px;
    text-underline-offset: 8px;
    font-weight: bold;
	line-height: 1.45;
}

.hp-event-item {
	margin-top: 50px;
	font-size: 1.2rem;
}

.hp-event-item.hover, .hp-event-item.hover a, .hp-event-item.active, .hp-event-item.active a {
	color: var(--color-red);
}


.event-list .event-item {
	margin-bottom: 150px;
}

.event-list .event-item:last-of-type {
	margin-bottom: 0;
}

.event-list .event-item img{
	object-fit: cover;
	aspect-ratio: 1 / 1;
	height: auto;
	width: 100%;
}
.event-thumb{
	position: relative;
}

.event-perex {
	font-size: 1.2rem;
	margin: 60px 0;
}

.event-perex p:last-of-type {
	margin-bottom: 0;
}

.event-meta {
	color: var(--color-red);
}

.event-text {
	margin: 60px 0;
}

.event-img{
/*	aspect-ratio: 1 / 1;*/
	object-fit: cover;
	width: 100%;
}



.intro{
	position: relative;
	margin-bottom: 20px;
}

.owl-carousel .owl-stage-outer, .owl-carousel .owl-item img{
	aspect-ratio: 4 / 3;
	object-fit: cover;
	height: auto;
	border-left: 1px solid #FFF;
	border-right: 1px solid #FFF;
}

.owl-dots {
	display: flex;
    justify-content: center;
    margin-top: 10px;
}

.owl-dots .owl-dot {
	width: 22px;
	height: 22px;
	border: 1px solid #707070;
	border-radius: 11px;
	margin: 0 5px;
}

.owl-dots .owl-dot.active {
	background: #707070;
}




#articles{
	background: rgba(34,178,173,0.1);
}

.article-item{
	padding: 1em;
}
.article-list > .row > [class*="col-"]:not(:last-of-type) {
	margin-bottom: 40px;
}

.article-date {
	/* color: #757575; */
}

.article-title {
	margin-top: 14px;
}

.article-title a {
	font-size: 26px;
	line-height: 32px;
	font-weight: 600;
}

.article-img {
	margin-top: 35px;
	margin-bottom: 35px;
	border-radius: 20px;
	background: rgba(var(--main-color-r), var(--main-color-g), var(--main-color-b), 1);
    position: relative;
	overflow: hidden;
}

.article-img a {
	display: block;
	overflow: hidden;
	border-radius: 20px;
	transition: all ease 0.3s;

}

.article-img a img {
	height: 350px;
	width: 100%;
	mix-blend-mode: hard-light;
	object-fit: cover;
	border-radius: 20px;
	transition: all ease 0.3s;

}
.article-img a:hover img {
	opacity: 0.8;
	transform: scale(1.1);
}


.article-text {
	line-height: 26px;
	padding-right: 3em;
}

.article-detail .article-title a {
  font-size: inherit;
}
.article-detail .article-img a img {
  height: auto;
}

.article-perex{
  font-size: 1.3em;
  margin-bottom: 2em;
}



.block-carousel {
	width: 100%;
	height: 600px;
}





.block-image-text > .row {
	align-items: center;
}

.block-image-text h2 {
	color: var(--main-color-hex);
}

.block-image-text .sub-block-image {
	text-align: center;
}

.block-image-text .sub-block-image img {
	max-width: 100%;
}






.gallery .gallery-item {
	margin-bottom: var(--bs-gutter-x);
}

.gallery .gallery-item a {
	aspect-ratio: 3/2;
	display: block;
}

.gallery .gallery-item img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}


.text-hide {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}


	.t, .t-stroke{
		background-image: url(/frontend/img/T.svg);
	    background-repeat: no-repeat;
	    background-position: center;
	    /*background-size: 200px;	*/
		background-size: 100%;	

		width: 150px;
		height: 150px;
		z-index: 999;

		position: absolute;
		top: -60px;
		right: -60px;
	}
	
	.g, .g-stroke{
		background-image: url(/frontend/img/G.svg);
	    background-repeat: no-repeat;
	    background-position: center;
	   /* background-size: 200px;*/	
		background-size: 100%;	
		
		width: 130px;
		height: 320px;
		z-index: 999;

		position: absolute;
		bottom: -140px;
		left: -40px;

	}

	.t-stroke{
		background-image: url(/frontend/img/T-stroke.svg);
		background-size: 150px;	
		width: 150px;
		height: 150px;
		top: -70px;
		right: -70px;


	}	
	.g-stroke{
		background-image: url(/frontend/img/G-stroke.svg);
		background-size: 150px;	
		width: 150px;
		height: 240px;
		bottom: -120px;
		left: -50px;


	}	















/*    ----------------------               RESPONSIVE           -----------------------           */




@media (min-width: 380px) {
}

@media (min-width: 410px) {

	
}

@media (min-width: 576px) {
	:root {
	   --bs-gutter-x: 30px;
    }
	h1 {
		font-size: 4rem;
	}

	.footer {
		flex-wrap: nowrap;
	}
	
	.footer > div {
		width: auto;
	}
	
	.footer-social {
		margin-bottom: unset;
	}
	
    
    

}


@media (min-width: 768px) {


	.header-logo img {
		/*width: 120px;*/
	}
	

	.header-nav {
		display: block;
		margin-top: 40px;
	}
    
    .header-nav > ul {
        display: flex;
        margin: 0;
        padding: 0;
    }
    
    .header-nav a {
		margin: 0 40px 0 0;
    }

	.header-nav > ul > li {
		border-bottom: none;
	}
    
	.header-nav > ul > li > a.active {
		border-bottom: 4px solid #000;
		padding-top: 0;
		margin-top: -4px;
	}
	

    .header-nav > ul > li:first-of-type a {
    	/*margin-left: 0px;*/
   	}
   	
   	.header-nav > ul > li:last-of-type a {
    	margin-right: 0px;
   	}
    
	.header-nav-toggler {
		display: none;
	}
	
	.header-nav .sub ul {
		margin: 0;
		padding: 0;
		position: absolute;
		background: #E9E9E9;
		left: 0px;
		text-align: left;
		padding: 20px 0;
		z-index: 5;
	}	
   	
   	.header-nav .sub:hover ul {
   		display: block;
   	}
   	
   	.header-nav .sub ul a {
   		margin: 0;
   		padding: 7px 80px 7px 30px;
   	}
       
        
	.header-nav .sub > a > span {
		display: none;
	}
	
	
}

@media (min-width: 800px) {
	

	.g, .g-stroke{
		width: 200px;
	}
	.t, .t-stroke{
		width: 200px;
		height: 200px;

		top: -80px;
		right: -80px;
	}


/*
	.t, .t-stroke{
		background-image: url(/frontend/img/T.svg);
	    background-repeat: no-repeat;
	    background-position: center;
	    background-size: 200px;	

		width: 200px;
		height: 200px;
		z-index: 999;

		position: absolute;
		top: -80px;
		right: -80px;
	}
	
	.g, .g-stroke{
		background-image: url(/frontend/img/G.svg);
	    background-repeat: no-repeat;
	    background-position: center;
	    background-size: 200px;	
		
		width: 200px;
		height: 320px;
		z-index: 999;

		position: absolute;
		bottom: -140px;
		left: -40px;

	}

	.t-stroke{
		background-image: url(/frontend/img/T-stroke.svg);
		background-size: 150px;	
		width: 150px;
		height: 150px;
		top: -70px;
		right: -70px;


	}	
	.g-stroke{
		background-image: url(/frontend/img/G-stroke.svg);
		background-size: 150px;	
		width: 150px;
		height: 240px;
		bottom: -120px;
		left: -50px;


	}	
*/

	
}




@media (min-width: 992px) {
	
	ul.descendants{
		display: block;
	}

	
    .article-list > .row > [class*="col-"]:not(:last-of-type) {
        margin: 0;
    }	
    

	.block-carousel {
		margin-top: -110px;
		height: 900px;
	}
	

    .owl-carousel .owl-stage-outer, .owl-carousel .owl-item img {
		/*height: 900px;*/
	}
	.intro{
		margin-bottom: 100px;
	}
	.hp-events h1{		
		display: block;
	}
}

@media (min-width: 1100px) {
  
        

}

@media (min-width: 1200px) {


}

@media (min-width: 1400px) {

	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		max-width: 1600px;
	}        

}
