* { box-sizing: border-box; }
body { margin: 0; padding: 0; font-family: 'Work Sans', sans-serif; }
header { position: fixed; top: 0; left: 0; width: 100%; padding: 20px 20px; z-index: 3000; /*pointer-events: none;*/ }
header.small { background: #fff; box-shadow: 0px 15px 10px -15px rgba(0,0,0,0.2); }
header .wrapper { padding: 0 10px; }
main { width: 100%; padding-top: 193px; float: left; padding-bottom: 30px; }
.container { width: 100%; margin: 0; padding: 30px 0; }
.less-padding { padding: 10px 0; }
.container.no-padding { padding: 0; }
.container.t-padding-60 { padding-top: 60px; }
.container.t-padding-50 { padding-top: 50px; }
.container.t-padding-40 { padding-top: 40px; }
.container.t-padding-30 { padding-top: 30px; }
.container.t-padding-20 { padding-top: 20px; }
.container.t-padding-10 { padding-top: 10px; }
.container.no-t-padding { padding-top: 0; }
.container.b-padding-60 { padding-bottom: 60px; }
.container.b-padding-50 { padding-bottom: 50px; }
.container.b-padding-40 { padding-bottom: 40px; }
.container.b-padding-30 { padding-bottom: 30px; }
.container.b-padding-20 { padding-bottom: 20px; }
.container.b-padding-10 { padding-bottom: 10px; }
.container.no-b-padding { padding-bottom: 0; }
.wrapper { max-width: 1280px; width: 100%; margin: 0 auto; position: relative; }
#logo { width: 400px; height: 153px; position: relative; z-index: 2000; background-image: url(../images/logo-double.png); background-repeat: no-repeat; background-size: auto 100%; display: block; }
.blue #logo { background-position: top right; }
.flex { display: flex; flex-wrap: wrap; flex-direction: row; width: 100%; }
.masonry { padding: 10px; -moz-column-gap: 20px; -webkit-column-gap: 20px; column-gap: 20px; font-size: .85em; -moz-column-count: 3; -webkit-column-count: 3; column-count: 3; }
.break { flex-basis: 100%; height: 0; }
.block { padding: 40px 40px 20px 40px; display: flex; flex: 0 1 100%; flex-direction: column; align-items: flex-start; position: relative; overflow: hidden; }
.home-intro .block, .page-intro .block { overflow: inherit !important; }
.size4 { max-width: calc(25% - 20px); }
.size5 { max-width: calc(20% - 20px); }
.size6 { max-width: calc(17% - 20px); }
.flex .block { margin: 10px; flex: 1; }
.connected { padding: 10px; }
.connected .block { margin: 0; }
.seamless { padding: 0; }
.masonry .block { display: inline-block; margin: 0 0 30px; width: 100%; }
.shortcut { padding: 0; }
.shortcut img { max-width: 70%; padding: 0; border-radius: 50%; margin-bottom: 10px; }
.shortcut span { width: 100%; border-top: 1px solid #000; padding: 10px 0 0 0; margin-top: 10px; font-size: 24px; line-height: 38px; }
.shortcut:link, .shortcut:visited { text-decoration: none; color: #000; }
a.shortcut:hover, a.shortcut:active { text-decoration: underline; }
div.blue, header.blue { background: #1109b6 !important; }
div.l-blue, div.lblue { background: #50aff7; }
div.baby { background: #c7edfe; }
div.green { background: #60d0a1; }
div.red { background: #f0989a; }
div.yellow { background: #f6c96f; }
div.purple { background: #e8e8f8; }
div.white { background: #fff; }
b, strong { font-weight: 600; }
div.border, a.border { border: 1px solid #1109b6; }
div.border-l::after { content: ''; width: 1px; height: 100%; background:#000; position: absolute; top: 0; left: -10px; }
a.border img { align-self: center; width: 70%; margin: auto; }
div.no-tb-text-padding { padding-top: 0 !important; padding-bottom: 0 !important; }
div.no-text-padding { padding: 0 !important; }
a.border { padding: 10px; }
h2.blue { color: #1109b6; }
h2.white { color: #fff; }
.blue .border { border: none; }
.img { padding-bottom: 20px; }
.block img { width: 100%; min-width: 1px; }
.block.no-padding img, .block.no-padding iframe { width: calc(100% + 80px) !important; max-width: 200%; margin: -40px 0 -25px -40px; }
.no-margin { margin: 0 !important; }
.no-tb-margin { margin-top: 0 !important; margin-bottom: 0 !important; }
.center { text-align: center; align-items: center; }
.right { text-align: right; align-items: flex-end; }
.inner { max-width: 100%; }
.one-two { width: 50%; }
.inline-media { position: relative; padding-bottom: 56.25%; width: 100%; padding-top: 0; height: 0; overflow: hidden; margin: -20px 0 20px 0; float: left; clear: both; }
.inline-media iframe { position: absolute; top:0; left: 0; width: 100%; height: 100%; }
.block > div.inline-media:last-child { margin-bottom: -20px; }
h1 { font-size: 60px; font-weight: 400; line-height: 70px; margin: 0 0 30px 0; width: 100%; }
h2 { font-size: 40px; font-weight: 600; line-height: 48px; margin: 0 0 30px 0; width: 100% }
h3 { font-size: 28px; font-weight: 600; line-height: 42px; margin: 0 0 15px 0; width: 100% }
h4 { font-size: 24px; font-weight: 600; line-height: 38px; margin: 0 0 15px 0; width: 100% }
h2.thin { font-weight: 400 !important; }
h2 span { font-weight: 400; font-size: 32px; }
h3 span { font-weight: 400; font-size: 22px; }
ul.nav { font-size: 24px; line-height: 38px; font-weight: 600; list-style: none; margin: 0 0 15px 0; padding: 0; }
ul.nav a:link, ul.nav a:visited { text-decoration: none; }
ul.nav a:hover, ul.nav a:active { text-decoration: underline; }

.news:link, .news:visited { flex-direction: row; background: #fff; text-decoration: none; padding: 0; color: #000; margin-bottom: 30px; max-width: calc(50% - 20px); }
.news:hover, .news:active { background: rgba(255,255,255,0.8); }
.news img { width: 20%; }
.news span { padding: 20px; font-size: 18px; line-height: 26px; font-weight: 600; width: 80%; }
.news span small { width: 100%; clear: both; display: block; margin: 0 0 5px 0; font-size: 12px; line-height: 14px; font-weight: 400; }

.pagination { text-align: center; padding: 0 20px; margin: 0; width: 100%; display: block; }
.pagination a:link, .pagination a:visited { background: none; border: 1px solid #1109b6; padding: 5px; color: #1109b6; font-size: 18px; min-width: 34px; height: 34px; border-radius: 8px; display: inline-block; text-align: center; text-decoration: none; margin: 0 5px 0 5px; }
.pagination a:hover, .pagination a:active, .pagination a.current-page { border: 1px solid #1109b6; background: #1109b6; color: #fff; }
.pagination p { width: 100%; margin-top: 20px; font-size: 12px; }

p, ul, ol { margin: 0 0 20px 0; font-size: 16px; line-height: 24px; }
ul, ol { padding-left: 20px; }
p.intro { font-size: 20px; line-height: 28px; }
.intro-text p, .intro-text ul, .intro-text ol { font-size: 20px; line-height: 28px; }
.block p { max-width: 900px; width: 100%; margin-left: auto !important; margin-right: auto !important; }
.block h1, .block h2, .block h3, .block h4, .block h5, .block h6, .block ul, .block ol { max-width: 900px; margin-left: auto !important; margin-right: auto !important; }
.btn, .readmore, a.btn:link, a.btn:visited { line-height: 24px; background: #1109b6; cursor: pointer; color: #fff; text-decoration: none; padding: 8px 18px; border-radius: 40px; transition: all 0.2s ease-in-out; margin: 0; display: inline-block; font-weight: 500; }
.btn:hover, a.btn:hover, a.btn:active, .readmore:hover, .readmore:active, input.btn:hover { background: #fff; color: #000; text-decoration: none; }
.white-btn, a.white-btn:link, a.white-btn:visited { background: #fff; color: #000; }
.white-btn:hover, a.white-btn:hover,a.white-btn:active { background: #000; color: #fff; opacity: 1; }
.white a.btn:hover, .white a.btn:active, .white a.readmore:hover, .white input.btn:hover { background: #eee; }
.block > a.readmore:last-child { margin: auto 0 20px 0; }
.title-block { margin-top: 10px; text-align: center; width: 100%; }
.white-text * { color: #fff !important; }
.large-btn { padding: 16px 32px; font-size: 20px; }
.white-text a.btn:link, .white-text a.btn:visited, .white-text a.readmore:link, .white-text a.readmore:visited { background: #fff; color: #000 !important; }
.white-text a.btn:hover, .white-text a.btn:active, .white-text a.readmore:hover, .white-text a.readmore:active { background: #000; color: #fff !important; }

/* Navigation */
nav { position: absolute; width: calc(100% - 400px); right: 0; top: calc(50% - 16px); text-align: right; font-weight: 500 !important; }
header.small nav { width: calc(100% - 180px); }
nav > ul { margin: 0 auto; padding-left: 20px; max-width: 1132px; width: 100%; }
nav > ul a:link, nav > ul a:visited { font-size: 20px; line-height: 32px; color: #000; text-decoration: none; padding: 0 0 3px 0; border-bottom: 1px solid transparent; }
nav li > a:first-child:hover, nav li > a:first-child:active, nav li.here > a:first-child, nav li.open > a:first-child { text-decoration: none; border-bottom: 1px solid #000; }
.blue nav li a:link, .blue nav li a:visited { color: #fff !important; }
.blue nav li a:hover, .blue nav li a:active, .blue nav li.here > a:first-child, .blue nav li.open > a:first-child { border-color: #fff; }
nav > ul > li { pointer-events: auto; display: inline-block; position: relative; padding: 0; margin: 0 0 10px 30px; z-index: 100; }
nav > ul > li > ul { position: absolute; left: -12px; top: 100%; padding: 0.5em 1000em; padding-bottom: 20px; margin: 0 -1000em; z-index: 2101; visibility: hidden; opacity: 0; background: #1109b6; text-align: left; box-shadow: 0px 15px 10px -15px rgba(0,0,0,0.2);  }
nav > ul > li > ul > li { padding: 5px 0; list-style: none; margin: 0 12px; min-width: 250px; }
nav > ul > li > ul li a:link, nav > ul > li > ul li a:visited { color: #fff; }
nav > ul > li > ul li a:hover, nav > ul > li > ul li a:active, nav > ul > li > ul li a.here { color: #fff; border-color: #fff !important; }
nav > ul > li:hover > ul { visibility: visible; opacity: 1; transition: all .1s ease-in-out; }
nav > ul > li.here > ul > li > a:link, nav > ul > li.here > ul > li > a:visited, nav > ul > li.open > ul > li > a:link, nav > ul > li.open > ul > li > a:visited { border-color: transparent !important; }
nav > ul > li.here > ul > li > a:hover, nav > ul > li.here > ul > li > a:active, nav > ul > li.open > ul > li.here > a, nav > ul > li.open > ul > li > a:hover, nav > ul > li.open > ul > li > a:active, nav > ul > li.open > ul > li.here > a { border-color: #fff !important; }
/*header:hover { background: #1109b6; transition: all 0.1s ease-in-out; }
header:hover #logo { background-position: top right; }
header:hover ul li a { color: #fff !important; }
header:hover ul li a.here, header:hover ul li.here a:first-child:hover, header:hover ul li a:hover, header:hover ul li a:active { border-color: #fff !important; }
header:hover ul li.open li a:hover, header:hover ul li.open li a:active, header:hover ul li.open > a:first-child { border-color: #fff !important; }*/
nav span { display: none; }
.mobile-menu { display: none; pointer-events: auto; }

.carousel, .slider { padding: 10px 0 0 0; }
.carousel div img { width: 100%; }
.slick-dots { text-align: center; list-style: none; padding: 0; margin-top: 20px; }
.slick-dots li { display: inline-block; text-indent: -9999px; width: 10px; height: 10px; border-radius: 5px; background: none; margin: 0 4px; }
.slick-dots li { border: 1px solid #000; cursor: pointer; }
.slick-dots li.slick-active { background: #000; }
.blue .slick-dots li { border: 1px solid #fff; }
.blue .slick-dots li.slick-active { background: #fff; }
.slick-slide { height: auto; padding: 10px; margin: 10px; text-align: center; }
.partners-carousel .slick-track { display: flex !important; }
.partners-carousel .slick-slide { height: inherit !important; display: flex !important; }
.partners-carousel .slick-slide a, .partners-carousel .slick-slide img { align-self: center; width: 90%; margin: 0 auto; }
.slider h2, .slider h3 { max-width: 740px; margin: 0 auto }
.slider img { max-width: 160px; margin: 0 auto 20px auto; }
.home-intro, .page-intro { padding: 0; }
.home-intro .slider { /*max-width:*/ 90%; margin: 20px auto; }
.home-intro .slick-dots { margin-top: 60px; }
.home-intro .intro-pic { border-radius: 50%; max-width: calc(70% - 40px); margin: 20px 20px 25px 20px; }
.home-intro .intro-circles { background-image: url(../images/trans-circles4.png); background-repeat: no-repeat; background-size: contain; background-position: top 0 right -40px; width: 100%; height: 120%; position: absolute; top: -5%; left: 0; }
.home-intro h2 { font-size: 50px; line-height: 60px; }
.page-intro h1, .page-intro h2 { max-width: 900px; }
.with-image h1, .with-image h2 { max-width: 100%; }
.page-intro { overflow: hidden; position: relative; }
.page-intro img.intro-page-pic { margin-bottom: -20px; visibility: hidden; }
.page-intro img.intro-page-pic-overlay { position: absolute; top: 0; left: 50%; height: 105%; z-index: 4; }
.page-intro.with-image h1, .page-intro.with-image h2 { visibility: hidden; }
.page-intro .overlay { position: absolute; z-index: 3; left: 50%; top: 0; transform: translate(-50%,0); padding: 0 0 0 5px; }
.page-intro .overlay .block { padding-left: 0; max-width: calc(50%); }
.page-intro .overlay h1, .page-intro .overlay h2 { visibility: visible; }
.quotes-carousel img { border-radius: 50%; }
.testimonials .block { padding-left: 20px; padding-right: 20px; }
blockquote { font-size: 20px; line-height: 28px; font-weight: 400; }
.testimonials p span { font-weight: 600; }
img.testimonial-pic { border-radius: 50%; max-width: 50%; margin-bottom: 15px; }

table { min-width: 100%; border: none !important; border-collapse: collapse; margin: 0 0 30px 0; }
table th, table td { padding: 8px 10px; font-size: 16px; line-height: 24px; border: none; border-bottom: 1px solid #000; vertical-align: top; }
table th { font-weight: 600; text-align: left; color: #fff; font-size: 20px; line-height: 28px; border: none; }
table.blue th { background: #50aff7; }
table.green th { background: #60d0a1; }
table.red th { background: #f0989a; }
table.yellow th { background: #f6c96f; }
table ul, table ol { margin-bottom: 0; }
.table-wrapper { float: left; width: 100%; overflow-x: scroll; }
td { white-space: normal !important;  word-wrap: break-word; }
table { table-layout: fixed; width: 800px; }

form { margin: 0 auto; max-width: 800px; width: 100%; }
label { font-weight: 600; margin: 0 0 5px 0; width: 100%; display: block; }
input, textarea { font-size: 16px; padding: 12px; border: 1px solid #ccc; border-radius: 8px; width: 100%; font-family: 'Work Sans', sans-serif; }
textarea { min-height: 120px; }
input { width: 70%; }
input.btn { width: auto; font-weight: 600; border: none; }
input.error, textarea.error { border-color: #f0989a; }
label.error { display: none !important; }
.g-recaptcha { margin-bottom: 20px; }

footer { background: #1109b6; float: left; width: 100%; clear: both; }
footer * { color: #fff; }
footer .white * { color: #000; }
footer .white .block { padding-top: 20px; padding-bottom: 0; }
.some-icon:link, .some-icon:visited { width: 30px; height: 30px; float: left; margin: 10px 15px 0 0; text-indent: -9999px; background-size: 30px 30px; background-repeat: no-repeat; }
.li { background-image: url(../images/linkedin-icon.png); }
.fb { background-image: url(../images/facebook-icon.png); }
.ig { background-image: url(../images/instagram-icon.png); }
.some-icon:hover, .some-icon:active { opacity: 0.8; }

@media screen and (max-width: 1280px) {
	.table-wrapper { width: calc(100vw - 100px) !important; }
}
@media screen and (max-width: 1320px) {
	.page-intro .overlay { padding-left: 25px; }
}
@media screen and (max-width: 900px) {
	header { padding: 10px 10px; }
	.mobile-menu { cursor: pointer; display: block; position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; background-image: url(../images/mobile-menu.png); background-color: #f7f7f7; opacity: 1; background-repeat: no-repeat; background-size: 30px 30px; background-position: 5px 5px; border-radius: 4px; color: #222; text-indent: -9999px; }
	.mobile-menu:hover { background-color: #eee; }
	.blue .mobile-menu { opacity: 0.2; }
	#logo { width: 400px; height: 60px; }
	nav { display: none; width: calc(100% + 42px) !important; }
	nav.open-nav { display: block; }
	nav a:link, nav a:visited { color: #fff !important; }
	nav a:hover, nav a:active, nav a.here { border-color: #fff !important; }
	nav { position: relative; width: calc(100% + 40px); top: 10px; left: -20px; text-align: left; background: #1109b6; z-index: 3000; padding: 20px; }
	nav > ul { padding-left: 10px; }
	nav > ul > li  { width: 100%; margin: 0; padding: 0 20px 5px 0; }
	nav > ul > li > ul { background: #2018c1; box-shadow: none; position: relative; display: none; top: 0; margin-top: 5px; width: 100%; visibility: visible !important; opacity: 1 !important; padding-bottom: 0.5em; }
	nav ul li span { display: block; color: #fff; text-decoration: none; position: absolute; right: 10px; height: 24px; width: 24px; border-radius: 4px; top: 2px; background: rgba(255,255,255,0.1); text-align: center; padding: 1px; cursor: pointer; }
	nav ul li span:hover { background: rgba(255,255,255,0.05); }
	.page-intro img.intro-page-pic-overlay { height: 110%; }
	h1 { font-size: 50px; line-height: 60px; }
	h2, .home-intro h2 { font-size: 30px; line-height: 38px; }
	h3 { font-size: 24px; line-height: 30px; }
	h3 span { font-size: 18px; }
}
@media screen and (max-width: 720px) {
	.flex .block { flex-basis: 100%; margin: 10px; padding: 20px 20px 0 20px; }
	.block.no-padding img, .block.no-padding iframe { width: calc(100% + 40px) !important; margin: -20px -20px -5px -20px !important; }
	.block > div.inline-media:last-child { margin-bottom: 0; }
	.seamless .block { margin-left: 0; margin-right: 0; }
	.connected .block { margin-top: 0; margin-bottom: 0; }
	.masonry { -moz-column-count: 1; -webkit-column-count: 1; column-count: 1; }
	.connected { padding: 0; }
	/*.shortcut { max-width: 50% !important; flex-basis: calc(50% - 20px) !important; }*/
	.shortcut img { max-width: 50%; }
	.home-intro .slider { max-width: 90%; margin: 0 auto 30px auto; }
	.home-intro .slick-dots { margin-top: 10px; }
	.news { padding: 0 !important; flex-basis: 100% !important; max-width: 100% !important; }
	.page-intro .no-padding { overflow: hidden; }
	.page-intro .overlay { display: none; }
	.page-intro h1, .page-intro h2 { visibility: visible !important; }
	.page-intro .white-text { padding-top: 40px !important; }
	.page-intro .block { flex-basis: 100% !important; }
	.page-intro .overlay .block { max-width: 100%; }
	.page-intro img.intro-page-pic { visibility: visible; margin-top: -10px !important; }
	.page-intro img.intro-page-pic-overlay { display: none; }
	.partners-carousel { padding-left: 40px; padding-right: 40px; }
	footer .container { margin-top: 30px; }
	footer .block { margin-bottom: -20px !important; }
	footer .container .block { text-align: left !important; padding-left: 30px; }
	footer .container p { font-size: 12px; margin-bottom: 15px; text-align: left !important; }
	.table-wrapper { width: calc(100vw - 60px) !important; }
	.size4 { max-width: calc(50% - 20px); }
	.size5 { max-width: calc(50% - 20px); }
	.size6 { max-width: calc(50% - 20px); }
}