/*   
Theme Name: FCN IT
Author: Sandlapper Creative
Author URI: http://www.sandlappercreative.com
Version: 1.0
*/

/*Reset*/
a,hr{padding:0}a,input[type=checkbox]{vertical-align:baseline}article,aside,figure,footer,header,hgroup,hr,img.aligncenter,nav,section{display:block}abbr,address,article,aside,audio,b,blockquote,body,caption,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0;margin:0;padding:0}td,td img{vertical-align:top}embed,img,object{max-width:100%;height:auto;}html{overflow-y:scroll}ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}a{font-size:100%;background:0 0;margin:0}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help}.alignleft,img.alignleft{float:left;margin:15px 15px 15px 0}alignright,img.alignright{float:right;margin:15px 0 15px 15px}.aligncenter,img.aligncenter{margin:15px auto}table{border-collapse:collapse;border-spacing:0;font:100%}th{vertical-align:bottom}td{font-weight:400}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}input,select{vertical-align:middle}pre{white-space:pre-line;word-wrap:break-word}input,select,textarea{font:99% sans-serif}a:active,a:hover{outline:0}small{font-size:85%}strong,th{font-weight:700}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}code,kbd,pre,samp{font-family:monospace,sans-serif}.clickable,button,input[type=button],input[type=submit],label{cursor:pointer}button,input,select,textarea{margin:0}button{width:auto;overflow:visible}.ie7 img{-ms-interpolation-mode:bicubic}.ie6 html{filter:expression(document.execCommand("BackgroundImageCache",false,true))}.clearfix:after,.clearfix:before{content:"\0020";display:block;height:0;overflow:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}.ie6 input,input[type=radio]{vertical-align:text-bottom}


/*Styles*/

body{}
body, select, input, textarea{ font-family: "Poppins", Helvetica, Arial, sans-serif;}

