
.accordionplus * {box-sizing: border-box}

.accordionplus { 	
	margin: 0 auto;
    display: flex; 
    width: -webkit-fill-available;
    flex-direction: row;
    flex-wrap: wrap;
	justify-content: center !important;
}

.accordionplus:before {
	position: fixed; top: 0; left: 0;
	width: 100%; height: 100%; content: '';
	background: #011a2d; z-index: -5; 
	opacity: 0; visibility: hidden; 
	transition: 0.5s ease all;
}
.accordionplus.initiated:before { 
	opacity: 1; z-index: 5; visibility: visible;
}

.tiptop { z-index: 99999999 !important; }
.pause-scroll { overflow: hidden !important; }

.ap-itemwrap {
	position: relative;
    width: auto;
    height: auto;
    display: inline-flex;
    flex-grow: 1;
    text-align: center;
    background-size: cover !important;
    flex-wrap: wrap;
   /* aspect-ratio: 4 / 3;*/
    flex-direction: row;
	align-items: center;
    justify-content: center;
	padding: 50px;
	min-height: 400px;
	}
	.ap-itemwrap::after {
		position: absolute; top: 0; left: 0;
		width: 100%; height: 100%; content: '';
		background: rgba(21,26,45,0.5); z-index: 0;
		transition: 0.25s ease background;
	}
	.ap-itemwrap:hover::after {
		background: rgba(21,26,45,0.2);
	}
	/*.ap-itemwrap.active:after { 
		background: rgba(0,0,0,0.75);
		transition: 0.75s ease all;
	}*/
	.ap-itemwrap.hide {  
		overflow: hidden;
		/*transition: 0.5s ease all;*/
	}
.ap-item { 
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-grow: 1;
	transition: 0.25s ease background;
	flex-basis: 100%;
	z-index: 1;
	width: -webkit-fill-available;
	flex-direction: column;
	}
	/*.ap-item:hover {
		background: rgba(21,26,45,0);
	}*/
	.ap-itemwrap.active .ap-item {
		background: none;
		color: #333;
	} 
.ap-icon,
.ap-info .ap-icon-close { 
    line-height: 1;
    border-radius: 5px;
	width: 35px;
	height: 35px;
	background: #d01f2e;
	display: flex;
    margin-top: 15px;
	font-size: 1rem;
	min-width: auto !important;
}
.ap-info a.button.ap-icon-close { 
	display: inline-flex; min-width: auto; margin-top: 75px; padding: 14px 20px !important; width: auto; height: auto; }
.ap-icon i { position: relative; margin: auto; transform: rotate(-45deg); }
.ap-icon-close:after { display: none !important; }

.ap-info {
	opacity: 0;
    padding: 0;
    overflow: hidden;
    display: block;
    text-align: left;
    vertical-align: top;
    align-content: space-around;
    position: fixed;
	visibility: hidden;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
	z-index: 0;
	overflow-y: scroll; 
	transition: 0.75s ease-in-out all;
	background-size: cover !important;
    /*background-attachment: fixed !important;*/
	}
	
	.ap-info::after {
	position: fixed; top: 0; left: 0;
	width: 100%; height: 100%; content: '';
	background: rgba(1,26,45,0.5); z-index: 0;
	backdrop-filter: blur(0px);transition: 0.75s ease all;
	transition-delay: 0.125s, 250ms;
	}
	.ap-itemwrap.active .ap-info:after { background: rgba(1,26,45,0.8); backdrop-filter: blur(5px);}
	
	.ap-info .ap-submenu ul,
	.ap-info .ap-submenu ul li { margin: 0; padding: 0; list-style-type: none; text-align: center; transition: 0.25s ease all; }
	.ap-info .ap-submenu ul li { cursor: pointer; padding: 10%; font-weight: 400; border-right: 5px solid rgba(47, 89, 139, 0); }
	.ap-info .ap-submenu ul li.active { font-weight: 900; border-right: 5px solid rgba(208, 31, 46, 1);  }
	.ap-info .ap-submenu ul li:hover { border-right: 5px solid rgba(255, 255, 255, 1);  }	

	.ap-info a.button { min-width: 100px; }
	.ap-info a.close.button {  
		cursor: pointer;
		transition: 0.25s ease background;
	} 
	.ap-itemwrap.active .ap-info {
		opacity: 1;
		padding: 0;
		z-index: 99;
		visibility: visible;
	}
	.ap-itemwrap.hide { 
		overflow: hidden;
		transition: 0.5s ease all;
	}
	.ap-info h1, .ap-info h2, .ap-info h3, .ap-info h4, .ap-info h5 { text-transform: none !important; }
	
	.ap-info .tabtitle { 
		position: absolute; top: -45px; width: 100%; text-align: center; left: 0;
		color: #2f598b !important; font-size: 8vw !important; opacity: 0.75; text-wrap: nowrap; 
	}
 
