@import url("burger-menu.css");
@import url("buttons.css");
@import url("view-transition.css");
@import url("form-elements.css");
@import url("modal.css");
@import url("subscriber.css");

:root {
	--white-color:#fff;
	--black-color:#000;
	--darker-color:rgba(0, 0, 0, .6);
	--verydark-color:#18110D;
	--gray-color:#686868;
	--graydark-color:#181818;
	--graylight-color:#EEF1F4;
	--grayalt-color:#D9D9D9;
	--blue-color:#0C258E;
	--bluelight-color:#F2F3FA;
	--bluewarm-color:#0C258E66;
	--bluewarm-color2:#0C258E70;
	--red-color:#E3332C;
	--yellow-color:#F9B239;
	--nav-height:110px;
}

::-webkit-scrollbar {
	width: 3px;
	height: 5px;
}

::-webkit-scrollbar-track {
	background-color: var(--white-color);
}

::-webkit-scrollbar-thumb {
	background: var(--blue-color);
}

::-webkit-scrollbar-thumb:hover {
	background: var(--white-color);
}

html {
    scroll-behavior: smooth;
}

body {
	min-height:100dvh;
	font-family: "Josefin Sans", sans-serif;
	font-size:16px;
	font-weight:300;
	color:var(--black-color);
}

.josefin-sans-font {
	font-family: "Josefin Sans", sans-serif;
}

.work-sans-font {
	font-family: "Work Sans", sans-serif;
}

.montserrat-font {
	font-family: "Montserrat", sans-serif;
}

a,
label {
	color:var(--black-color);
    text-decoration:none;
    transition:all .5s;
}

a:not(.default-btn):hover,
label:hover {
    opacity:.75;
}

a[nohref],
label {
	cursor:pointer;
}

.relative {
    position:relative;
}

.absolute {
    position:absolute;
}

.block {
    display:block;
}

.grid {
	display:grid;
	place-items: center;
}

.grid-2-cols {
    grid-template-columns: repeat(2, 1fr);
}

.grid-3-cols {
    grid-template-columns: repeat(3, 1fr);
}

.grid-4-cols {
    grid-template-columns: repeat(4, 1fr);
}

.grid-5-cols {
    grid-template-columns: repeat(5, 1fr);
}

.grid-6-cols {
    grid-template-columns: repeat(6, 1fr);
}

.flex {
    display:flex;
}

.flex-col {
    flex-direction:column;
}

.flex-0-5 {
    flex:.5;
}

.flex-1 {
    flex:1;
}

.flex-1-5 {
    flex:1.5;
}

.flex-2 {
    flex:2;
}

.flex-2-5 {
    flex:2.5;
}

.flex-3 {
    flex:3;
}

.flex-vert-aligned {
    align-items:center;
}

.flex-hor-aligned {
    justify-content:center;
}

.flex-start {
	place-items: flex-start;
}

:is(.full-width, #abs-id) {
	width:100%;
}

:is(.full-height, #abs-id) {
	height:100%;
}

.regular-text {
	font-weight:400;
}

.medium-text {
	font-weight:500; /* not yet used */
}

.semibold-text {
	font-weight:600;
}

.bold-text {
	font-weight:700;
}

.fs-10 {
    font-size:10px;
}

.fs-11 {
    font-size:11px;
}

.fs-14 {
    font-size:14px;
}

.fs-16 {
    font-size:16px;
}

.fs-18 {
    font-size:18px;
}

.fs-19 {
    font-size:19px;
}

.fs-20 {
    font-size:20px;
}

.fs-23 {
    font-size:23px;
}

.fs-24 {
    font-size:24px;
}

.fs-30 {
    font-size:30px;
}

.fs-40 {
    font-size:40px;
}

.fs-56 {
    font-size:56px;
}

.uppercase {
	text-transform: uppercase;
}

.blue-bg {
	background-color:var(--blue-color);
}

.bluelight-bg {
	background-color:var(--bluelight-color);
}

.bluewarm-bg {
	background-color:var(--bluewarm-color);
}

.bluewarm-bg2 {
	background-color:var(--bluewarm-color2);
}

