/* Shared v2 shell and compatibility rules for legacy pages. */
/* The supplied document uses normal block flow, unlike the legacy body. */
body.v2-layout {display:block;}
/* Float above v2 hero/banner layers, but below modals, cookies and menus. */
.callback-button {z-index:80;}
.v2-header a:focus-visible,
.v2-footer a:focus-visible,
.v2-layout .v2-button:focus-visible,
.v2-layout .v2-tab:focus-visible {outline:2px solid #1e4ed8;outline-offset:3px;}
@media(max-width:767px) {body.v2-lock {overflow:hidden;}}
.v2-congress-page .v2-banner-subtitle {max-width:650px;}
.v2-congress-page .v2-banner-info-text {overflow-wrap:anywhere;}
.v2-congress-page .v2-congress-item img {height:auto;}
.v2-congress-page .v2-congress-item-lettered .v2-congress-content {background:#071630;}
/* Legacy advertisements contain lettering: show the entire uploaded artwork. */
.v2-calendar-promo {margin-bottom:64px;}
.v2-calendar-banners:not(.slick-initialized) > :not(:first-child) {display:none;}
.v2-calendar-banners .v2-calendar-banner {margin:0;background:#021b4b;}
.v2-calendar-banners .v2-calendar-banner-image {display:flex;align-items:center;justify-content:center;height:300px;}
.v2-calendar-banners .v2-calendar-banner-image img {display:block;width:100%;height:100%;object-fit:contain;}
.v2-calendar-banners .v2-calendar-banner-with-text {display:flex;}
.v2-calendar-banners .v2-calendar-banner-with-text .v2-banner-content {width:55%;padding:40px;align-self:center;}
.v2-calendar-banners .v2-calendar-banner-with-text .v2-calendar-banner-image {width:45%;flex-shrink:0;}
.v2-calendar-promo > .v2-controls {margin-top:16px;}
@media(max-width:767px) {
  .v2-calendar-promo {margin-bottom:32px;}
  .v2-calendar-banners .v2-calendar-banner-image {height:auto;aspect-ratio:1288 / 722;}
  .v2-calendar-banners .v2-calendar-banner-with-text {flex-direction:column;}
  .v2-calendar-banners .v2-calendar-banner-with-text .v2-banner-content {width:100%;padding:24px;}
  .v2-calendar-banners .v2-calendar-banner-with-text .v2-calendar-banner-image {width:100%;}
}
/* Keep a stable status line while calendar filters are loading. */
#v2-calendar-status {min-height:1.5em;margin:16px 0 0;}
#v2-calendar-list[aria-busy="true"] {cursor:progress;}
#v2-calendar-more [data-calendar-more] {position:relative;padding-left:34px;padding-right:34px;}
#v2-calendar-more .is-loading {cursor:wait;}
#v2-calendar-more .is-loading::after {
  content:"";position:absolute;right:12px;top:50%;width:12px;height:12px;
  border:2px solid currentColor;border-right-color:transparent;border-radius:50%;
  animation:calendar-button-spin .7s linear infinite;
}
@keyframes calendar-button-spin {
  from {transform:translateY(-50%) rotate(0deg);}
  to {transform:translateY(-50%) rotate(360deg);}
}
@media(prefers-reduced-motion:reduce) {
  #v2-calendar-more .is-loading::after {animation:none;transform:translateY(-50%);}
}
.v2-header a.v2-header-user {text-decoration:none;color:inherit;}
.v2-header .v2-header-user-ava {overflow:hidden;}
.v2-header .v2-header-user-ava img {object-fit:contain;object-position:center top;}
/* Neutralize the legacy site's fixed header; the supplied header is in flow. */
.v2-header {position:relative;top:auto;left:auto;width:100%;box-shadow:none;z-index:500;}
/* BVI keeps the root at 16px. Preserve the layout's 180rem visual gap
   using its original 0.052vw scale without shrinking the BVI controls. */
@media (min-width:768px) {
  .v2-footer .v2-footer-block {gap:max(80px,calc(180 * 0.052vw));}
}
.v2-header, .v2-footer {
	--blue: #2563EB;
	--blue2: #155DA7;
	--blue3: #1E4ED8;
	--amber: #F59E0B;
	--amber2: #d97706;
	--black: #1E293B;
	--black-600: #475569;
	--black-500: #64748B;
	--black-50: #F8FAFC;
	--white: #FFFFFF;
	--title: #2a4166;
	--line: #7ba5f0;

	--font-family: "Lato", sans-serif;

    --eleos: cubic-bezier(0.625, 0.05, 0, 1);
	--slow: cubic-bezier(0.0, 0.0, 0.58, 1.0);

font-family: "Lato", Arial, Helvetica, sans-serif; font-size:14px; line-height:24px; }
.v2-header *, .v2-footer * {box-sizing:border-box;}
.v2-header ul, .v2-footer ul {margin:0;padding:0;list-style:none;}
.v2-header img, .v2-footer img {vertical-align:bottom;}
.v2-header-logo img, .v2-footer-logo img {max-width:none;}
.v2-header a, .v2-footer a {transition:all .3s linear;}
.v2-header .v2-menu [class*="v2-menu-"] {box-sizing:border-box;}
.v2-header-guest{display:flex;align-items:center;gap:16px;font-size:14px;}
@media(max-width:767px){.v2-header .v2-menu{top:var(--menu-top,108px);}}
.v2-header-guest > a:not(.v2-button){color:var(--blue3);}
@media(max-width:767px){.v2-header-guest{display:none;}}
 .v2-header .holder, .v2-footer .holder{
	padding: 0 15px;
}
@media (min-width: 375px){
 .v2-header .holder, .v2-footer .holder{
		padding: 0 18px;
	}
}
@media (min-width: 768px){
 .v2-header .holder, .v2-footer .holder{
		max-width: 720px;
		margin: auto;
		padding: 0;
	}
}
@media (min-width: 1024px){
 .v2-header .holder, .v2-footer .holder{
		max-width: 960px;
	}
}
@media (min-width: 1300px){
 .v2-header .holder, .v2-footer .holder{
		max-width: 1200px;
	}
}
@media (min-width: 1360px){
 .v2-header .holder, .v2-footer .holder{
		max-width: 1320px;
	}
}
.v2-header-max{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 25px;
	padding: 4px 0;
	font-weight: 700;
	font-size: 20px;
	line-height: 120%;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--white);
	background: linear-gradient(70.52deg, #4cf -6.82%, #53e 72.92%, #93d 113.64%);
}
.v2-header{
	background: #f8fafc;
}
.v2-header-block{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	height: 112px;
}
.v2-header-logo img{
	width: 183px;
}
.v2-header-nav{
	display: flex;
	gap: 32px;
}
.v2-header-nav li{
	font-size: 14px;
	line-height: 120%;
	text-transform: uppercase;
}
.v2-header-nav a{
	color: #023E6F;
	text-decoration: none;
}
.v2-header-nav a:hover{
	color: #cd6c1d;
}
.v2-header-nav .v2-orange{
	color: #cd6c1d;
}
.v2-header-right{
	display: flex;
	align-items: center;
	gap: 24px;
}
.v2-header-accessibility{
	width: 36px;
}
.v2-header-accessibility img{
	width: 100%;
}
.v2-header-user{
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 5px 11px 6px 7px;
	background: var(--white);
	border-radius: 14px;
	border: 1px solid rgba(227, 239, 251, 0.5);
	box-shadow: 1px 1px 7px 0 rgba(15, 23, 42, 0.06);
}
.v2-header-user-ava{
	width: 30px;
	min-width: 30px;
	height: 30px;
	border-radius: 8px;
}
.v2-header-user-ava img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.v2-header-user-name{
	font-weight: 700;
	font-size: 14px;
	line-height: 120%;
	color: var(--black);
}
.v2-header-user-status{
	font-size: 12px;
	line-height: 92%;
	color: var(--blue3);
}
.v2-mob-nav-icon{
	position: relative;
	z-index: 250;
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 10px 0;
	color: var(--blue3);
	text-decoration: none;
}
.v2-mob-nav-text{
	font-weight: 700;
	font-size: 14px;
	line-height: 120%;
}
.v2-mob-nav-block{
    position: relative;
	display: block;
    width: 26px;
    height: 2px;
    margin: 7px 3px;
	background: var(--blue3);
	transition: all .3s linear;
}
.v2-mob-nav-block:after{
    content: "";
    position: absolute;
    top: -7px;
    left: 0;
    width: 26px;
    height: 2px;
   	background: var(--blue3);
	transition: all .3s linear;
}
.v2-mob-nav-block:before{
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
    width: 26px;
    height: 2px;
    background: var(--blue3);
	transition: all .3s linear;
}
.v2-mob-nav-icon.active .v2-mob-nav-block{
    background: none;
}
.v2-mob-nav-icon.active .v2-mob-nav-block:before{
    top: 0;
    transform: rotate(45deg);
}
.v2-mob-nav-icon.active .v2-mob-nav-block:after{
    top: 0;
    transform: rotate(-45deg);
}
.v2-menu{
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 500;
	width: 280px;
	padding: 20px;
	background: var(--white);
	border: 1px solid #DBEAFE;
	border-radius: 16px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-30px);
	transition: all 0.5s ease-in-out;
}
.v2-menu.vis{
	opacity: 1;
	visibility: visible;
	pointer-events: all;
	transform: translateY(0px);
}
.v2-menu-item{
	margin: 0 0 12px;
}
.v2-menu-title{
	margin: 0 0 4px;
	font-weight: 700;
	font-size: 13px;
	line-height: 138%;
}
.v2-menu-title a{
	color: #64748b;
	text-decoration: none;
}
.v2-menu-list li{
	padding: 6px 8px;
	font-size: 14px;
	line-height: 143%;
	text-transform: uppercase;
}
.v2-menu-list a{
	color: #023E6F;
	text-decoration: none;
}
.v2-menu-title a:hover,
.v2-menu-list a:hover{
	color: var(--amber);
}
.v2-menu-title a:active,
.v2-menu-list a:active{
	color: var(--amber2);
}
.v2-menu-webs{
	display: flex;
	gap: 12px;
	padding: 12px 0 0;
	border-top: 1px solid #e2e8f0;
}
.v2-menu-mob{display: none;}
.v2-event-slide .v2-button{
    max-width: 200px;
}
.v2-banner-content .v2-button{
	padding-left: 24px;
	padding-right: 24px;
}
.v2-event-button .v2-button{
	width: 100%;
}
.v2-event-button .v2-button-border{
	display: none;
}
.v2-button{
	position: relative;
	display: inline-block;
	padding: 8px 15px 9px;
	color: var(--white);
	font-size: 14px;
	line-height: 121%;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background: var(--blue);
	border: 1px solid var(--blue);
	border-radius: 4px;
	transition: all .3s linear;
}
.v2-button:hover{
	background: var(--amber);
	border-color: var(--amber);
}
.v2-button:active{
	background: var(--amber2);
	border-color: var(--amber2);
}
.v2-button-border{
	color: var(--blue);
	background: transparent;
}
.v2-button-border:hover{
	color: var(--white);
	background: var(--amber);
	border-color: var(--amber);
}
.v2-button-border:active{
	color: var(--white);
	background: var(--amber2);
	border-color: var(--amber2);
}
.v2-button-mid{
	padding: 11px 23px 12px;
	font-weight: 700;
}
.v2-button-big{
	padding: 13px 23px 14px;
	font-weight: 700;
	font-size: 16px;
	line-height: 119%;
}
.v2-button-holder{
	text-align: center;
}
.v2-footer{
	background: rgba(238, 240, 242, 0.5);
}
.v2-footer-main{
	padding: 60px 0;
}
.v2-footer-block{
	display: flex;
	gap: max(80px, calc(180 * 0.052vw));
}
.v2-footer-logo{
	margin: 0 0 88px;
}
.v2-footer-logo img{
	width: 267px;
}
.v2-footer-webs{
	display: flex;
	gap: 16px;
}
.v2-webs-item{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--blue2);
	border-radius: 50%;
}
.v2-tg{background: #27a6e5;}
.v2-vk{background: #07f;}
.v2-max{background: transparent;}
.v2-webs-item img{
	width: 100%;
	height: 100%;
}
.v2-webs-item .v2-webs-bubble{
	position: absolute;
	top: 0px;
	right: -20px;
	width: 27px;
	height: 24px;
}
.v2-webs-margin{
	margin: 0 16px 0 0;
}
.v2-footer-content{
	display: flex;
	flex-wrap: wrap;
	gap: 54px 0;
}
.v2-footer-col{
	width: 25%;
	padding: 0 20px 0 0;
}
.v2-footer-col:last-child{
	width: 100%;
	padding: 0;
}
.v2-footer-title{
	margin: 0 0 18px;
	font-weight: 700;
	font-size: 16px;
	line-height: 120%;
	color: var(--black-500);
}
.v2-footer-list{
	display: flex;
	flex-direction: column;
	gap: 12px 0;
}
.v2-footer-list li{
	font-size: 14px;
	line-height: 120%;
	text-transform: uppercase;
}
.v2-footer-list a{
	color: var(--black);
	text-decoration: none;
}
.v2-footer-list a:hover{
	color: var(--amber);
}
.v2-footer-list-block{
	display: flex;
	flex-wrap: wrap;
}
.v2-footer-list-block .v2-footer-list{
	width: 50%;
	padding: 0 20px 0 0;
}
.v2-footer-bottom{
	padding: 42px 0 37px;
	border-top: 1px solid rgba(100, 116, 139, 0.1);
}
.v2-footer-bottom-block{
	display: flex;
	justify-content: space-between;
}
.v2-footer-bottom-text{
	font-weight: 400;
	font-size: 14px;
	line-height: 129%;
	color: var(--black-600);
	opacity: 0.6;
}
@media screen and (max-width: 1300px){
.v2-footer-col{
		width: 33.33%;
	}
.v2-footer-col:last-child{
		width: 66.66%;
	}
.v2-footer-list-block{gap: 12px;}
.v2-footer-list-block .v2-footer-list{
		width: 100%;
		padding: 0;
	}
.v2-header-logo img{
		width: 160px;
	}
.v2-header-nav{
		gap: 20px;
	}
.v2-header-right{
		gap: 16px;
	}
}
@media screen and (max-width: 1024px){
.v2-header-max{
		gap: 8px;
		padding: 6px 0;
		font-size: 12px;
		line-height: 133%;
	}
.v2-header-max img{width: 24px;}
.v2-header-block{
		height: 72px;
	}
.v2-header-nav,
	.v2-header-accessibility,
	.v2-header-user,
	.v2-mob-nav-text{display: none;}
.v2-header-logo img{
        width: 144px;
    }
.v2-banner-content .v2-button{
		padding: 12px 24px;
		font-weight: 700;
		font-size: 14px;
		line-height: 121%;
	}
}
@media screen and (max-width: 1023px){
.v2-footer-col{
		width: 50%;
	}
.v2-footer-col:last-child{
		width: 100%;
	}
.v2-event-button .v2-button{
		padding: 10px 15px 11px;
	}
.v2-event-button .v2-button-border{
		display: block;
	}
.v2-event-slide .v2-button{
		max-width: none;
	}
}
@media screen and (max-width: 767px){
.v2-menu{
		position: fixed;
		top: 108px;
		bottom: 0;
		right: -100%;
		z-index: 500;
		width: 100%;
		padding: 16px 18px;
		background: #f8fafc;
		border: 0;
		border-radius: 0;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
		transform: none;
		overflow-y: auto;
	}
.v2-menu.vis{
		transform: none;
		right: 0;
	}
.v2-menu-item{
		margin: 0 0 8px;
	}
.v2-menu-title{
		margin: 0 0 1px;
	}
.v2-menu-title a{
		color: #64748b;
	}
.v2-menu-list li{
		padding: 11px 8px;
		font-size: 16px;
		line-height: 138%;
	}
.v2-menu-webs{
		border-top: 0;
	}
.v2-menu-mob{
		display: block;
		padding: 0 0 24px;
	}
.v2-menu-buttons{
		display: flex;
		gap: 4px;
		padding: 4px;
		margin: 0 0 14px;
	}
.v2-menu-buttons .v2-button{
		flex: 1;
	}
.v2-menu-mob .v2-header-accessibility{
		display: flex;
		align-items: center;
		gap: 8px;
		width: auto;
		font-size: 16px;
		line-height: 138%;
		color: var(--blue3);
		text-decoration: none;
	}
.v2-header-accessibility img{
		width: 36px;
		min-width: 36px;
	}
.v2-footer-main{
		padding: 48px 0 32px;
	}
.v2-footer-block{
		flex-direction: column;
		gap: 32px;
	}
.v2-footer-logo{
		margin: 0 0 32px;
	}
.v2-footer-logo img{
		width: 160px;
	}
.v2-footer-content{
		gap: 32px 0;
	}
.v2-footer-bottom{
		padding: 32px 0;
	}
.v2-cookies-buttons .v2-button{flex: 1;}
}