.ap-colwrap {
	display: flex;
    width: -webkit-fill-available;
    clear: both;
    align-items: center;
    padding: 10% 5% 5% 5%;
    max-width: 2400px;
    margin: auto;
	}
	.ap-col {
    display: inline-block;
	z-index: 99999;
	}
	.ap-col1 { }
	.ap-col2 { }
	.ap-itemwrap a.closemobile { display: none; }
		
@media screen and (max-width: 950px)
{
	/* mobile display - vertical/regular accordion layout */
	
	.accordionplus 					{ height: auto; flex-direction: column; flex-wrap: wrap; padding: 5%; }
	
	.ap-itemwrap 					{ flex-wrap: wrap; flex-direction: column; transition: 0.75s ease height;
									  aspect-ratio: 5 / 4; margin: 1% 0; border-radius: 15px; 
									  width: -webkit-fill-available; }
	
	.ap-item 						{ /*width: 100%; height: auto; */}
	.ap-item .tabtitle 				{ padding: 15%; font-size: 1.5rem !important;width: -webkit-fill-available;
									  display: flex;flex-direction: column;align-items: center; }
	.ap-info .tabtitle 				{ transform: rotate(-180deg);font-size: 8vh !important;
									  opacity: 0.5; left: -25px; top: 0vh; 
									  writing-mode: vertical-rl; text-orientation: mixed; height: max-content; }
		
	.ap-info a.button 				{ margin: 8px 0; display: inline-block !important; }
	
	.ap-info .ap-submenu			{ display: none; }
	.ap-info .ap-content			{ font-size: 0.9rem; line-height: 1; }
	
	.ap-itemwrap.active .ap-info 	{ }
	.ap-itemwrap.hide 				{ /*height: auto; opacity: 1;*/ }
	.ap-info a.button.close			{ position: fixed; bottom: 5vw; right: 5vw; } 

	.ap-colwrap 					{ flex-direction: column; }
	.ap-colwrap.ap-colrev			{ flex-direction: column-reverse; }
	.ap-col 						{ flex-basis: 100%; min-width: 100%; }
	.ap-col1 						{ padding: 0; }
	.ap-col2 						{ padding: 0; }
	.ap-col2.ap-image				{ padding: 0 0 15% 0; }
	.ap-col2.ap-stack				{ padding: 5% 0 0 0; }
	
	.nano 							{ height: auto; }
	.nano > .nano-content 			{ max-height: none; }


.accordionplus .swiper-wrapper {
    position: relative;
    width: 325px !important;
    /* height: 100%; */
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box;
    align-content: stretch;
    justify-content: space-evenly;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
}
.accordionplus .swiper-autoheight, 
.accordionplus .swiper-autoheight .swiper-slide {
    height: auto;
    width: auto;
}
.accordionplus .swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block;
}
.accordionplus .swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    /* transition-property: transform,height; */
}
.accordionplus .featureswiper .swiper-wrapper {
    padding: 0 0 30px 0;
}
.accordionplus .swiper-slide {
    flex-shrink: revert;
    width: max-content;
    height: 100%;
    position: relative;
    transition-property: transform;
}

	

}
@media screen and (min-width: 950px) 
{
	/* desktop display - horizontal accordion layout */
	
	.accordionplus 					{ height: auto; min-height: auto; }
	.ap-itemwrap 					{ transition: 0.75s ease width; flex-basis: 33%; max-height: 500px; }
	
	
	.ap-item 						{ width: 100%; height: 100%; }
	.ap-item .tabtitle 				{ display: flex;flex-direction: column;align-items: center; 
									  /*transform: rotate(-180deg); writing-mode: vertical-rl; text-orientation: mixed;*/ }
	
	.ap-info 						{ /*width: 0;*/ }
	.ap-info a.button 				{ margin: 0 10px 0 0; }
	.ap-info a.close.button 		{ margin: 45px 0 0 0 ; }
	
	.ap-itemwrap.active .ap-info 	{ }
	.ap-itemwrap.hide 				{ }
	
	.ap-colwrap 					{ flex-direction: row; }
	.ap-col 						{ flex-grow: 1; display: inline-block; }
	
	.ap-col1 						{ 
		min-width: 30%; flex-basis: 30%; border-right: 1px #d01f2e solid; margin-right: -1px; }
	.ap-col2 						{ 
		min-width: 70%; flex-basis: 70%; padding: 3% 0 3% 5%; border-left: 1px #d01f2e solid; }
	
	/*.nano 							{ height: 100%; margin-bottom: 25px; }
	.nano > .nano-content 			{ max-height: 45vh; }*/
 
}
 