.white-bg {
	background-color:var(--white-color);
}

.red-bg {
	background-color:var(--red-color);
}

.yellow-bg {
	background-color:var(--yellow-color);
}

.gray-bg {
	background-color:var(--gray-color);
}

.graylight-bg {
	background-color:var(--graylight-color);
}

.grayalt-bg {
	background-color:var(--grayalt-color);
}


.blue-text {
	color:var(--blue-color);
}

.white-text {
	color:var(--white-color);
}

.gray-text {
	color:var(--gray-color);
}
.graydark-text-on-hover {
	border-bottom:1px transparent solid;
	&:hover {
		color:var(--graydark-color);
		border-bottom-color:var(--graydark-color);
	}
}

.graydark-text {
	color:var(--graydark-color);
}

.yellow-text,
.yellow-text-on-hover:hover {
	color:var(--yellow-color);
}

.red-text {
	color:var(--red-color);
}

.padding-5 {
    padding:5px;
}

.padding-10 {
    padding:10px;
}

.padding-15 {
    padding:15px;
}

.padding-20 {
    padding:20px;
}

.padding-25 {
    padding:25px;
}

.padding-30 {
    padding:30px;
}

.padding-50 {
    padding:50px;
}

.ml-10 {
    margin-left:10px;
}

.ml-20 {
    margin-left:20px;
}

.ml-30 {
    margin-left:30px;
}

.mr-30 {
    margin-right:30px;
}

.mt-5 {
	margin-top:5px;
}

.mt-10 {
	margin-top:10px;
}

.mt-15 {
	margin-top:15px;
}

.mt-20 {
	margin-top:20px;
}

.mt-40 {
	margin-top:40px;
}

.mb-5 {
	margin-bottom:5px;
}

.mb-10 {
	margin-bottom:10px;
}

.mb-15 {
	margin-bottom:15px;
}

.mb-20 {
	margin-bottom:20px;
}

.mb-40 {
	margin-bottom:40px;
}

.mt-auto {
	margin-top:auto;
}

.mb-auto {
	margin-bottom:auto;
}

.ml-auto {
	margin-left:auto;
}

.mr-auto {
	margin-right:auto;
}

.pb-0 {
	padding-bottom:0;
}

.pt-10 {
	padding-top:10px;
}

.pb-10 {
	padding-bottom:10px;
}

.pl-10 {
	padding-left:10px;
}

.pr-10 {
	padding-right:10px;
}

.pt-15 {
	padding-top:15px;
}

.pb-15 {
	padding-bottom:15px;
}

.pb-20 {
	padding-bottom:20px;
}

.pt-25 {
	padding-top:25px;
}

.pb-25 {
	padding-bottom:25px;
}

.pt-30 {
	padding-top:30px;
}

.pb-30 {
	padding-bottom:30px;
}

:is(.pt-50, #abs-id) {
	padding-top:50px;
}

:is(.pb-50, #abs-id) {
	padding-bottom:50px;
}

.pt-75 {
	padding-top:75px;
}

.pb-75 {
	padding-bottom:75px;
}

.pt-100 {
	padding-top:100px;
}

.pb-100 {
	padding-bottom:100px;
}

.border-rad-8 {
	border-radius:8px;
}

.border-rad-16 {
	border-radius:16px;
}

.brd-top-left-rad-inherit {
	border-top-left-radius:inherit;
}
.brd-btm-left-rad-inherit {
	border-bottom-left-radius:inherit;
}
.brd-top-right-rad-inherit {
	border-top-right-radius:inherit;
}
.brd-btm-right-rad-inherit {
	border-bottom-right-radius:inherit;
}

.brd-top-left-rad-0 {
	border-top-left-radius:0;
}
.brd-btm-left-rad-0 {
	border-bottom-left-radius:0;
}
.brd-top-right-rad-0 {
	border-top-right-radius:0;
}
.brd-btm-right-rad-0 {
	border-bottom-right-radius:0;
}

.border-rad-half {
	border-radius:50%;
}

.border-rad-full {
	border-radius:100%;
}

.border-1-white {
	border:1px var(--white-color) solid;
}