a{ color: #1383d5;}
a:hover, a:focus{ color: #182e62;}
.button, button{ -webkit-appearance: none; display: inline-block; font-size: 16px; line-height: 16px; letter-spacing: .075em; text-transform: uppercase; font-weight: 700; padding: 20px 40px; text-decoration: none; color: #1383d5; border: 2px solid #1383d5; border-radius: 100px;}
.button:hover, button:hover, .button:focus, button:focus{ color: #fff; background-color: #1383d5;}
.screen-reader{ position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden;}

h1, h2, h3, h4, h5, h6{ line-height: normal; color: #111;}
h1{ font-size: 36px;}
h2{ font-size: 30px;}
h3{ font-size: 24px;}
h4{ font-size: 21px; text-transform: uppercase;}
h5{ font-size: 21px;}
h6{ font-size: 18px;}
hr{ border: none; width: 150px; background-color: #ef1d25; height: 4px; margin: 15px 0;}

.page-wrap{}

nav ul{ list-style: none; position: relative; float:left; margin:0; padding:0;}
nav ul a{ display: block; line-height: 32px; text-decoration: none;}
nav ul li{ position: relative; float: left; margin: 0; padding: 0;}
nav ul li.current-menu-item a, .nav ul li:hover > a{}
nav ul ul{ display: none; position: absolute; top: 100%; left: 0; padding: 0; text-align: left;}
nav ul ul li{ float: none; width: 200px;}
nav ul ul a{ line-height: 120%;}
nav ul ul ul{ top: 0; left: 100%;}
nav ul li:hover > ul{ display: block;}

.header{ padding: 25px 0;}
.header .wrapper{ width: 90%; max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center;}
.header .logo{ max-width: 180px;}
.header .nav{ font-weight: 600; text-transform: uppercase; position: relative; z-index: 9;}
.header .nav .menu{ display: flex; align-items: center;}
.header .nav li{ margin-left: 25px;}
.header .nav li.menu-item-174{ min-width: 86px;}
.header .nav a{ color: #000; padding: 0 3px 3px; border-bottom: 3px solid #fff; font-size: 16px; line-height: 16px;}
.header .nav li:hover > a, .header .nav li.current-menu-item > a{ border-bottom: 3px solid #ef1d25;}
.header .button{ padding: 0; border: none; margin-top: -5px;}
.header .button a{ border: none; padding: 15px 20px; letter-spacing: .05em; border: none !important; color: #fff; background-color: #1383d5; border-radius: 100px;}
.header .button a:hover{ background-color: #182e62;}
.header .sub-menu{ background-color: #eee; text-transform: capitalize;}
.header .nav .sub-menu li:hover > a{ border: none; background-color: #ef1d25; color: #fff;}
.header .nav .sub-menu li.current-menu-item > a{ border: none;}
.header .sub-menu li{ margin: 0; padding: 0; width: 225px;}
.header .sub-menu a{ padding: 15px 20px; border: none; font-size: 14px; line-height: 14px;}
.header .sub-menu li.menu-item-has-children a:after{ content: "\f054"; font-family: "Font Awesome", FontAwesome, "Font Awesome 5 Free"; float: right;}
.header .sub-menu li.menu-item-has-children li a:after{ content: "";}
.rmp-container .button{ box-sizing: border-box !important; padding: 10px; margin-top: 30px !important;}
.rmp-container .button a{ text-align: center !important;}

.content{ color: #444; font-size:; 16px; line-height: 28px; letter-spacing: .025em;}
.content .wrapper, .footer .wrapper, .sub-footer .wrapper{ width: 95%; max-width: 1400px; margin: 0 auto;}
.content .wrapper:after, .footer .wrapper:after{ content: ""; display: table; clear: both;}
.content p{ margin-top: 15px;}
.content ul{ list-style: disc; margin: 15px 0 0 30px;}
.content ol{ margin: 15px 0 0 30px;}

.navigation{ padding: 0; text-align: center;}
.navigation li a, .navigation li a:hover, .navigation li.active a, .navigation li.disabled{ color: #fff; text-decoration: none;}
.navigation li{ display: inline;}
.navigation li a, .navigation li a:hover, .navigation li.active a, .navigation li.disabled{ background-color: #666; cursor: pointer;}
.navigation li a:hover, .navigation li.active a{ background-color: #333;}

.footer{ font-size: 14px;}
.footer .wrapper, .sub-footer .wrapper{ border-top: 1px solid #eee;}
.footer .wrapper{ padding: 60px 0;}
.footer .columns{ width: 65%; float: left; display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; box-sizing: border-box; padding-right: 10px;}
.footer .columns li{ margin-top: 5px;}
.footer .columns li a{ color: #444; text-decoration: none;}
.footer .columns li a:hover{ color: #1383d5;}
.footer .contact{ width: 35%; float: right;}
.footer .contact .numbers{ display: grid; grid-template-columns: repeat(2, 1fr); margin: 20px 0;} 
.footer .contact .numbers li{ margin-bottom: 10px;}
.footer .social li{ display: inline-block; margin-right: 10px;}
.footer .social li a{ display: flex; justify-content: center; align-items: center; color: #fff; background-color: #1383d5; width: 30px; height: 30px; border-radius: 100px; text-decoration: none;}
.footer .social li a:hover{ background-color: #444;}
.sub-footer{ color: #999; font-size: 12px;}
.sub-footer .wrapper{ padding: 30px 0 100px;}
.sub-footer p{ float: left;}
.sub-footer ul{ float: right;}
.sub-footer ul li{ display: inline-block; margin-left: 10px;}
.sub-footer a{ color: #999; text-decoration: none;}
.sub-footer a:hover{ color: #1383d5;}

.top{ position: fixed; right: 30px; bottom: 30px; margin: 0 auto; font-size: 30px; background-color: #ccc; color: #fff; text-decoration: none; width: 45px; height: 45px; border-radius: 100px; font-family: "Font Awesome", FontAwesome, "Font Awesome 5 Free"; display: flex; justify-content: center; align-items: center; font-weight: 700;}
.top:hover, .top:active, .top:focus{ color: #fff;}
.top i{ font-style: normal;}

.video-wrapper{ position: relative; padding-bottom: 56.25%; height: 0;}
.video-wrapper iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.hero{ background-size: cover; background-position: center center; position: relative; overflow: hidden; max-height: 450px; display: flex; align-items: center;}
.hero:after{ content: ""; padding-bottom: 40%; display: block;}
.hero .wrapper{ width: 90%; position: relative; z-index: 2; margin-top: -60px;}
.hero .hero-overlay{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(24,46,98,.75); display: flex; align-items: center;}
.hero svg{ position: absolute; bottom: 0; width: 100%; height: 70px;}
.hero.hero-red .hero-overlay{ background-color: rgba(186,0,38,.75); mix-blend-mode: darken;}
.hero.hero-blue .hero-overlay{ background-color: rgba(24,46,98,.75);}
.hero h1{ text-transform: uppercase; color: #fff; font-size: 60px; line-height: 60px; letter-spacing: .025em;}
.hero h2{ font-size: 24px; line-height: 36px; font-weight: 400; color: #fff;}


/* Homepage */

.home .hero{ max-height: 500px; position: relative;}
.home .hero video{ height: 100%;}
.home .hero .hero-overlay:after{ content: ""; position: absolute; left: 5%; top: 0; width: 280px; height: 100%; background-color: rgba(159,29,48,.8);}
.home .hero h1{ margin-left: 40px; position: relative; z-index: 1;}
.home .hero h2{ margin-left: 40px; position: relative; z-index: 1; max-width: 900px; border: none; padding: 0; display: block;}
.home .hero .button{ margin-top: 35px; border: 2px solid #fff; color: #fff; margin-left: 40px; position: relative; z-index: 1;}
.home .hero .button:hover{ background-color: #fff; color: rgb(159,29,48);}
.home section{ position: relative;}
.home .services{ text-align: center; margin: 70px 0 120px;}
.home .services hr, .home .partners hr{ margin: 15px auto 0;}
.home .services p{ max-width: 740px; margin: 30px auto 60px;}
.home .services .icon-grid .icon{ -webkit-box-shadow: 0px 0px 20px 0px rgba(226,226,226,1); -moz-box-shadow: 0px 0px 20px 0px rgba(226,226,226,1); box-shadow: 0px 0px 20px 0px rgba(226,226,226,1); padding: 40px 50px 30px; width: calc(22% - 40px); display: inline-block; box-sizing: border-box; vertical-align: top; min-height: 215px; margin: 0 20px 40px;}
.home .services .icon .icon-visual{ width: 80px; height: 80px; margin: 0 auto; display: flex; justify-content: center; align-item: center;}
.home .services .icon h3{ text-transform: uppercase; font-weight: 500; font-size: 16px; line-height: 18px; margin-top: 25px;}
.home .services .button{ margin-top: 15px;}


.home .about, .home .contracts{ position: relative; display: flex; margin-bottom: 90px; align-items: center; justify-content: center; overflow-x: hidden;}
.home .contracts{ flex-direction: row-reverse;}
.home .about .about-visual, .home .contracts .contracts-visual{ background-size: cover; background-position: center center; width: 42.5%; z-index: 1; position: relative; margin: 0 -2.5% 0 0;}
.home .about .about-visual:after, .home .contracts .contracts-visual:after{ content: ""; padding-bottom: 90%; display: block;}
.home .about .about-content{ width: 65%; background-color: #f4f4f4; padding: 75px 10% 75px 15%; box-sizing: border-box; margin: -20px 0 0 -2.5%;}
.home .contracts .contracts-content{ width: 65%; background-color: #f4f4f4; padding: 75px 15% 75px 10%; box-sizing: border-box; margin: -20px -2.5% 0 0;}
.home .about h2, .home .contracts h2{ font-size: 30px;}
.home .about .button, .home .contracts .button{ margin-top: 30px;}
.home .contracts .contracts-content{ background-color: #182e62; color: #fff;}
.home .contracts .contracts-content h2{ color: #fff;}
.home .contracts .button{ color: #fff;}


.home .solutions{ margin: 80px 0;}
.home .solutions:after{ clear: both; display: table; content: "";}
.home .solutions .solutions-intro{ width: 55%; box-sizing: border-box; padding: 45px 5% 0; float: right;}
.home .solutions h2{ font-size: 30px; line-height: 34px;}
.home .solutions h2 span{ display: block; color: #ef1d25;}
.home .solutions .button{ margin-top: 30px;}
.home .solutions .solutions-list{ width: 45%; box-sizing: border-box; background-color: #8e192a; color: #fff; padding: 50px 5% 60px; float: left; line-height: normal;}
.home .solutions .solutions-list ul{ margin: 0;}
.home .solutions .solutions-list li{ margin-bottom: 15px; list-style: none;}
.home .solutions .solutions-list li:before{ content: "\f005"; font-family: "Font Awesome", FontAwesome, "Font Awesome 5 Free"; margin: -0 7px 0 -25px; font-weight: 900;}
.home .testimonial{ display: flex; flex-direction: row-reverse; margin-bottom: 130px;}
.home .testimonial .testimonial-visual{ background-size: cover; background-position: center center; width: 50%;}
.home .testimonial .testimonial-content{ background-color: #182e62; color: #fff; font-size: 18px; line-height: 34px; width: 50%; padding: 100px 5%; box-sizing: border-box; position: relative;}
.home .testimonial .testimonial-content:before{ content: ""; width: 100px; height: 72px; background-size: cover; background-position: center center; background-image: url(images/quote-open.png); position: absolute; left: 2.5%; top: -50px;}
.home .testimonial .testimonial-content:after{ content: ""; width: 100px; height: 72px; background-size: cover; background-position: center center; background-image: url(images/quote-close.png); position: absolute; right: 2.5%; bottom: -50px;}
.home .testimonial p{ text-transform: uppercase; font-weight: 600; font-size: 14px;}
.home .testimonial p:before{ content: "– ";}
.home .testimonial .button{ margin-top: 60px; color: #fff;}
.home .partners{ text-align: center; margin: 60px 0 100px;}
.home .partners h2{ font-size: 30px; margin-bottom: 15px;}
.home .partners p{ max-width: 800px; margin: 0 auto;}
.home .partners .button{ margin-top: 30px;}
.home .partners .logo-carousel{ max-width: 1040px; margin: 30px auto 0;}
.home .partners .partner-logo{ width: 150px; height: 100px; display: flex; justify-content: center; align-items: center; margin: 0 auto;}
.home .partners .partner-logo img{ max-width: 100%; max-height: 100%; width: auto; height: auto;}
.home .partners .slick-prev::before, .home .partners .slick-next::before{ color: #999; font-family: "Font Awesome", FontAwesome, "Font Awesome 5 Free"; font-weight: 900; font-size: 36px;}
.home .partners .slick-prev:before{ content: "\f104";}
.home .partners .slick-next:before{ content: "\f105";}


/* Contracts */


.contracts .intro .wrapper{ max-width: 900px; padding: 70px 0;}
.contracts .contract-list{ max-width: 900px; margin: 0 auto 90px; border-top: 1px solid #eee; padding-top: 80px;}
.contracts .contract-list:after{ clear: both; display: table; content: "";}
.contracts .contract-list aside{ width: 26%; float: left; font-size: 14px; line-height: 21px;}
.contracts .contract-list aside h2{ font-size: 36px; line-height: 38px;}
.contracts .contract-list article{ width: 65%; float: right; position: relative; z-index: 9;}
.contracts .contract-list article h3{ margin-bottom: 5px; font-size: 21px;}
.contracts .contract-list ul{ margin: 0 0 25px;}
.contracts .contract-list li{ list-style: none; margin-bottom: 15px; font-size: 18px; line-height: 22px;}
.contracts .contract-list li a{ font-weight: 600; text-decoration: none;}
.contracts .contract-list li span{ display: block; font-size: 14px; line-height: 18px;}
.contracts .cta{ background-color: #182e62; color: #fff; padding: 80px 0; text-align: center;}
.contracts .cta h2{ font-size: 48px; color: #fff;}
.contracts .cta hr{ margin: 15px auto 30px; background-color: #1383d5;}
.contracts .cta .button{ border: 2px solid #fff; color: #fff; margin-top: 40px;}
.contracts .cta .button:hover{ border: 2px solid #1383d5;}
.contracts .cta a:hover{ color: #fff;}
.contacts-links{ list-style: none; margin: 30px 0 !important; padding: 0 !important;}
.contacts-links li{ list-style: none; margin: 0; padding: 0;}
.contacts-links li:before{ content: "\f0ac"; font-family: "Font Awesome 5 Free", FontAwesome, "Font Awesome"; margin-right: 6px; font-weight: 900;}


/* Single Contract */

p.back{ text-transform: uppercase; font-weight: 600; font-size: 14px; margin: 60px 0 30px;}
p.back a{ text-decoration: none;}
.single-contracts .content{ margin-bottom: 120px;}
.single-contracts .contract-intro .button{ margin-top: 30px; width: auto; display: inline-block;}
.single-contracts h1{ font-size: 48px;}
.single-contracts .contract-intro h2{ font-size: 24px; font-weight: 500; max-width: 550px;}
.single-contracts .contract-intro hr{ margin: 30px 0;}
.single-contracts .contract-intro ul{ font-size: 14px; line-height: normal; margin-top: 30px;}
.single-contracts .contract-intro ul li{ margin-bottom: 5px;}
.single-contracts .contract-details{ margin: 30px 0 60px;}
.single-contracts .contract-details ul{ margin: 0;}
.single-contracts .contract-details li{ list-style: none;}
.single-contracts .contacts{ font-size: 14px; line-height: normal; margin-top: 30px;}
.single-contracts h3{ margin-top: 30px; font-size: 21px;}
.single-contracts .contacts p{ margin: 0;}
.single-contracts .content .columns .column:nth-of-type(1){ width: 65%; float: left;}
.single-contracts .content .columns .column:nth-of-type(2){ width: 25%; float: right; margin-top: 30px;}
.single-contracts .content .contacts .contact{ margin-bottom: 25px;}


/* Partners */

.partners .partner-content p{ max-width: 900px; margin: 70px auto 60px;}
.partners .partner-grid{ max-width: 900px; margin: 0 auto; text-align: center;}
.partners .partner-grid .partner{ -webkit-box-shadow: 0px 0px 20px 0px rgba(226,226,226,1); -moz-box-shadow: 0px 0px 20px 0px rgba(226,226,226,1); box-shadow: 0px 0px 20px 0px rgba(226,226,226,1); display: flex; justify-content: center; align-items: center; position: relative; box-sizing: border-box; width: 22%; margin: 0 3% 35px 0; display: inline-block;}
.partners .partner-grid .partner:nth-of-type(4n+4){ margin-right: 0;}
.partners .partner-grid .partner .partner-overlay{ display: none; opacity: 0; visibility: 0; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #1383d5; color: #fff; text-align: center;}
.partners .partner-grid .partner:hover .partner-overlay{ display: block; opacity: 1; visibility: visible;}
.partners .partner-grid .partner h3{ font-size: 16px; line-height: 18px; font-weight: normal; color: #fff; margin-top: 45px;}
.partners .partner-grid .partner a{ position: absolute; bottom: 0; left: 0; width: 100%; color: #fff; text-decoration: none; padding: 15px 0; color: #fff; font-size: 14px; line-height: 14px; text-transform: uppercase; font-weight: bold; background-color: #182e62; box-sizing: border-box;}
.partners .cta{ margin-top: 120px; text-align: center; color: #fff; padding: 70px 0 80px; background-color: #182e62;}
.partners .cta h2{ font-size: 48px; color: #fff;}
.partners .cta p{ max-width: 740px; margin: 0 auto;}
.partners .cta .button{ border: 2px solid #fff; color: #fff; margin-top: 40px;}
.partners .cta .button:hover{ border: 2px solid #1383d5;}
.partners .cta hr{ margin: 15px auto 30px; background-color: #1383d5;}


/* Single Partner */

.single-partners .content .wrapper{ max-width: 1060px; margin-bottom: 100px;}
.single-partners .partner-intro .partner-headlines, .single-partners .partner-content article{ width: 70%; float: left;}
.single-partners .partner-content aside{ width: 23%; float: right; text-align: center; margin-top: -140px;}
.single-partners h1{ font-size: 48px; text-transform: uppercase;}
.single-partners h2{ font-size: 24px; font-weight: normal;}
.single-partners hr{ margin: 30px 0;}
.single-partners .partner-content article p:nth-of-type(1){ margin: 0;}
.single-partners aside .gform_description, .single-contracts .gform_description{ font-weight: 600; margin-bottom: 15px; display: block;}
.single-partners aside .gform_required_legend, .single-contracts .gform_required_legend{ display: none;}
.single-partners aside .gform_body input, .single-partners aside .gform_body textarea, .single-partners aside .gform_body select, .single-contracts .gform_body input, .single-contracts .gform_body textarea, .single-contracts .gform_body select{ border: 1px solid #ccc; padding: 15px !important; font-size: 14px; background: none;}
.single-partners aside button, .single-partners aside .button, .single-contracts button, .single-contracts .button{ display: block; width: 100%; box-sizing: border-box; text-align: center; background: none;}
.single-partners aside button:hover ,.single-partners aside .button:hover, .single-contracts button:hover ,.single-contracts .button:hover{ background-color: #1383d5;}

.single-partners .single-cta{ margin-top: 30px; display: flex; justify-content: space-between; flex-direction: row-reverse; font-size: 14px; line-height: 24px; background-color: #f4f4f4; padding: 30px; box-sizing: border-box;}
.single-partners .single-cta .cta-visual, .single-partners .single-cta .cta-content{ width: 46%;}
.single-partners .single-cta h3{ font-size: 18px; margin-bottom: 15px;}
.single-partners .single-cta .button{ margin-top: 30px;}



/* Flex */

.flex .page-section{ margin-bottom: 80px;}
.flex .hero-nobkg{ text-align: center; margin-top: 45px;}
.flex .hero-nobkg h1{ font-size: 48px;}
.flex .hero-nobkg hr{ margin: 0 auto;}
.flex .basic-content .wrapper{ max-width: 900px; margin: 70px auto;}
.flex .basic-content h2, .flex .basic-content h3, .flex .basic-content h4, .flex .basic-content h5, .flex .basic-content h6{ margin-top: 25px;}
.flex .testimonial-content{ background-color: #182e62; color: #fff; font-size: 18px; line-height: 34px; padding: 100px 5%; box-sizing: border-box; position: relative; margin: 120px 0 160px;}
.flex .testimonial-content:before{ content: ""; width: 100px; height: 72px; background-size: cover; background-position: center center; background-image: url(images/quote-open.png); position: absolute; left: 2.5%; top: -50px;}
.flex .testimonial-content:after{ content: ""; width: 100px; height: 72px; background-size: cover; background-position: center center; background-image: url(images/quote-close.png); position: absolute; right: 2.5%; bottom: -50px;}
.flex .testimonial-content p{ text-transform: uppercase; font-weight: 600; font-size: 14px;}
.flex .testimonial-content p:before{ content: "– ";}
.flex .testimonial-content .wrapper{ max-width: 900px;}
.flex .icons-content{ text-align: center; margin: 70px 0 120px;}
.flex .icons-content h2{ font-size: 48px;}
.flex .icons-content hr{ margin: 15px auto 0;}
.flex .icons-content p{ max-width: 740px; margin: 30px auto 60px;}
.flex .icons-content .icon-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px; max-width: 960px; margin: 0 auto;}
.flex .icons-content .icon-grid .icon{ -webkit-box-shadow: 0px 0px 20px 0px rgba(226,226,226,1); -moz-box-shadow: 0px 0px 20px 0px rgba(226,226,226,1); box-shadow: 0px 0px 20px 0px rgba(226,226,226,1); padding: 40px 50px 30px;}
.flex .icons-content .icon .icon-visual{ width: 80px; height: 80px; margin: 0 auto; display: flex; justify-content: center; align-item: center;}
.flex .icons-content .icon h3{ text-transform: uppercase; font-weight: 500; line-height: 18px; margin-top: 25px; font-size: 16px;}
.flex .cta-content{ text-align: center; padding: 80px 0; color: #fff;}
.flex .cta-red{ background-color: #8e192a;}
.flex .cta-red .button{ border: 2px solid #fff; color: #fff;}
.flex .cta-red .button:hover{ background-color: #fff; color: #8e192a;}
.flex .cta-blue{ background-color: #182e62;}
.flex .cta-blue hr{ background-color: #1383d5;}
.flex .cta-blue .button{ color: #fff;}
.flex .cta-content h2{ font-size: 36px; color: #fff;}
.flex .cta-content p{ max-width: 740px; margin: 0 auto 40px;}
.flex .cta-content hr{ margin: 15px auto 30px;}
.flex .callouts{ margin: 80px auto 120px;}


.flex .callouts .callout{ position: relative; display: flex; margin-bottom: 80px; align-items: center; justify-content: center;}
.flex .callouts .callout-visual{ background-size: cover; background-position: center center; width: 36%; z-index: 1; position: relative; margin: 0 -2.5% 0 0;}
.flex .callouts .callout-visual:after{ content: ""; padding-bottom: 90%; display: block;}
.flex .callouts .callout-content{ width: 70%; background-color: #f4f4f4; padding: 75px 10% 75px 15%; box-sizing: border-box; margin: -20px 0 0 -2.5%;}
.flex .callouts h2{ font-size: 30px;}
.flex .callouts .button{ margin-top: 30px;}
.flex .callouts .callout:nth-of-type(even){ flex-direction: row-reverse;}
.flex .callouts .callout:nth-of-type(even) .callout-visual{ margin: 0 0 0 -2.5%;}
.flex .callouts .callout:nth-of-type(even) .callout-content{ margin: -20px -2.5% 0 0;}


.flex .table-content{ text-align: center; padding: 80px 0;}
.flex .table-content table{ width: 100%; max-width: 900px; margin: 15px auto 0; font-size: 12px;}
.flex .table-content h2{ font-size: 48px;}
.flex .table-content hr{ margin: 15px auto 30px;}
.flex .table-content p{ max-width: 740px; margin: 15px auto 0;}
.flex .table-content th{ background-color: #dadada; color: #111; font-size: 14px; font-weight: 500; padding: 10px;}
.flex .table-content td{ padding: 10px;}
.flex .table-content tr:nth-of-type(even){ background-color: #f4f4f4;}
.flex .awards-content{ text-align: center; padding: 100px 0; background-color: #f4f4f4;}
.flex .awards-content hr{ margin: 15px auto;}
.flex .awards-content .awards-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px; margin-top: 60px;}
.flex .awards-content .awards-grid h3{ font-size: 16px; font-weight: normal;}
.flex .awards-content .awards-grid .award-logo{ width: 150px; height: 150px; display: flex; justify-content: center; align-items: center; margin: 0 auto 20px; }
.flex .awards-content .awards-grid img{ max-width: 100%; max-height: 100%; width: auto; height: auto;}
.flex .awards-content .single-award{ background-color: #fff; padding: 30px; box-sizing: border-box;}

.flex .team-grid{ text-align: center; margin-top: 45px;}
.flex .team-grid .single-team{ width: 30%; display: inline-block; margin: 0 3% 60px 0; vertical-align: top;}
.flex .team-grid .single-team:nth-of-type(3n){ margin: 0 0 60px;}
.flex .team-grid .team-headshot{ background-size: cover; background-position: center center; margin-bottom: 15px;}
.flex .team-grid .team-headshot:after{ content: ""; padding-bottom: 100%; display: block;}
.flex .team-grid h3{ font-size: 21px;}
.flex .team-grid h4{ font-size: 16px; text-transform: uppercase; letter-spacing: .1em;}

.flex .column-content{ padding: 80px 0;}
.flex .column-content .columns{ display: grid; grid-template-columns: repeat(2,1fr); gap: 60px;}
.flex .column-content + .column-content, .flex .column-content + .basic-content, .flex .basic-content + .column-content{ padding-bottom: 0;}

.flex .banner-content{ margin-bottom: 0;}
.flex .banner-content img{ width: 100%;}

.flex .logos-content{ padding: 0;}
.flex .logos-content .wrapper{ display: flex; justify-content: center; align-items: center;}
.flex .logos-content .single-logo{ max-width: 250px; display: flex; justify-content: center; align-items: center; margin: 0 20px;}
.flex .logos-content .single-logo:after{ content: ""; padding-bottom: 100%; display: block;}

.page-section h2, .home h2, .contracts .contract-list h2{ padding-bottom: 10px; border-bottom: 4px solid #ef1d25; display: inline-block; margin-bottom: 30px;}

.has-sidebar .hero-nobkg{ margin-bottom: 45px;}
.has-sidebar .page-container{ width: 95%; max-width: 1400px; margin: 0 auto; position: relative;}
.has-sidebar .page-container:after{ clear: both; display: table; content: "";}
.has-sidebar .page-sections{ width: 80%; float: right;}
.has-sidebar .page-sections section{ padding-left: 5%; padding-right: 5%;}
.has-sidebar aside{ width: 15%; float: left; margin-top: 35px; position: sticky; top: 60px;}
.has-sidebar aside h3{ font-size: 18px; text-transform: uppercase;}
.has-sidebar aside ul{ margin: 15px 0 0; padding: 0; list-style: none; font-size: 14px;}
.has-sidebar aside ul li a{ text-decoration: none; border-bottom: 1px solid #eee; padding: 5px; display: block;}
.has-sidebar aside ul li a:hover{ color: #fff; background-color: #1383d5;}
.has-sidebar aside ul li:nth-last-of-type(1) a{ border-bottom: none;}
.has-sidebar .awards-content{ padding: 60px 0;}
.has-sidebar aside .top{ display: none;}
.has-sidebar .tabs{ max-width: 100%;}

.tabs{ overflow: hidden; max-width: 740px; margin: 0 auto;}
.tab{ width: 100%; overflow: hidden; margin-bottom: 10px;}
.tab input{ display: none;}
.tab-label{ display: flex; justify-content: space-between; padding: 1em; cursor: pointer; background-color: #444; color: #fff; font-size: 18px; font-weight: 500;}
.tab-label:hover{ background: #8e192a;}
.tab-label::after{ content: "+"; width: 1em; height: 1em; text-align: center; transition: all .25s ease 0s;}
.tab-content{ max-height: 0; padding: 15px 30px 30px; color: #2c3e50; background: white; transition: all .25s ease 0s; border-left: 1px solid #dadada; border-right: 1px solid #dadada; border-bottom: 1px solid #dadada; opacity: 0; visibility: hidden; display: none;}
.tab-close{ display: flex; justify-content: flex-end; padding: 1em; background: #8e192a; cursor: pointer;}
.tab-close:hover{ background: #8e192a;}
input:checked + .tab-label{ background: #8e192a;}
input:checked + .tab-label::after{ content: "-";}
input:checked ~ .tab-content{ max-height: 100vh; opacity: 1; visibility: visible; display: block;}

.page-id-48 #section-3{ background-color: #182e62; color: #fff; padding: 60px 0;}
.page-id-48 #section-3 h2{ color: #fff; display: block; width: 185px; margin: 0 auto 30px;}
.page-id-48 #section-3 .button{ border: 2px solid #fff; color: #fff; margin-top: 40px;}
.page-id-48 #section-3 .button:hover{ border: 2px solid #1383d5;}
.page-id-48 #section-4{ margin-bottom: 0;}

.parent.back{ max-width: 900px; margin: 30px auto 0;}

.page-template-landing .header{ display: none;}

.landing.flex .basic-content, .landing.flex .column-content{ margin: 0; padding: 80px 0 0 !important;}
.landing.flex .basic-content .wrapper{ margin: 0 auto;}
.landing.flex .cta-content{ margin-top: 80px;}
.landing.flex .cta-content .button{ background-color: #1383d5;}
.landing.flex .cta-content .button:hover{ background-color: #ef1d25; border: 2px solid #ef1d25;}

.landing.flex .banner-content{ background-size: cover; background-position: center center; position: relative; display: flex; align-items: center;}
.landing.flex .banner-content:after{ display: block; padding-bottom: 56.25%; content: "";}
.landing.flex .banner-content .banner-container{ max-width: 50%;}
.landing.flex .banner-content .lede{ text-transform: uppercase; color: #fff; font-size: 18px; letter-spacing: .1em; margin-bottom: 30px; font-weight: 900;}
.landing.flex .banner-content h2{ font-size: 60px; line-height: 60px;color: #fff; border: none; padding: 0;}
.landing.flex .banner-content .button{ background-color: #ef1d25; color: #fff; border: none; margin-top: 45px;}
.landing.flex .banner-content .button:hover{ background-color: #fff; color: #444;}



/* Media queries */

@media (max-width: 1200px) {
	.home .hero:after, .hero::after, .flex .hero:after, .partners .hero::after, .contracts .hero:after{ padding-bottom: 80%;}
	.header .nav{ display: none;}
	.home .about{ margin-bottom: 160px;}
	.home .services .icon-grid .icon{ width: calc(30% - 40px);}
}

@media (max-width: 960px) {
	.home .hero{ max-height: 500px; position: relative;}
	.home .hero h1, .hero h1, .flex .hero h1, .partners .hero h1, .contracts .hero h1{ font-size: 48px; line-height: 48px; width: 100%;}
	.home .about, .home .contracts{ display: block; margin-bottom: 0;}
	.home .about .about-content, .home .contracts .contracts-content{ position: relative; width: 100%; padding: 60px 5% !important; margin: 0 !important;}
	.home .about .about-visual, .home .contracts .contracts-visual{ width: 100%;}
	.home .about .about-visual:after, .home .contracts .contracts-visual:after, .flex .callouts .callout-visual:after{ padding-bottom: 56.25%;}
	.home .contracts .contracts-visual{ float: none;}
	.flex .callouts .callout{ flex-direction: column !important; margin-bottom: 60px;}
	.flex .callouts .callout-content, .flex .callouts .callout-visual{ width: 100%; margin: 0 !important;}
	.home .solutions .solutions-intro, .home .solutions .solutions-list{ width: 100%; float: none;}
	.home .solutions .solutions-intro{ margin-bottom: 60px;}
	.home .solutions .solutions-list{ padding: 50px 10%;}
	.home .testimonial{ flex-direction: column;}
	.home .testimonial .testimonial-content, .home .testimonial .testimonial-visual{ width: 100%;}
	.home .testimonial .testimonial-visual:after{ content: ""; display: block; padding-bottom: 56.25%;}
	.home .solutions{ margin-bottom: 0;}
	.home .partners{ width: 85%; margin: 0 auto 60px;}
	.footer .wrapper{ padding: 30px 0;}
	.footer .columns{ display: none;}
	.footer .contact{ width: 100%; float: none; text-align: center;}
	.footer .contact strong{ font-size: 16px;}
	.footer .contact .numbers{ display: block;}
	.footer .contact .numbers li{ margin-bottom: 5px;}
	.sub-footer p, .sub-footer ul{ float: none; text-align: center;}
	.sub-footer ul li{ display: block;}
	.partner-intro{ display: flex; flex-direction: column-reverse;}
	.partner-logo, .secondary-logo{ max-width: 400px; margin: 0 auto 30px;}
	.single-partners .partner-intro .partner-headlines, .single-partners .partner-content article, .single-partners .partner-logo, .single-partners .partner-content aside{ width: 100%; float: none; margin-top: 0;}
	.single-partners .partner-content aside{ margin-top: 60px;}
	.contracts .contract-list aside, .contracts .contract-list article{ width: 100%; float: none;}
	.contracts .contract-list aside{ margin-bottom: 30px;}
	.single-contracts .contract-intro h2{ max-width: 100%;}
	.single-contracts .contract-intro ul{ display: block;}
	.single-contracts .contacts{ display: block;}
	.single-contracts .contacts .contact{ margin-bottom: 15px;}
	.flex .awards-content .awards-grid, .flex .team-grid{ grid-template-columns: repeat(2, 1fr);}
	.flex .team-grid .single-team{ width: 46%; margin: 0 1.5% 60 !important;}
	.single-contracts .columns .column{ width: 100% !important; float: none !important;}
	.single-partners .single-cta{ display: block;}
	.single-partners .single-cta .cta-visual, .single-partners .single-cta .cta-content{ width: 100%; margin-bottom: 30px;}
	.flex .column-content .columns{ grid-template-columns: repeat(1,1fr);}
	.landing.flex .banner-content:after{ padding-bottom: 100%;}
	.landing.flex .banner-content h2{ font-size: 36px; line-height: 36px;}
	.landing.flex .banner-content .banner-container{ max-width: 100%;}
}

@media (max-width: 800px) {
	.home .services .icon-grid .icon, .flex .icons-content .icon-grid{ display: block;}
	.home .services .icon-grid .icon, .flex .icons-content .icon{ width: 70%; max-width: 400px; margin: 0 auto 45px !important;}
	.home .services .button{ margin-top: 15px;}
	.partners .partner-grid .partner{ width: 48%; margin: 0 3% 35px 0 !important;}
	.partners .partner-grid .partner:nth-of-type(even){ margin: 0 0 35px 0 !important;}
	.single-partners h1{ font-size: 30px;}
	.single-partners h2{ font-size: 21px;}
	.flex .awards-content .awards-grid{ grid-template-columns: repeat(1, 1fr);}
	.has-sidebar .page-sections, .has-sidebar aside{ width: 100%; float: none;}
	.has-sidebar aside{ display: none;}
	.flex .logos-content .wrapper{ flex-direction: column;}
	.flex .logos-content .single-logo{ margin: 0;}
}

@media (max-width: 600px) {
	.home .hero{ max-height: 400px; position: relative;}
	.home .hero:after, .hero::after, .flex .hero:after, .partners .hero::after, .contracts .hero:after{ padding-bottom: 100%;}
	.home .hero h1, .hero h1, .flex .hero h1, .partners .hero h1, .contracts .hero h1{ font-size: 36px; line-height: 36px; width: 100%;}
	.home .hero h1{ margin-bottom: 15px;}
	.home .hero h2, .hero h2, .flex .hero h2, .partners .hero h2, .contracts .hero h2{ font-size: 18px; line-height: 21px;}
	.home .hero .button{ margin-top: 0;}
	.contracts .contract-list ul{ display: block;}
	.flex .team-grid{ grid-template-columns: repeat(1, 1fr);}
	.flex .team-grid .single-team{ width: 100%; margin: 0 0 60px;}
}
