/*
	PARTS
	- defined by 'ALL CAPS'
	- parts within parts, will cause styles to conflict & cascading issues
	- seperate into different files, eg: parts-main, parts-singles, parts-blog
*/



/* HEADER */

.HEADER {
	height: 100%;
	transition: background 0.25s;
}

.HEADER .b-frame {
	padding-top: 0;
	padding-bottom: 0;
	height: 100%;
}

.HEADER .inset {
	position: relative;
	height: 100%;
}

.HEADER .primary .logo {
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	width: 125px;
	height: 54px;
	background: no-repeat center url(../img/madison-logic.svg);
	transform: translate(0, -50%);
	transform-origin: 0 50%;
}

.HEADER .primary .nav-trigger {
	display: none;
	position: absolute;
	top: 50%;
	right: 0;
	width: 30px;
	height: 30px;
	background: no-repeat center url(../img/ui-nav.svg);
	transform: translate(0, -50%);
	transform-origin: 0 50%;
}

.HEADER .primary {
	height: 110px;
}

.HEADER .primary nav {
	position: absolute;
	top: 50%;
	right: 0;
	height: 48px;
	transform: translate(0, -50%);
}

.HEADER .primary nav a:not(.b-button) {color:#091018;}
.HEADER .primary nav a:not(.b-button):hover {color:#0D50CD;}
.HEADER .primary nav .b-button {height:54px; line-height:54px;}

/* teir 1 */

.HEADER .primary nav > ul > li {
	position: relative;
	float: left;
	margin: 0 0 0 40px;
	font-size: 18px;
	font-weight: 600;
	line-height: 54px;
	height: 54px;
}

.HEADER .primary nav > ul > li .a {cursor:default;}
.HEADER .primary nav > ul > li .a svg {
	display: inline-block;
	width: 10px;
	height: 6px;
	vertical-align: middle;
	margin: 0 0 0 3px;
	fill: currentColor;
}

/* teir 2 */

.HEADER .primary nav ul ul {
	display: block !important;
	position: absolute;
	overflow: hidden;
	top: 54px;
	left: 0px;
	/* width: 240px; */
	min-width: 240px;
	opacity: 0;
	transform: translate(0, 40px);
	pointer-events: none;
	transition: opacity 0.25s, transform 0.25s;
	/* border-radius: 6px; */
	font-size: 14px;
	/* background: #001B47; */
	border-radius: 4.5px;
	background-color: #FFFFFF;
	box-shadow: 0 5px 24px 0 rgba(0,0,0,0.2);
}

.HEADER .primary nav ul ul > li {
	padding: 10px 20px;
	line-height: 20px;
}

.HEADER .primary nav ul ul > li a {color:#091018 !important; font-weight: 600;}
.HEADER .primary nav ul ul > li a:hover,
.HEADER .primary nav ul ul > li a:focus-within {color:#1C6BFF !important;}

.HEADER .primary nav ul ul > li:first-child {padding-top:20px;}
.HEADER .primary nav ul ul > li:last-child {padding-bottom:20px;}

/* teir 2 toggle functionality */

.HEADER .primary nav > ul > li:hover,
.HEADER .primary nav > ul > li:focus-within {color:#0D50CD;}
.HEADER .primary nav > ul > li:hover .a svg, 
.HEADER .primary nav > ul > li:focus-within .a svg {transform:scaleY(-1);}
.HEADER .primary nav > ul > li:hover > ul, 
.HEADER .primary nav > ul > li:focus-within > ul {
	opacity: 1;
	transform: translate(0, 0);
	pointer-events: auto;
}

/* secondary */

.HEADER .secondary {
	height: 50px;
	background: #001B47;
	color: #fff;
	line-height: 50px;
}

.HEADER .secondary nav {
	position: absolute;
	top: 0;
	right: 0;
	height: 50px;
}

.HEADER .secondary nav a:not(.b-button) {color:#fff;}
.HEADER .secondary nav a:not(.b-button):hover {color:#1C6BFF;}

.HEADER .secondary nav > ul > li {
	position: relative;
	float: left;
	margin: 0 0 0 40px;
	font-size: 14px;
	font-weight: 600;
	line-height: 50px;
	height: 50px;
}

.HEADER .secondary nav > ul > li svg {
	display: inline-block;
	width: 20px;
	height: 20px;
	vertical-align: middle;
	margin: -2px 3px 0 0;
	fill: currentColor;
} 

/* solutions-megamenu */

.HEADER .primary nav ul ul.solutions-megamenu {
	width: 820px;
	margin-left:-350px;
	left: 50%;
}

.HEADER .primary nav ul ul.solutions-megamenu li {
	padding: 30px;
}

.HEADER .block h6,
.HEADER .solutions-megamenu h6 {
	font-weight: 600;
	font-size: 16px;
	line-height: 22px;
}

.HEADER .block p,
.HEADER .solutions-megamenu p {
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	/* margin: 10px 0; */
	margin: 5px 0;
	color: #091018;
}

/* .HEADER .solutions-megamenu .b-column:nth-of-type(1) {
	display: flex;
	align-items: center;
}
.HEADER .solutions-megamenu .b-column:nth-of-type(1) .block {
	text-align: center;
} */

/* .HEADER .solutions-megamenu .b-column:nth-of-type(1) p,
.HEADER .solutions-megamenu .b-column:nth-of-type(1) h6 > a { color: #ffffff !important; }
.HEADER .solutions-megamenu .b-column:nth-of-type(1) h6 > a:hover { color: #1C6BFF !important; } */


/* .HEADER .solutions-megamenu a::after { */
.HEADER .block a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.HEADER .solutions-megamenu .b-button {
	background: #fff !important;
	color: #1C6BFF !important;
	height: 48px !important;
	line-height: 48px !important;
	margin-top: 46px;
	position: relative;
}

.HEADER .solutions-megamenu .b-button:hover,
.HEADER .solutions-megamenu .b-button:focus-within {
	background: #1C6BFF !important;
	color: #fff !important;
}

.HEADER .solutions-megamenu .b-button::after {
	display: none;
}

.HEADER .block { position: relative; }
.HEADER :not(.b-column) .block { width: 100%; min-width: 315px; }

.HEADER .solutions-megamenu .block {
	position: relative;
}

.HEADER .solutions-megamenu .block + .block {
	margin-top: 25px;
}

.HEADER .solutions-megamenu .b-columns {
	margin: -30px;
}

.HEADER .solutions-megamenu .b-column {
	padding: 30px;
	background: #fff !important;
	color: #091018 !important;
}

/* .HEADER .solutions-megamenu .b-column:first-child {
	background: #252E80 !important;
	color: #fff !important;
} */

@media screen and (max-width: 1200px) {
	/* .HEADER .primary .solutions-parent {position:static;} */
	.HEADER .primary nav ul ul.solutions-megamenu {left:-130px; right:0;  margin-left:0;}
}

@media screen and (max-width: 1025px) {
	.HEADER .primary nav ul ul.solutions-megamenu {left:-40px;}
}

@media screen and (max-width: 1050px) {
	.HEADER .primary {height:60px;}
	.HEADER .primary .logo {transform:translate(0, -50%) scale(0.8);}
	.HEADER .primary .nav-trigger {display:block;}
	.HEADER .primary nav {display:none;}
	.HEADER .secondary {display:none;}
}





/* NOTICE */

.HEADER .notice {
	display: none;
	height: 50px;
	color: #fff;
}

.b-page.alt-notice .HEADER .notice { display: block; }

.HEADER .notice .b-frame {
	padding-top: 0;
	padding-bottom: 0;
}

.HEADER .notice .container {
	padding: 10px 40px 10px 0;
	position: relative;
}

.HEADER .notice .content {
	text-align: center;
	font-size: 14px;
	line-height: 30px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.HEADER .notice .content a:not(.b-button) {
	color: inherit;
	text-decoration: underline;
}

.HEADER .notice .content :where(.b-button, .be-button) {
	padding: 0 10px;
	line-height: 30px;
	height: 30px;
	font-size: 14px;
	margin: 0 5px;
}

.HEADER .notice .close {
	all: unset;
	position: absolute;
	top: 10px;
	right: 0px;
	width: 30px;
	height: 30px;
	background: url(../img/ui-nav-close.svg) no-repeat center;
	cursor: pointer;
}





/* FOOTER */

.FOOTER {
	color: #fff;
	background: #001B47;
}

.FOOTER .b-frame {
	padding-bottom: 0;
}

.FOOTER .logo {
	display: block;
	width: 125px;
	height: 54px;
	background: url(../img/madison-logic-light.png) no-repeat center;
}

.FOOTER a {color: #fff;}
.FOOTER a:hover {color: #fff !important;}

.FOOTER nav .a {
	font-weight: 800;
	font-size: 18px;
	line-height: 22px;
}

.FOOTER nav li {
	font-size: 15px;
	line-height: 18px;
	margin: 20px 0 0 0 !important;
}

.FOOTER nav li a {
	color: #B3BBC8;
	font-weight: 600;
}

.FOOTER .email {
	background: #142C54;
	padding: 20px;
	font-weight: 600;
	font-size: 15px;
	line-height: 18px;
}

.FOOTER .icon {
	width: 32px;
	height: 24px;
	background: no-repeat center url(../img/ui-mail.svg);
}

.FOOTER .email a {
	display: inline-block;
	margin-top: 20px;
}

.FOOTER .legal {
	color: #B3BBC8;
	border-top: 1px solid #2C4164;
	margin-top: 80px;
	padding: 40px 0;
	font-size: 14px;
	line-height: 20px;
}

.FOOTER .legal a {color:#B3BBC8;}
.FOOTER .legal a:last-child {padding-left:40px;}
.FOOTER .copyright {padding-right:40px;}


.FOOTER .b-column:nth-child(1) {width:125px; box-sizing:content-box;}
.FOOTER .b-column:nth-child(5) {width:275px; box-sizing:content-box;}

.FOOTER .b-column:nth-child(2),
.FOOTER .b-column:nth-child(3),
.FOOTER .b-column:nth-child(4) {flex: 1 1 auto;}

@media screen and (max-width: 1200px) {
	.FOOTER .b-column:nth-child(1) {display:none;}
	.FOOTER .b-columns {flex-wrap:nowrap;}
}

@media screen and (max-width: 900px) {
	.FOOTER .b-columns {flex-wrap:wrap;}
	.FOOTER .b-columns > .b-column {flex:0 0 auto;}
	.FOOTER .b-column:nth-child(2) {width:100%;}
	.FOOTER .b-column:nth-child(3) {width:50%;}
	.FOOTER .b-column:nth-child(4) {width:50%;}
	.FOOTER .b-column:nth-child(5) {width:100%; box-sizing:border-box;}
	.FOOTER nav li {margin:10px 0 0 0 !important;}
	.FOOTER .email a {margin-top:10px;}
	.FOOTER .legal {margin-top:40px; padding:40px 0;}
	.FOOTER .legal a:last-child {padding-left:20px;}
	.FOOTER .copyright {display:block; padding:0 0 10px 0;}
}



/* NAV */

.NAV {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	color: #fff;
	background: #023282;
	transform: translate(0, -80px);
	transition: transform 0.25s;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
}

.NAV::-webkit-scrollbar {
	display: none;
}

.NAV .b-frame {
	padding-top: 20px;
}

.NAV nav {
	overflow: hidden;
}

.NAV nav input {
	display: none;
}

.NAV nav input ~ label {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 60px;
}

.NAV nav a:not(.b-button) {color:#fff;}
.NAV nav a:not(.b-button):hover {color:#fff;}
.NAV nav .b-button {width:100%;}

.NAV .a svg {
	display: block;
	position: absolute;
	top: 28px;
	right: 2px;
	width: 10px;
	height: 6px;
	fill: currentColor;

}

.NAV .button {
	border: none;
	margin: 20px 0;
}

.NAV .secondary {
	line-height: 50px;
	font-size: 16px;
	border: none;
	text-align: center;
}

.NAV .secondary svg {
	display: inline-block;
	width: 20px;
	height: 20px;
	vertical-align: middle;
	margin: -2px 3px 0 0;
	fill: currentColor;
} 


/* teir 1 */

.NAV nav > ul > li {
	position: relative;
	font-size: 16px;
	font-weight: 600;
	line-height: 60px;
	border-top: 1px solid #2F5797;
}

.NAV nav > ul > li > a {
	display: block;
	padding: 0;
}

/* teir 2 */

.NAV nav ul ul {
	background: #19468E;
	border-radius: 6px;
	line-height: 40px;
	overflow: hidden;
	max-height: 0;
	font-size: 14px;
	transition: max-height 0.25s;
}

.NAV nav ul ul li:first-child {margin-top:10px !important;}
.NAV nav ul ul li:last-child {margin-bottom:10px !important;}

.NAV nav ul ul li a {
	display: block;
	padding: 0 0 0 20px;
	color: #BAC7DD !important;
}

.NAV nav > ul > li:nth-of-type(2) ul,
.NAV nav > ul > li:first-of-type ul {
	background: transparent;
	
}

.NAV nav ul > li:nth-of-type(2) input:checked ~ ul,
.NAV nav ul > li:first-of-type input:checked ~ ul {
	max-height: 9999px;
}

.NAV nav > ul > li:nth-of-type(2) ul > li,
.NAV nav > ul > li:first-of-type ul > li {
	background: #19468E;
	border-radius: 6px;
	padding: 20px;
	margin: 0 0 10px;
}

.NAV nav > ul > li:nth-of-type(2) ul > li > a,
.NAV nav > ul > li:first-of-type ul > li > a {
	padding: 0;
}

.NAV nav > ul > li:nth-of-type(2) ul > li > a > span,
.NAV nav > ul > li:first-of-type ul > li > a > span {
	display: block;
	font-size: 14px;
	line-height: 18px;
}

.NAV nav > ul > li:nth-of-type(2) ul > li > a > span:first-child,
.NAV nav > ul > li:first-of-type ul > li > a > span:first-child {
	font-weight: 600;
	margin: 0 0 10px;
}

.NAV nav > ul > li:first-of-type ul > li > a > span:last-child {
	font-weight: 500;
}

/* teir 2 show/hide functionality */

.NAV nav input:checked ~ ul {max-height:360px; margin-bottom:20px !important;}
.NAV nav input:checked ~ .a svg {transform:scaleY(-1);}

#toggle-nav:checked ~ .b-nav .NAV {transform:translate(0, 0);}
#toggle-nav:checked ~ .b-page .HEADER {background:#023282;}
#toggle-nav:checked ~ .b-page .HEADER .logo {background-image:url(../img/madison-logic-light.png);}
#toggle-nav:checked ~ .b-page .HEADER .nav-trigger {background-image:url(../img/ui-nav-close.svg);}

/* fix to make sure the nav can always be closed */

#toggle-nav:checked ~ .b-page .HEADER .nav-trigger {display:block;}
#toggle-nav:checked ~ .b-page[data-scroll] .b-page-head {transform:translate(0, 100%);}
#toggle-nav:checked ~ .b-page .HEADER nav {display:none;}






/** MODAL **/

.MODAL {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: translate(0, 80px);
	transition: transform 0.25s;
}

.MODAL .overlay {
	position: absolute;
	top: -100px;
	bottom: -100px;
	left: -100px;
	right: -100px;
	background: #000;
	opacity: 0.8;
}

.MODAL .frame {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 900px;
	max-width: calc(100% - 80px);
	max-height: calc(100% - 80px);
	transform: translate(-50%, -50%);
	transition: transform 0.25s;
}

.MODAL .close {
	position: absolute;
	top: -40px;
	right: -40px;
	width: 40px;
	height: 40px;
}
.MODAL .close > svg {
	width: inherit;
	height: inherit;
	transition: 0.2s;
}
.MODAL .close:hover > svg { fill: #0D50CD; }

.MODAL .content {
	box-sizing: border-box;
	padding: 40px;
	max-height: 100%;
	height: fit-content;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	/* height: 500px; scrollable content areas need a fixed height */
}

.MODAL.alt-video .content { padding: 0; }
.MODAL.alt-video .content::before {
	content: '';
	display: block;
	padding-bottom: 56.25%;
	background-color: #000000;
	/* height: 500px; scrollable content areas need a fixed height */
 }
.MODAL.alt-video .content video,
.MODAL.alt-video .content iframe {
	width: 100%;
	min-height: 100%;
	position: absolute;
	top: 50%; 
	left: 50%;
	transform: translate(-50%, -50%);
}

.MODAL.alt-video .content video { max-width: 100%; height: auto; }
.MODAL.alt-video .content iframe { max-width: 100%; height: auto; }
.MODAL.alt-video .content .play-button { display: none; }

/* fix for scroll in non-webkit browsers */

.MODAL .content {padding-bottom: 0 !important;}
/* .MODAL .content::after {content:"";	height:40px; display:block;} */

#toggle-modal:checked ~ .b-modal .MODAL {transform:translate(0, 0);}

@media screen and (max-width: 900px) {
	.MODAL .frame {width:400px;}
	.MODAL .close {top:5px; right:5px;}
	.MODAL .content {padding:20px;}
	.MODAL .content::after {height:20px;}
}




/* LEGAL */
.LEGAL .content {
	margin: 0 auto;
	max-width: 800px;
}

.LEGAL .content {
	overflow-wrap: break-word;
}

.LEGAL .content h1 { margin: 0 0 50px 0; display: inline-block; }

.LEGAL .ot-btn-anchor { display: inline-block; float: right; }

.LEGAL .content h1 + p  {
	margin: 0;
	float: right;
	opacity: 0.5;
}

.LEGAL .content h4 { margin: 0 0 12px 0; }

.LEGAL .content h4 + p { margin: 0 0 50px 0; }

@media screen and (min-width: 1201px) {
	.LEGAL .b-frame { padding: 80px 40px; }
}

@media screen and (max-width: 900px) {
	.LEGAL .ot-btn-anchor { float: none; }
}




/* Testimonials */
.testimonial {
	display: flex;
    align-items: center;
    justify-content: center;
	height: fit-content;
	/* position: relative; z-index: 1; */
	/* min-height: 250px; */
}

.testimonial .avatar {
	align-self: flex-start;
	flex: 0 0 230px;
    height: 230px;
    border-radius: 100%;
    overflow: visible;
    margin: 0 125px 0 0;
}

.testimonial .avatar::before {
    content: url('./../img/testimonial-avatar-flourish.svg');
    position: absolute;
    top: 0;
    right: -25px;
}

/* .testimonial .content  { position: relative; z-index: 1;} */
/* .testimonial .content > * { position: relative; z-index: 1;} */
.testimonial .content p:nth-of-type(1) { font-size: 24px; opacity: 0.8; }
.testimonial .content p:nth-of-type(2) { font-size: 20px; font-weight: 700; }

@media screen and (max-width: 900px) {
    .testimonial {
		flex-flow: column;
		/* height: 350px; */
	}

     .testimonial .avatar {
        flex: 0 0 200px;
        max-width: 200px;
        margin: 0 auto 20px auto;
    }

    .testimonial .content,
    .testimonial .content { text-align: center; }

	.testimonial .content p:nth-of-type(1) { font-size: 18px; line-height: 28px; }
}


/* TESTIMONIAL CAROUSEL */
.flickity-viewport { transition: height 0.25s; }

.TESTIMONIAL-CAROUSEL .carousel { height: fit-content; }
.TESTIMONIAL-CAROUSEL .carousel .cell { width: 100%; position: relative; z-index: 1;}

.TESTIMONIAL-CAROUSEL .carousel.is-single > .flickity-page-dots { display: none; }
.TESTIMONIAL-CAROUSEL .carousel > .flickity-page-dots { position: static; margin: -50px 0 0 -70px;  }

.TESTIMONIAL-CAROUSEL .carousel > .flickity-page-dots > .dot { background-color: #1C6BFF; }

.TESTIMONIAL-CAROUSEL .carousel > .flickity-page-dots > .dot {
	height: 8px;
	width: 8px;
	opacity: 0.3;
    background-color: #1C6BFF;
	transition: 0.25s;
}
.TESTIMONIAL-CAROUSEL .carousel > .flickity-page-dots > .dot.is-selected {
	height: 12px;
	width: 12px;
	opacity: 1;
}

@media screen and (max-width: 900px) {
	.TESTIMONIAL-CAROUSEL .carousel > .flickity-page-dots { position: static; margin: 0; }
}


/* Accordion */
/* .accordion { overflow: hidden; }

.accordion > .tab {
	width: 100%;
    overflow: hidden;
    
}

.accordion > .tab > input { display: none; }

.accordion > .tab > label {
	box-sizing: border-box;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    font-weight: 700;
}
.accordion > .tab > input:checked ~ label { padding: 20px 20px 0; }

.accordion > .tab > .tab-content {
	box-sizing: border-box;
	padding: 0 20px;
	height: 0;
	opacity: 0;
	transition: all 0.25s;
}
.accordion > .tab > input:checked ~ .tab-content {
	padding: 20px;
    height: fit-content;
    opacity: 1;
} */


/* PFA */
.PFA {}

.PFA .b-media { background-color: initial; }
@media screen and (min-width: 1501px) {
	.PFA .image { margin: -60px -185px 0 0 ;}
}



/** SOLUTIONS BANNER **/
.SOLUTIONS .banner {
	box-sizing: border-box;
    padding: 60px;
    border-radius: 10px;
    background-color: #252e80;
    box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.1);
    color: #ffffff;
	
    display: flex;
    align-items: center;
    justify-content: center;
	
    position: absolute;
    left: 0;
    right: 0;
}

.SOLUTIONS .banner > .stat {
	padding-right: 60px;
    border-right: 1px solid rgba(255, 255, 255, 0.5);
}

.SOLUTIONS .banner > .stat > P {
    font-size: 100px;
    line-height: 109px;
    font-weight: 800;
}

.SOLUTIONS .banner > .content {
    max-width: 620px;
    padding-left: 60px;
}

.SOLUTIONS .banner > .content > P {
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
	margin: 0;
}

.SOLUTIONS .banner > .content > .b-media {
    width: 120px;
    height: 21px;
	background-color: initial;
	margin-left: -15px;
}

@media screen and (max-width: 900px) {
	.SOLUTIONS  .banner {
	  padding: 30px;
	  flex-flow: column;
	  text-align: center;
	}

	.SOLUTIONS  .banner > .stat {
	  padding-right: 0;
	  padding-bottom: 30px;
	  border-right: none;
	  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	}

	.SOLUTIONS  .banner > .content {
	  max-width: 620px;
	  padding-left: 0;
	  padding-top: 30px;
	}

	.SOLUTIONS  .banner > .content > .b-media { margin: 0 auto; }

}





/** RELEVANT-POST **/
.RELEVANT-POST .b-columns { flex-flow: row-reverse; }

.RELEVANT-POST .b-media {
  max-width: 795px;
  max-height: 530px;
  border-radius: 10px;
  background-color: initial;
}
/* .RELEVANT-POST .b-media::after { padding-bottom: calc(530 / 795 * 100%); } */
.RELEVANT-POST .b-media::after { padding-bottom: 56.25% }

@media screen and (min-width: 1201px) {
	.RELEVANT-POST .content { padding-left: 60px; }
}

@media screen and (max-width: 1625px) {
	.RELEVANT-POST .b-column:nth-of-type(2) { width: 50%; }
}

@media screen and (min-width: 901px) {
	.RELEVANT-POST .b-frame { padding: 120px 40px; }
}

@media screen and (max-width: 900px) {
  .RELEVANT-POST .b-columns { flex-flow: row-reverse wrap; }
  .RELEVANT-POST .b-column:nth-of-type(2) { width: 100%; }
}





/** CLIENTS-CAROUSEL **/
.CLIENTS-CAROUSEL .carousel .cell {
	width: calc(100%/6);
	/* width: 160px; */
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.CLIENTS-CAROUSEL .carousel .cell img {
	box-sizing: border-box;
	padding: 0 10px;
	margin: 0 auto;

	height: 100%;
	width: auto;
	height: auto;
	max-width: 160px;
	max-height: 100%;
}

.CLIENTS-CAROUSEL .carousel > .flickity-page-dots {
	position: static;
	margin: 50px auto 0;
}
.CLIENTS-CAROUSEL .carousel > .flickity-page-dots > .dot {
	height: 8px;
	width: 8px;
	opacity: 0.3;
    background-color: #1C6BFF;
	transition: 0.25s;
}
.CLIENTS-CAROUSEL .carousel > .flickity-page-dots > .dot.is-selected {
	height: 12px;
	width: 12px;
	opacity: 1;
}

.CLIENTS-CAROUSEL .carousel.is-single { margin-bottom: 30px; }
.CLIENTS-CAROUSEL .carousel.is-single > .flickity-page-dots { display: none; }

@media screen and (min-width: 901px) {
	.CLIENTS-CAROUSEL .b-frame { padding: 120px 40px; }
}

@media screen and (max-width: 900px) {
	.CLIENTS-CAROUSEL .carousel > .flickity-page-dots { margin: 30px auto 0; }
	.CLIENTS-CAROUSEL .carousel .cell { width: 33.33%; height: 40px; }
	.CLIENTS-CAROUSEL .carousel .cell img { max-width: 100%; }
	
}



/** OTHER-SOLUTIONS **/
.OTHER-SOLUTIONS { overflow: hidden; }
.OTHER-SOLUTIONS::before { background-color: #252E80; }

.OTHER-SOLUTIONS .b-flourish { bottom: calc(-758px/2); right: calc(-758px * (2/5)); }

.OTHER-SOLUTIONS .b-frame-head {
  position: relative;
  color: #ffffff;
}

.OTHER-SOLUTIONS .b-card {
  padding: 30px;
  background-color: #ffffff;
  box-shadow: 0 17px 33px 0 rgba(0, 0, 0, 0.1);
}
.OTHER-SOLUTIONS .b-card > .content { padding: 0; }
.OTHER-SOLUTIONS .b-card > .content > p:last-of-type { margin: auto 0 0; }

@media screen and (min-width: 901px) {
  .OTHER-SOLUTIONS .b-frame { padding: 120px 40px; }
}





/** SECTION-POSTS **/
.SECTION-POSTS .b-card > .b-media::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	padding-bottom: 100%;
	background-color: #252E80;
	opacity: .1;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.SECTION-POSTS .b-card > .b-media:hover::before { opacity: 0; }


@media screen and (min-width: 901px) {
	.SECTION-POSTS .b-frame { padding: 120px 40px; }	
}





/** CTA **/
.CTA:not(.b-right-offset):not(.b-left-offset) { background-color: #F6F6FB; }
.CTA::before { background-color: #F6F6FB; }

.CTA .b-media {
	/* background-position: center bottom; */
	background: no-repeat center;
	background-size: contain;
	margin-bottom: -100px;
}

.CTA .b-media::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.CTA .b-column:nth-child(2) {align-self:flex-end;}
.CTA .b-media { width: initial; }

@media screen and (min-width: 1501px) {
	.CTA .b-media { margin-right: -120px; margin-top: -50px; }
	.CTA .content { margin-right: -40px; }
}

@media screen and (max-width: 1500px) {
	.CTA .b-columns > .b-column[data-width='2/3'] { width: calc(7/12 * 100%); }
	.CTA .b-columns > .b-column[data-width='1/3'] { width: calc(5/12 * 100%); }
}

@media screen and (min-width: 901px) {
	.CTA .content > h2 { font-size: 50px; line-height: 61px;}
	.CTA h2 + p .b-button { margin-top:10px; }
}

@media screen and (max-width: 900px) {
	.CTA .b-media { margin-bottom:-40px; }
}





/* Testimonial cards */

.b-frame .TESTIMONIAL-CARDS .b-frame  {
	margin: 0 0 100px;
	padding: 0;
}

.TESTIMONIAL-CARDS .card {
	background: #fff;
	box-sizing: border-box;
	overflow: hidden;
	border-radius: 6px;
	height: 100%;
	display: flex;
	flex-direction: column;
	box-shadow: 0 15px 50px 0 rgb(0 0 0 / 10%);
}

.TESTIMONIAL-CARDS .card .video {
	position: relative;
	box-sizing: border-box;
	padding-bottom: 56.25%;
	background-color: #eee;
}

.TESTIMONIAL-CARDS .card .video > iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.TESTIMONIAL-CARDS .card .video > .thumbnail {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	overflow: hidden;
}

.TESTIMONIAL-CARDS .card .video > .thumbnail > img {
	width: 100%;
	height: auto;
}

.TESTIMONIAL-CARDS .card input:checked,
.TESTIMONIAL-CARDS .card input:checked ~ .thumbnail,
.TESTIMONIAL-CARDS .card input:checked ~ .play {
	display: none;
}

.TESTIMONIAL-CARDS .card .video > .thumbnail > .play {
	position: absolute;
	width: 50px;
	height: 50px;
	top: 50%;
	left: 50%;
	padding: 15px;
	transform: translate(-50%, -50%);
	background-color: rgba(255,255,255,1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.TESTIMONIAL-CARDS .card .video > .thumbnail > .play > svg {
	margin-right: -8px;
	transition: 0.2s;
}
.TESTIMONIAL-CARDS .card .video > .thumbnail > .play > svg:hover { fill: #0D50CD; }

.TESTIMONIAL-CARDS .card .content {
	height: 100%;
	display: flex;
	flex-direction: column;
	box-shadow: border-box;
	padding: 20px;
	box-shadow: 0 20px 40px 0 rgba(0,0,0,0.1);
}

.TESTIMONIAL-CARDS .card .content p {
	line-height: 26px;
	font-size: 16px;
}

.TESTIMONIAL-CARDS .card .content .author {
	margin-top: auto;
}

.TESTIMONIAL-CARDS .card .content .author p {
	margin: 0;
	padding: 0;
}

.TESTIMONIAL-CARDS .card .content .author p:first-child { font-weight: 700; }

.TESTIMONIAL-CARDS .card .content .logo {
	margin: 10px 0 0;
	position: relative;
	/* width: auto; */
	height: 80px;
	/* background:#eee; */
}

.TESTIMONIAL-CARDS .card .content .logo > img {
	position: absolute;
	top: 50%;
	height: 100%;
	/* left: 50%; */
	transform: translate(0, -50%);
}

.case-study-mt-60{
  margin-top: 60px
}