.border-1-gray {
	border:1px var(--gray-color) solid;
}

.border-1-blue {
	border:1px var(--blue-color) solid;
}

.border-1-yellow {
	border:1px var(--yellow-color) solid;
}

.border-1-grayalt {
	border:1px var(--grayalt-color) solid;
}

.border-2-yellow {
	border:2px var(--yellow-color) solid;
}

.border-2-blue {
	border:2px var(--blue-color) solid;
}

.border-2-white {
	border:2px var(--white-color) solid;
}

.border-4-red {
	border:4px var(--red-color) solid;
}

.border-bottom-1-white {
	border-bottom:1px var(--white-color) solid;
}

.border-bottom-1-darkgray {
	border-bottom:1px #092C4C solid;
}

.border-bottom-1-lightgray {
	border-bottom:1px #68686866 solid;
}

.border-bottom-1-white {
	border-bottom:1px var(--white-color) solid;
}

.border-right-1-darkgray {
	border-right:1px var(--gray-color) solid;
}

.border-right-1-grayalt {
	border-right:1px var(--grayalt-color) solid;
}

.center-aligned {
    text-align:center;
}

.right-aligned {
    text-align:right;
}

.underlined-text {
	text-decoration:underline;
}

.object-fit-cover {
    object-fit:cover;
}

.text-shadow {
	text-shadow: 0 4px 4px rgba(0, 0, 0, .25);
}

.box-shadow-gray {
	box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .25);
}

.box-shadow-blue {
	box-shadow: 2px 4px 20px 0 #0C258E33;
}

.box-gradient {
	&:before {
		content:"";
		position:absolute;
		inset:0;
		border-radius:8px;
		background: linear-gradient(180deg, rgba(24, 24, 24, 0) 14.19%, #181818 108.33%);
	}
}

.lh-20 {
    line-height:20px;
}

.lh-22 {
    line-height:22px;
}

.lh-25 {
    line-height:25px;
}

.lh-26 {
    line-height:26px;
}

.lh-28 {
    line-height:28px;
}

.lh-44 {
    line-height:44px;
}

.lh-62 {
    line-height:62px;
}

.ellipsis-multiline {
	&,
	& p {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
	}
}

.ellipsis-multiline.line-2 {
	&,
	& p {
		-webkit-line-clamp: 2;
	}
}

.ellipsis-multiline.line-3 {
	&,
	& p {
		-webkit-line-clamp: 3;
	}
}

.ellipsis-multiline.line-5 {
	&,
	& p {
		-webkit-line-clamp: 5;
	}
}

:is(.remove, #abs-id) {
    display:none;
}

.no-appearance {
	appearance: none;
}

.grid-gap-7 {
	grid-gap: 7px;
}

.grid-gap-5 {
	grid-gap: 5px;
}

.grid-gap-10 {
	grid-gap: 10px;
}

.grid-gap-15 {
	grid-gap: 15px;
}

.grid-gap-20 {
	grid-gap: 20px;
}

.grid-gap-30 {
	grid-gap: 30px;
}

.grid-gap-40 {
	grid-gap: 40px;
}

.grid-gap-50 {
	grid-gap: 50px;
}

.grid-gap-80 {
	grid-gap: 80px;
}

.grid-gap-100 {
	grid-gap: 100px;
}

:is(.translate-y-75 , #abs) {
	transform: translateY(-75%);
	@media screen and (max-width:1024px) {
		transform: translateY(0);
	}
}

.nav {
	height:var(--nav-height);
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:3;
	backdrop-filter: blur(5px);
	background-color: rgba(255, 255, 255, .25);
	box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .25);
	transition:all .5s;
	.nav-inner {
		height: inherit;
	}
	a {
		color:var(--blue-color);
	}
}

.colorful-sep {
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	height:4px;
	.footer & {
		border-top:1px var(--bluelight-color) solid;
		border-bottom:1px var(--bluelight-color) solid;
	}
}
			
	.nav-ul > li {
		display: flex;
		align-items: center;
		position:relative;
		&:hover {
			@media screen and (max-width:1024px) {
				opacity:.85;
			}
		}
		a {
			/*height: 100%;
			display: flex;
			place-items: center;*/
			border-bottom:1px transparent solid;
			&.active,
			&:hover {
				color:var(--graydark-color);
				border-bottom-color:var(--graydark-color);
			}
		}
		&.has-dd-menu {
			@media screen and (max-width:1024px) {
				flex-direction:column;
			}
		}
	}
	
.main {
	@media screen and (min-width:1025px) {
		.h-150-on-desktop {
			height:150px;
		}
	}
	&:not(:has(.header)) {
		padding-top:var(--nav-height);
		@media screen and (max-width:1024px) {
			padding-top:50px;
		}
	}
	ul {
		margin: 20px 0 20px 20px;
		list-style: disc;
        list-style-position: outside;
		&.grid {
			margin: 0;
			place-items: flex-start;
		}
	}
	p, ul {
		&:not(:last-of-type) {
			margin-bottom:20px;
		}
		strong {
			font-weight:bold;
		}
	}
}

.container {
    width:100%;
	max-width:1230px;
	height:inherit;
    margin:auto;
    padding-left: 20px;
    padding-right: 20px;
}

	.header {
		background-size: cover !important;
		background-position: center !important;
		body.landing-page & {
			min-height: 100vh;
		}
		body:not(.landing-page) & {
			min-height: 75vh;
		}
	}
	
	/* dd-menu */
	.has-dd-menu {
		position:relative;
		height: inherit;
		> ul {
			position:absolute;
			top: calc(100% - 4px);
			z-index: 4;
			opacity:0;
			visibility:hidden;
			display:none;
			transition:all .5s ease-out allow-discrete;
			@media screen and (max-width:1024px) {
				position:static;
				display:flex;
				opacity:1;
				visibility:visible;
				font-size: 16px;
				background: transparent;
				line-height: normal;
			}
		}
		
		&:hover > ul {
			opacity:1;
			visibility:visible;
			display:flex !important; /* this is VI */
			place-items: flex-start;
		}
		.nav & > ul {
			margin-left:-20px;
		}
	}
	
		@starting-style {
			.has-dd-menu:hover > ul {
				opacity:0;
				visibility:hidden;
				display:none;
			}
		}
			
			@media screen and (max-width:1024px) {
				.has-dd-menu > ul {
					a {
						display:block;
					}
				}
			}
	/**/
	
	:is(.swiper-button-prev, .swiper-button-next, #abstract-id)	{
		--size:32px;
		width: var(--size);
		height: var(--size);
		transition:background-color .5s;
		&:focus-visible {
			outline:none;
		}
		.swiper-navigation-icon {
			scale: .65;
			path {
				fill:var(--white-color);
			}
		}
		.header-slider & {
			top:auto;
			bottom:20px;
		}
	}
	:is(.swiper-button-prev:hover, .swiper-button-next:hover, #abstract-id) {
		background-color:var(--black-color);
	}
	:is(.swiper-button-prev, #abstract-id) {
		left:10px;
		.header-slider & {
			left:20px;
		}
	}
	:is(.swiper-button-next, #abstract-id) {
		right:10px;
		.header-slider & {
			right:20px;
		}
	}
	
	.location-img-check {
		.location-img-holder {
			--size:55px;
			width:var(--size);
			height:var(--size);
			border-radius:100%;
			& img {
				width:inherit;
				height:inherit;
				transition: all .5s;
			}
		}
		&:hover,
		&:has(input:checked) {
			background-color:var(--graylight-color);
		}
		&:has(input:checked) {
			cursor: not-allowed;
		}
		&:has(input:checked) img {
			width: anchor-size(--location-img-anchored width);
			height: anchor-size(--location-img-anchored height);
			left: anchor(--location-img-anchored left);
			top: anchor(--location-img-anchored top);
			border-radius:8px;
			padding:5px;
			border: 1px var(--gray-color) solid;
			pointer-events: none;
		}
	}
	.location-img-anchored {
		anchor-name: --location-img-anchored;
		min-height:280px;
	}
	
	.post-img-holder {
		--size:120px;
		width:var(--size);
		height:var(--size);
	}
	
	.news-gal-set {
		max-height:672px;
		padding-right:10px;
		overflow-y:auto;
	}
	
	.news-gal-img-holder {
		height:144px;
	}
	
	.post-gal-img-holder {
		height:184px;
	}
	
	.investing-gal-img-holder {
		height:210px;
	}
	
	.news-img-holder {
		height:246px;
	}
	
	.news-item-title {
		min-height:56px;
	}
	
	.article-img-holder {
		height:311px;
	}
	
	.events-type {
		height:420px;
	}
		.events-img-holder {
			padding-top: 0;
			height: 300px;
			transition:all .5s;
			&:hover {
				height: 350px;
			}
			& .events-text-more {
				height:0;
				opacity:0;
				line-height:0;
				visibility:hidden;
				transition:all .5s;
			}
			&:hover .events-text-more {
				height:auto;
				opacity:1;
				line-height:normal;
				visibility:visible;
			}
		}
	
	:is(.news-item, #abs-id) {
		.blue-text,
		.news-img-holder,
		.news-img-holder & {
			transition:all .5s;
		}
		&:hover {
			opacity:1;
			.news-img-holder {
				padding: 0;
				img {
					border-bottom-left-radius:0;
					border-bottom-right-radius:0;
				}
			}
			.blue-text {
				font-weight: 600;
			}
		}
	}
	
	.organizational-img-holder {
		height:397px;
		.content-holder {
			/*background-color:#949494D9;*/
			position:absolute;
			inset:20px;
			top:auto;
			a {
				color:var(--white-text);
			}
		}
	}
	
	.events-text-holder {
		position:absolute;
		bottom:0;
	}
	
	.publications-img-holder {
		&.instagram {
			height:280px;
		}
		&.podcasts-audios {
			height:219px;
		}
	}
	
	.partners-img-holder {
		height:187px;
	}
	
	.swiper.landing-page-slider {
		.swiper-slide {
			transition:all .5s;
			@media screen and (min-width:1025px) {
				&:hover {
					scale:1.25;
				}
			}
		}
	}
	body:not(.landing-page) {
		.swiper {
			.swiper-slide {
				display:flex;
			}
			.swiper-pagination  {
				bottom: 25px;
				.swiper-pagination-bullet {
					--size:12px;
					width:var(--size);
					height:var(--size);
					border-radius: 0;
					background-color: #EEF1F4B2;
					outline:none;
					opacity: 1;
					&.swiper-pagination-bullet-active {
						background-color:var(--yellow-color);
					}
				}
			}
		}
	}
	
	.middle-img-holder {
		height:400px;
	}
	
	.big-img-holder {
		height:500px;
	}
		
	.search-layer {
		position:fixed;
		inset:0;
		top:var(--nav-height);
		z-index:4;
		backdrop-filter: blur(5px);
		background-color:#181818B2;
		opacity:0;
		visibility:hidden;
		transition:all .5s;
		.search-bar {
			button,
			input {
				background-color: transparent;
				&::-webkit-search-cancel-button {
					cursor:pointer;
				}
			}
			button {
				height: auto;
				padding: 0;
			}
			input {
				height: 68px;
				border-radius:70px;
				padding-left:20px;
				padding-right:20px;
				&,
				&::placeholder {
					color:rgba(255, 255, 255, .6);
				}
			}
		}
	}
	
	.search-opener {
		cursor:pointer;
		transition:all .5s;
		&:hover,
		&:focus {
			background-color:transparent;
		}
		body:has(&:checked) {
			overflow-y:hidden;
			& .search-layer {
				opacity:1;
				visibility:visible;
			}
		}
	}
	
	.pagination {
		li {
			list-style:none;
			--size:40px;
			width:var(--size);
			height:var(--size);
			transition:all .5s;
			a, span {
				width: inherit;
				height: inherit;
				display: flex;
				place-items: center;
				place-content: center;
				border-radius:100%;
			}
			&:has(span):hover {
				background-color:transparent;
			}
			a[nohref] {
				color:var(--white-color);
				cursor: default;
			}
			&:hover {
				background-color:var(--blue-color);
				color:var(--white-color);
				a, span {
					color:var(--white-color);
					opacity:1;
				}
				span {
					color:var(--black-color);
				}
				path {
					stroke:var(--white-color);
				}
			}
		}
	}

	.members-slider {
		.swiper-slide {
			height: initial;
			display: flex;
			place-content: center;
			place-items: center;
		}
		&.ltr {
			transform: rotateY(180deg);
			img {
				transform: rotateY(-180deg);
			}
		}
	}
	
	.publications-col {
		@media screen and (min-width:1025px) {
			max-height:500px;
			overflow-y:auto;
		}
	}
	
	.dynamic-content {
		img {
			width:auto;
			max-width:100%;
			display:block;
		}
	}
	
	.logos-grid {
		.swiper-slide {
			margin-right: 0 !important;
			flex: 1;
			transition:all .5s;
			&:not(:last-child) {
				border-right: 1px var(--grayalt-color) solid;
			}
		}
		.sep-between:not(:last-child) {
			border-right: 1px var(--grayalt-color) solid;
		}
	}
	
	
@media screen and (max-width:1024px) {
	.hide-on-mobile {
		display:none;
	}
	
	.static-on-mobile {
		position:static;
	}
	
    :is(.show-on-mobile, #abs-id) {
        display:block;
    }
	
	.grid-1-col-on-mobile {
		grid-template-columns: 1fr;
	}
	
	.flex-col-on-mobile {
		flex-direction: column;
	}
	
	.flex-row-on-mobile {
		flex-direction: row;
	}
	
	.flex-hor-aligned-on-mobile {
		place-items: center;
	}
	
	.grid-gap-5-on-mobile {
		grid-gap: 5px;
	}
	
	.grid-gap-15-on-mobile {
		grid-gap: 15px;
	}
	
	.grid-gap-20-on-mobile {
		grid-gap: 20px;
	}
	
	.grid-gap-30-on-mobile {
		grid-gap: 30px;
	}
	
	.order--1-on-mobile {
		order:-1;
	}
	
	.full-width-on-mobile {
		width:100%;
	}
	
	.fs-24-on-mobile {
		font-size:24px;
	}
	
	.fs-32-on-mobile {
		font-size:32px;
	}
	
	.fs-38-on-mobile {
		font-size:38px;
	}
	
	.lh-35-on-mobile {
		line-height:35px;
	}
	
	.lh-normal-on-mobile {
		line-height:normal;
	}
	
	.center-aligned-on-mobile {
		text-align:center;
	}
	
	.pr-0-on-mobile {
		padding-right:0;
	}
	
	.pt-10-on-mobile {
		padding-top:10px;
	}
	
	.pb-10-on-mobile {
		padding-bottom:10px;
	}
	
	.pt-40-on-mobile {
		padding-top:40px;
	}
	
	.pb-40-on-mobile {
		padding-bottom:40px;
	}
		
	:is(.pt-20-on-mobile, #abs-id) {
		padding-top:20px;
	}
	
	:is(.pb-20-on-mobile, #abs-id) {
		padding-bottom:20px;
	}
	
	:is(.pt-0-on-mobile, #abs-id) {
		padding-top:0;
	}
	
	:is(.pb-0-on-mobile, #abs-id) {
		padding-bottom:0;
	}
	
	.padding-0-on-mobile {
		padding:0;
	}
	
	.padding-15-on-mobile {
		padding:15px;
	}
	
	.padding-20-on-mobile {
		padding:20px;
	}
	
	.mb-20-on-mobile {
		margin-bottom:20px;
	}
	
	.mb-0-on-mobile {
		margin-bottom:0;
	}
	
	.ml-0-on-mobile {
		margin-left:0;
	}
	
	.ml-auto-on-mobile {
		margin-left:auto;
	}
	
	.mr-auto-on-mobile {
		margin-right:auto;
	}
	
	.ml-20-on-mobile {
		margin-left:20px;
	}
	
	.mr-75-on-mobile {
		margin-right:75px;
	}
	
	.mr-auto-on-mobile {
		margin-right:auto;
	}
	
	.header-inner {
		margin-top:calc(var(--nav-height) * 1.5);
	}
}