﻿:root {
   
   --blue: #183B9C;
   --midBlue: #91B8E4;
   --lightBlue: #E6ECF2;
   --darkestBlue: #1E1C2C;
}

* {margin:0; padding:0; outline:none; border:none; box-sizing:border-box; -moz-box-sizing:border-box;}

/* GLOBAL */

html 	{scroll-behavior: smooth}
body 	{line-height:1; font-family: "Open Sans", sans-serif; color: var(--darkestBlue);}

h1		{font-family: "Barlow Condensed", sans-serif;}
h2		{font-family: "Barlow Condensed", sans-serif; font-size: 55px; color: var(--blue); font-weight: 500; text-transform: uppercase; margin-bottom: 0.45em}
h3		{font-family: "Barlow Condensed", sans-serif;}
h4		{font-family: "Barlow Condensed", sans-serif;}
h5		{font-family: "Barlow Condensed", sans-serif;}
h6		{font-family: "Barlow Condensed", sans-serif;}

p		{font-size: 18px; line-height: 140%; margin-bottom: 1em}

ul,
ol		{}

img      {max-width:100%; height:auto;}
a        {color:inherit;}
a.cover  {position:absolute; left:0; top:0; width:100%; height:100%; background-color:rgba(0,0,0,0); display:block;}
.inner   {max-width: 1276px; width: calc(100% - 60px); margin:0 auto; }

.grad      {background: #91B8E4; background: linear-gradient(45deg, rgba(145, 184, 228, 1) 0%, rgba(255, 255, 255, 1) 100%);}
.grad-2    {background: #91B8E4; background: linear-gradient(-45deg, rgba(145, 184, 228, 1) 0%, rgba(255, 255, 255, 1) 100%);}

.cols             {display: flex;}
.cols.span-3      {gap: 20px;}
.cols.span-3 .col {flex: 0 0 calc((100% - (2 * 20px)) / 3)}

section  {scroll-margin: 75px;}

/* HEADER */
header 			{padding: 34px 0; position: fixed; top: 0; left: 0; width: 100%; z-index: 20; transition: 0.3s ease-out}
header .inner 	{display: flex; justify-content: space-between; align-items: baseline;}

header .logo    {width:75px; position: relative; z-index: 20}

.white-header header {background-color: #ffffff; position: sticky; top: 0} 

header.scrolled                  {background-color: #ffffff; padding: 20px 0; box-shadow: 0 3px 6px rgba(0,0,0,0.16);} 

.white-header .logo #Path_37,
header.open .logo #Path_37,
header.scrolled .logo #Path_37   {fill: #183B9C;}

.white-header .logo #Path_38,
header.open .logo #Path_38,
header.scrolled .logo #Path_38   {fill: #434257;}

.white-header .logo #Union_2,
header.open .logo #Union_2,
header.scrolled .logo #Union_2   {fill: #434257;}

.white-header nav li a,
header.scrolled nav li a         {color: var(--blue);}

header.scrolled nav ul li        {padding: 5px 0}
header.scrolled .inner           {align-items: center}

/* NAV */
nav		         {font-size: 14px; text-transform: uppercase;}
nav ul            {display: flex; gap: 28px; align-items: center;}
nav ul li         {position: relative; padding-bottom: 5px;}
nav ul li:after   {height: 2px; background-color: #91B8E4; content: ''; position: absolute; left: 0; bottom: 0; width: 100%; opacity: 0;}
nav ul li a	      {color: #ffffff; text-decoration: none}
nav ul li ul      {position: absolute; left: -99999px; top: 19px; align-items: flex-start; flex-direction: column; gap:12px; width: max-content; min-width: 253px; background-color: #ffffff; font-weight: 600; padding: 18px 29px 18px 24px; border-radius: 0 40px 0 40px; z-index: 1;}
nav ul li ul li a {color: var(--blue);}

nav ul li ul li a:hover {color: #91B8E4}
nav ul li ul li:after   {display: none}

nav ul li.active        {font-weight: 600}
nav ul li:hover:after   {opacity: 1}
nav ul li:hover ul      {left: 0}

nav ul li.nav-apply-now          {margin-left: 10px;}
nav ul li.nav-apply-now:after    {display: none}
nav ul li.nav-apply-now ul       {border-radius: 40px 0 40px 0; align-items: flex-start}
nav ul li.nav-apply-now:hover ul {right: 0; top: 29px; left: auto}

nav ul li.nav-apply-now          {padding: 0}
nav > ul > li.nav-apply-now > a  {color: var(--blue); font-weight: 700; border-radius: 0 10px 0 10px; background: #EEF4FB; background: linear-gradient(45deg, rgba(238, 244, 251, 1) 0%, rgba(145, 184, 228, 1) 100%); padding:13px 15px;}
nav ul li.nav-apply-now ul li a  {font-weight: 600}

/* HOME HERO CONTAINER */
.home .content-hero-container-section     {color: #ffffff; position: relative; background-image: url(/_uploads/header-images/FULL_SIZE-COLOUR-OVERLAY.webp); background-position: left bottom; background-size: auto 100%; background-repeat: no-repeat; min-height: 764px; display: flex;}
.home .content-hero-container-section h1  {font-weight: 600; font-size: 152px; letter-spacing: -1.5px;}
.home .content-hero-container-section p   {font-family: "Barlow Condensed", sans-serif; font-size: 54px; font-weight: 200; letter-spacing: -1.5px;}
.home .content-hero-container-section:after  {background: #000000; background: linear-gradient(60deg, rgba(24, 59, 156, 0) 10%, rgba(24, 59, 156, 1) 40%); position: absolute; left: 0; bottom: 0; height: 100%; width: 100%; content: '';}

.home .content-hero-container-section .inner {align-items: center; display: flex; position: relative; z-index: 10}
.home .content-hero-image                    {width: 800px; position: absolute; bottom: 0; right: 0;}

.home .content-hero-text      {width: 640px; max-width: 100%; padding-left: 30px; position: relative; z-index: 5}
.home .content-hero-text h1   {line-height: 0.85em; margin-bottom: 0.14em}

.home content-hero-text .buttons   {margin-top: 50px; justify-content: flex-start}

/* CONTENT HERO CONTAINER */
.content-hero-container-section     {color: #ffffff; position: relative; background-image: url(/_uploads/header-images/FULL_SIZE-COLOUR-OVERLAY.webp); background-position: left bottom; background-size: cover; background-repeat: no-repeat; min-height: 648px; display: flex;}
.content-hero-container-section:after  {background: #000000; background: linear-gradient(60deg, rgba(24, 59, 156, 0) 10%, rgba(24, 59, 156, 1) 40%); position: absolute; left: 0; bottom: 0; height: 100%; width: 100%; content: '';}

.content-hero-container-section .inner {align-items: flex-end; display: flex; position: relative; z-index: 10}
.content-hero-image                    {width: 50%;}

.content-hero-text      {width: 50%; max-width: 100%; height: 100%; display: flex; align-items: center; padding-left: 90px; position: relative; z-index: 5; transform: translateY(40px);}
.content-hero-text h1   {line-height: 0.85em; margin-bottom: 0.4em; font-size: 84px; font-weight: 500; letter-spacing: -1.5px; text-transform: uppercase}
.content-hero-text p    {font-size: 18px; width: 100%; max-width: 484px;}

.content-hero-text .buttons   {margin-top: 50px; justify-content: flex-start}

/* CONTENT HERO ALT */
.content-hero-container-alt-section                      {padding: 50px 0; height: auto; min-height: unset; background-image:none; position: relative; overflow: hidden}
.content-hero-container-alt-section:after                {display: none}
.content-hero-container-alt-section .content-hero-text   {transform: translateY(0); padding: 25px 35px; border-radius: 0 40px 0 40px; background: linear-gradient(245deg, rgba(145, 184, 228, 1) 0%, rgba(255, 255, 255, 1) 100%); width: 555px; max-width: 100%;}
.content-hero-container-alt-section  picture img         {position: absolute; inset:0; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; object-position: center}
.content-hero-container-alt-section .inner               {padding-left: 90px}
.content-hero-container-alt-section h1                   {color: var(--blue)}
.content-hero-container-alt-section p                    {color: var(--blue)}
.content-hero-container-alt-section ul                   {color: var(--blue)}

/* CONTENT HERO NO IMAGE */
.content-hero-container-section.no-image                       {min-height: unset; background-size: cover; padding: 150px 0 70px}
.content-hero-container-section.no-image .content-hero-text    {width: 100%; max-width: 710px; transform: translateY(0)}

.content-hero-container-section.no-image:after  {background: linear-gradient(-60deg, rgba(24, 59, 156, 0) 10%, rgba(24, 59, 156, 1) 40%); opacity: 0.7}

ul.breadcrumbs                      {display: flex; list-style: none; text-transform: uppercase; font-family: "Barlow Condensed", sans-serif; font-weight: 500; font-size: 17px; margin-bottom: 20px; flex-wrap: wrap; line-height: 1.2em;}
ul.breadcrumbs a                    {text-decoration: none;}
ul.breadcrumbs a                   {padding-bottom: 5px; border-bottom: 2px solid transparent}
ul.breadcrumbs a:hover             {border-bottom: 2px solid #91B8E4;}
ul.breadcrumbs li:after             {content: '>'; margin: 0 10px}
ul.breadcrumbs li:last-child:after  {display: none}

SearchContent ul:not(.breadcrumbs):not(.button-list):not(.slick-dots)      {margin: 1em 0; padding-left: 30px; list-style: none !important; line-height: 1.3em !important;}
SearchContent ul:not(.breadcrumbs):not(.button-list):not(.slick-dots) > li {position: relative; margin-bottom: 12px; font-size: 16px  !important;  line-height: 1.3em  !important;}
SearchContent ul:not(.breadcrumbs):not(.button-list):not(.slick-dots) > li:before {content: ''; width: 14px; height: 15px; background: url(/_uploads/_assets/oxbow-icon.svg) center / contain no-repeat; position: absolute; left: -28px; top: 0.175em;}

/* INTRO TEXT SECTION */
.intro-text-section        {text-align: center; padding: 65px 0; background-size: cover; background-position: center;}

.oxbow-card .btn,
.intro-text-section .btn   {margin-top: 10px;}

.intro-text                {text-align: center}
.intro-text                {width: 1004px; max-width: 100%; margin: auto}

.intro-text-section.dark   {background-color: var(--blue); color: #ffffff}
.intro-text-section.dark h2   {color: #ffffff}

/* MASONRY GRID SECTION */
.masonry-grid-section   {padding: 65px 0}
.masonry                {position: relative; width: 100%; margin-top: 60px; height: 1200px; }
.masonry-item           {position: absolute; background: white; padding: 0px; overflow: hidden;}
.masonry-layout-enabled .masonry:not(.is-laid-out) {visibility: hidden;}

.masonry-grid-section .button {margin-top: 40px;}

/* OXBOW CARD */
.oxbow-card          {background-color: var(--lightBlue); border-radius: 6px; padding: 28px 34px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start}
.oxbow-card img      {margin-bottom: 15px;}
.oxbow-card h3       {font-size: 28px; font-weight: 600; margin-bottom: 0.65em; color: var(--blue); line-height: 1.3em}
.oxbow-card.dark     {background-color: var(--blue); color: #ffffff;}
.oxbow-card.dark h3  {color: #ffffff}

/* OXBOW CARD IMAGE */
.oxbow-card-image       {position: relative;}
.oxbow-card-image img   {border-radius: 0 40px 0 40px}
.oxbow-card-image .btn  {position: absolute; left: 34px; bottom: 40px; z-index: 5}

/* OXBOW STAT */
.oxbow-stat             {background: linear-gradient(45deg, rgba(238, 244, 251, 1) 0%, rgba(145, 184, 228, 1) 100%); padding: 28px 34px}
.oxbow-stat h4          {font-size: 65px; font-weight: 600; color: var(--blue); margin-bottom: 0.15em}
.oxbow-stat p,
.oxbow-stat p strong    {font-weight: 600}

.oxbow-stat.dark        {background: var(--blue);}
.oxbow-stat.dark h4     {color: #ffffff}
.oxbow-stat.dark p      {color: #ffffff}

/* OXBOW QUOTE */
.oxbow-quote            {padding: 28px 34px; background: linear-gradient(165deg, rgba(145, 184, 228, 1) 0%, rgba(255, 255, 255, 1) 100%);}
.oxbow-quote:before     {width: 57px; height: 60px; content: ''; background-image: url(/_uploads/_assets/icon-quote-blue.svg); display: block; margin-bottom: 20px;}
.oxbow-quote p          {font-size: 26px; font-weight: 200; color: var(--blue); margin-bottom: 20px;}
.oxbow-quote cite       {display: block; font-weight: 600; color: var(--blue); font-style: normal; font-size: 18px;}
.oxbow-quote .btn       {margin-top: 25px;}

.oxbow-quote.dark:before   {background-image: url(/_uploads/_assets/icon-quote-light-blue.svg);}
.oxbow-quote.dark          {background: var(--blue);}
.oxbow-quote.dark p,
.oxbow-quote.dark cite     {color: #ffffff}

/* OXBOW IMAGE */
.oxbow-image-panel   {display: flex; justify-content: center; align-items: center; padding: 20px;}

/* VIDEO */
.video-container        {position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; /*margin-bottom: 30px;*/}
.video-container iframe,
.video-container object,
.video-container embed,
.video-container video	{position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* OUR PROCESS */
.our-process-section      {padding: 75px 0; background-size: cover;}
.our-process-section h2,
.our-process-section p    {color: #ffffff}

.process                  {width: 222px; flex-direction: column; align-items: center; display: inline-flex; justify-content: flex-start; text-align: center; position: relative; z-index: 5}
.process-timeline         {display: flex; gap: 10px; justify-content: center; margin: 100px 0 50px 0; position: relative;}
.process-timeline:before  {border-top:2px solid #ffffff; width: 100%; display: block; content: ''; position: absolute; top: 15px;}
.process-timeline h4      {color: var(--midBlue); font-size: 28px; font-weight: 500; margin-bottom: 0.25em}
.process-timeline p       {width: 130px; font-weight: 600}

.process:before           {width: 33px; height: 33px; background-image: url(/_uploads/_assets/dot.svg); content: ''; display: block; margin:0 auto 10px;}

/* CARD SLIDER */
.card-slider-section      {background-color: var(--lightBlue); padding: 65px 0; overflow-x: hidden;}

.card-slider-section .inner {position: relative;}

.card-slider-wrap::-webkit-scrollbar {display: none;}
.card-slider-wrap {width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -ms-overflow-style: none; margin-top: 60px;}

@media (max-width: 1840px) 
{
.card-slider-wrap {width: calc(100vw - ((100vw - 100%) / 2));}
}


.card-slider      {display: flex; gap: 24px; width: max-content; padding-right: 50px;}
.card-slider .col {flex: 0 0 287px; width: 287px;}

.slider-bar       {margin-top: 50px; height: 2px; background: #B3C0DD; border-radius: 999px; position: relative; cursor: pointer;}
.slider-bar.is-hidden {display: none;}
.slider-thumb     {position: absolute; top: -6px; left: 0; width: 120px; height: 12px; background: #ACB0BB; border-radius: 999px; cursor: grab;}

section.dark .slider-bar   {background-color: #5A5E74}
section.dark .slider-thumb {background-color: #5A5E74}

.card-slider-section.white   {background-color: #ffffff}

.project-listing .listing-card,
.card-slider.dark .listing-card     {background-color: var(--blue);}

.project-listing .listing-card h3,
.card-slider.dark .listing-card h3,
.card-slider.dark .listing-card h4,
.project-listing .listing-card h4,
.card-slider.dark .listing-card p,
.project-listing .listing-card p {color: #ffffff}

.project-listing .listing-card .btn,
.card-slider.dark .listing-card .btn   {background-color: #ffffff; color: var(--blue);}

.project-listing .listing-card .btn:hover,
.card-slider.dark .listing-card .btn:hover   {background: #212F5A; color: #ffffff;}

.arrow-controls-outer                     {display: flex; justify-content: flex-end; margin-bottom: -15px;}
.arrow-controls                           {display: flex; gap: 20px;}
.arrow-controls button                    {width: 12px; height: 20px; background-image: url(/_uploads/_assets/slick-next-2.svg); background-size: cover; background-color: transparent;}
.arrow-controls button.scroll-backward    {background-image: url(/_uploads/_assets/slick-prev-2.svg);}
.arrow-controls button:hover              {filter: brightness(0.65)}

/* LISTING CARD */
.listing-card           {background-color: #ffffff; height: 100%; display: flex; justify-content: space-between; flex-direction: column; align-items: flex-start; overflow: hidden; border-radius: 6px;}
.listing-card-image     {overflow: hidden; height: 230px; position: relative;}
.listing-card-image img {position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: bottom center;}
.listing-card-image h3 	{position: absolute; z-index: 1; left: 0; bottom: 0; padding: 5px 28px; display: block; background: rgb(24 59 156 / 70%); width: 100%; min-height: 50px; line-height: 1.1em; font-size: 18px; font-weight: 400;}


.example-engagements .listing-card-image {height: 200px;}


.listing-card-text      {padding: 20px 28px}
.listing-card-text p    {font-size: 15px;}
.listing-card-text h3   {font-size: 25px; color: var(--blue); font-weight: 600; margin-bottom: 0.45em}
.listing-card-text h4   {font-size: 16px; color: var(--blue); font-weight: 400; margin-bottom: 1em; font-family: "Open Sans", sans-serif;}
.listing-card .btn      {margin: 0 20px 20px}

/* LISTING CARD SECTION */
.listing-card-section               {padding: 75px 0}
.listing-card-section .cols         {margin: 50px 0}
.listing-card-section .oxbow-card   {height: 100%;}

section.dark      {background-color: var(--blue); background-size: cover; background-position: center;}
section.dark  h2  {color: #ffffff}

/* PROCESS FILTERS */
.process-filter-section    {padding: 15px 0}
.process-filter-section h3 {font-weight: 500; font-size: 33px; text-transform: uppercase; color: var(--blue);}
.process-filter-row        {text-align: center; margin: 45px 0}

.process-filter-row ul              {display: flex; gap: 15px; justify-content: center; margin-top: 25px; list-style: none; flex-wrap: wrap}
.process-filter-row ul li a         {background-color: var(--lightBlue); color: var(--blue);}
.process-filter-row ul li a.active  {background-color: var(--blue); color: #ffffff}

/* PROCESS TIMELINE */
.process-timeline-section  {background-size: cover; padding: 75px 0}
.timeline-header           {color: #ffffff; text-align: center}
.timeline-header p         {text-transform: uppercase; font-family: "Barlow Condensed", sans-serif; font-size: 36px; font-weight: 500; margin-bottom: 0}
.timeline-header h2        {color: #ffffff}

.full-process-timeline     {margin: 70px 0}

.timeline-row                 {display: flex; margin: auto; width: 960px; max-width: 100%;}
.timeline-item                {color: #ffffff; width: 50%; text-align: right; padding-right: 35px; padding-bottom: 35px; position: relative;}
.timeline-item h3             {color: var(--midBlue); font-size: 28px; font-weight: 600; margin-bottom: 0.5em}
.timeline-item h4             {font-size: 20px; font-weight: 600; color: #ffffff; font-family: "Open Sans", sans-serif; margin-bottom: 0.5em}
.timeline-item:after          {width: 2px; background-color: #ffffff; height: 100%; display: block; content: ''; position: absolute; right: -1px; top: 0}

.timeline-row:last-child .timeline-item         {padding-bottom: 0}
.timeline-row:last-child .timeline-item:after  {display: none}

.timeline-item:before         {width: 33px; height: 33px; display: block; background-image: url(/_uploads/_assets/dot.svg); content: ''; position: absolute; top: 0; right: -16px; z-index: 5;}

.timeline-item p              {margin-bottom: 0}

.timeline-row:nth-child(even)                         {justify-content: flex-end}
.timeline-row:nth-child(even) .timeline-item          {text-align: left; padding-left: 35px;}
.timeline-row:nth-child(even) .timeline-item:after    {right: auto; left: -1px}
.timeline-row:nth-child(even) .timeline-item:before   {right: auto; left: -16px;}

.footer-copy                {width: 960px; max-width: 100%; margin: 55px auto 0; color: #ffffff;}
.footer-copy-heading        {/*margin-bottom: 0; color: #ffffff; font-size: 20px; font-weight: 500; font-family: "Open Sans", sans-serif;*/ }
.footer-copy-toggle         {width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 18px; border: 0; border-bottom: 2px solid #fff; background: none; color: #ffffff; cursor: pointer; text-align: left; font: inherit;text-transform: uppercase;}
.footer-copy-toggle span:first-child {font: inherit;}
.footer-copy-arrow          {width: 14px; height: 14px; flex: 0 0 14px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform 0.2s ease;}
.footer-copy-accordion.is-open .footer-copy-arrow {transform: rotate(225deg);}
.footer-copy-content        {padding-top: 24px;}
.footer-copy-content p:last-child {margin-bottom: 0;}

/* MASONRY v2 */
.masonry-v2       {background-color: var(--lightBlue);}
.number-card      {background-color: #ffffff; padding: 34px;}
.number-card h3   {font-size: 28px; color: var(--blue); font-weight: 600; margin-bottom: 0.5em}
.number           {width: 58px; height: 58px; border-radius: 58px; display: flex; justify-content: center; align-items: center; background: #91B8E4; background: linear-gradient(45deg, rgba(145, 184, 228, 1) 0%, rgba(255, 255, 255, 1) 100%);
                  font-family: "Barlow Condensed", sans-serif; font-size: 29px; font-weight: 600; color: var(--blue); margin-bottom: 20px;}

/* SLICK DOTS ETC */
.slick-arrow   {width: 45px; height: 45px; border-radius: 45px; z-index: 5; background-color: #ffffff; font-size: 0; position: absolute; left: 20px; top: 50px; background-image: url(/_uploads/_assets/slick-next.svg); background-position: center; background-repeat: no-repeat}
.slick-next    {left: auto; right: 20px;}
.slick-prev    {background-image: url(/_uploads/_assets/slick-prev.svg);}

/* TWO COLUMN CAROUSEL */
.two-column-carousel-section  {background-size: cover; background-position: center; padding: 75px 0 120px}

.two-col-carousel-container               {padding: 50px 0; position: relative;}
.two-col-carousel-container .slick-arrow  {top: 50%; transform: translateY(-12px)}
.two-col-carousel-container .slick-prev   {left: 0}
.two-col-carousel-container .slick-next   {right: 0}

.two-col-carousel-container .slick-dots      {display: flex; gap: 18px; font-size: 0; width: 100%; margin-top: 80px; position: absolute; width: 1066px; max-width: 100%; left: 50%; transform: translateX(-50%)}
.two-col-carousel-container .slick-dots li   {flex:1; opacity: 0.45; background-color: #C9CDD1; height: 6px; border-radius: 10px;}
.two-col-carousel-container .slick-dots li.slick-active  {background-color: var(--midBlue); opacity: 1}

.two-col-carousel          {width: 1066px; max-width: calc(100% - 130px); color: #ffffff; margin: 0 auto; position: static}
.two-col-carousel h3       {color: var(--midBlue); font-size: 34px; font-weight: 600; margin-bottom: 0.5em}

.tcc-col-left        {width: 45%; padding-right: 40px;}
.tcc-col-left .btn   {margin-top: 20px;}
.tcc-col-right       {width: 55%;}

/* GRADIENT TEXT SECTION */
.gradient-text-section                 {padding: 0; position: relative;}
.gradient-text-section .cols           {position: relative; z-index: 10}
.gradient-text-section .col-text       {padding:50px 0 50px 67px; color: #212F5A}
.gradient-text-section .col-text h3    {font-size: 26px; font-weight: 600; color: var(--blue); margin-bottom: 1em}
.gradient-text-section .col-text h4    {font-size: 15px; font-weight: 700; font-family: "Open Sans", sans-serif; color: var(--blue);}
.gradient-text-section .col-text ul    {font-size: 15px; line-height: 140%}
.gradient-text-section .col-text ol    {font-size: 15px; margin: 1em; line-height: 140%;}
.gradient-text-section .col-text ul li,
.gradient-text-section .col-text ol li {margin-bottom: 5px;}
.gradient-text-section .col-text p     {font-size: 15px;}

.gradient-text-section .col-text .video-container  {margin-bottom: 40px;}

.gradient-text-section .col-gradient            {width: 40%; padding:50px 80px 50px 90px; position: relative; flex-shrink: 0}
.gradient-text-section .col-gradient h2         {font-size: 41px; font-weight: 600; text-transform: none}
.gradient-text-section .col-gradient p          {font-size: 17px; font-weight: 600; color: #212F5A}
.gradient-text-section .col-gradient .col-inner {position: relative; z-index: 5}

.gradient-text-section .col-gradient:before {background: linear-gradient(0deg, rgba(145, 184, 228, 1) 0%, rgba(255, 255, 255, 1) 100%); position: absolute; width: 4000px; right: 0; top: 0; height: 100%; content: ''; z-index: 1}

/* PROJECTS LISTING */
.project-listing-intro        {padding-top: 50px;}
.project-listing-intro .inner {position: relative;}

.btn-back   {position: absolute; left: 0}

.grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px;}

.project-listing  {padding-bottom: 70px;}
.project-listing .buttons  {margin-top: 70px;}

/* PROJECT PAGE */
.authors-panel {display: flex; flex-direction: column; gap: 20px; margin-top: 40px;}
.author {display: flex; gap: 20px; align-items: center;}
.author img {max-width: 123px; height: auto; background-color: #91B8E4; border-radius: 100%; }
.gradient-text-section .col-text .author h3 {margin-bottom: 0; font-size: 22px;}

/* FOOTER */
footer	{padding: 65px 0}

.footer-top .cols    {display: flex; justify-content: space-between}

.col-sign-up               {width: 43%;}
.sign-up-input             {display: flex; align-items: flex-end; width: 100%; gap: 15px;}
.sign-up-input label       {display: block; margin-bottom: 8px;}
.sign-up-input .form-cell  {display: flex; flex-direction: column; flex: 1; align-items: flex-start;}
.sign-up-input input[type="text"]       {height: 42px; width: 100%; padding: 8px 10px; border-radius: 0 10px 0 10px}
.footer-sign-up            {background-color: #DEE0E3; padding: 40px; text-align: center}
.footer-sign-up h4         {font-weight: 600; font-size: 38px; text-transform: uppercase; color: var(--blue); margin-bottom: 0.25em}
.footer-sign-up .form-field-error {color: #dc3545;}
.footer-captcha-field       {margin-top: 18px; text-align: center}
.footer-captcha-field .g-recaptcha {display: inline-block}

.col-footer-sub-nav                    {display: flex; flex: 1; padding-left: 40px;}
.col-footer-sub-nav .col               {padding: 0 20px; flex: 1; max-width: 100%;}
.col-footer-sub-nav .col:nth-child(2)  {border-left: 1px solid #DEE0E3; border-right: 1px solid #DEE0E3}
.col-footer-sub-nav .col h5            {color: var(--blue); font-size: 20px; font-weight: 600; text-transform: uppercase; margin-bottom: 1em}
.col-footer-sub-nav .col ul            {list-style: none; font-size: 15px; line-height: 125%}
.col-footer-sub-nav .col ul li         {margin-bottom: 20px;}
.col-footer-sub-nav .col ul li a       {text-decoration: none}
.col-footer-sub-nav .col ul li a:hover {color: var(--midBlue);}

.footer-middle                         {border-top:1px solid #DEE0E3; border-bottom: 1px solid #DEE0E3; margin: 40px 0; padding: 35px 0 25px}
.footer-middle ul                      {display: flex; justify-content: center; list-style: none; font-size: 16px; flex-wrap: wrap}
.footer-middle ul li                   {margin-bottom: 10px;}
.footer-middle ul li a                 {text-decoration: none}
.footer-middle ul li a:hover           {color: var(--midBlue)}
.footer-middle ul li:after             {content: '•'; width: 50px; display: inline-block; text-align: center}
.footer-middle ul li:last-child:after  {display: none}

.footer-logos     {display: flex; gap: 20px; justify-content: center}
.footer-logos img {height: 60px; width: auto;}

.follow-list   {display: flex; justify-content: center; align-items: center; gap: 15px; margin-top: 40px;}
.follow-list p {font-size: 16px; font-weight: 700; margin: 0; text-transform: uppercase}

.icon-btn         {width: 35px; height: 35px; border-radius: 35px; background-color: var(--blue); display: inline-flex; justify-content: center; align-items: center;}
.icon-btn svg     {width: 15px;}
.icon-btn:hover   {background-color: #b4a9a3;}

.sign-off         {margin-top: 40px;}
.sign-off ul      {display: flex; justify-content: center; list-style: none; gap: 20px; color: #5d6168; font-size: 12px; flex-wrap: wrap}
.sign-off ul li   {flex-shrink: 0}

/* APPLY NOW FORM */
.apply-form-section                    {padding: 75px 0}
.apply-form-section .cols              {gap: 42px; margin-top: 50px;}
.apply-form-section .col               {flex-shrink: 0}
.apply-form-section .col:nth-child(1)  {width: 60%; max-width: 100%;}
.apply-form-section .col:nth-child(2)  {flex: 1}

.inner-form {max-width: 1060px}
.inner-form .buttons {margin-top: 20px;}
.apply-form-actions {align-items: center; flex-wrap: wrap;}
.apply-submit-status {display: none; align-items: center; gap: 10px; color: var(--blue); font-size: 14px; font-weight: 700;}
.apply-submit-status.is-active {display: inline-flex;}
.apply-submit-spinner {width: 18px; height: 18px; border: 2px solid rgba(33, 47, 90, 0.25); border-top-color: var(--blue); border-radius: 50%; animation: applySubmitSpinner 0.8s linear infinite;}
.apply-form-actions .btn:disabled,
.apply-form-actions .btn.is-disabled {opacity: 0.65; cursor: progress; pointer-events: none;}
.apply-form-actions .btn:disabled:hover,
.apply-form-actions .btn.is-disabled:hover {background-color: var(--blue); color: #ffffff; cursor: progress;}

@keyframes applySubmitSpinner {
   to {transform: rotate(360deg);}
}

/* CV UPLOADER */
.cv-upload           {font-family: Arial, sans-serif; max-width: 400px;}
.hidden-input        {display: none; }
.file-display        {margin-top: 12px; display: none; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid #ddd; border-radius: 4px; background: #f8f9fa;}
.file-name           {flex: 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.remove-file         {background: none; border: none; color: #dc3545; font-size: 20px; cursor: pointer; line-height: 1; padding: 0;}
.remove-file:hover   {color: #a71d2a;}

.btn.attach-btn          {background-color: var(--midBlue); color: var(--blue);}

/* BUTTONS */
.button  {display: flex; gap: 18px; justify-content: center}
.buttons {display: flex; gap: 18px; justify-content: center}

.btn	{background-color: var(--blue); font-size: 14px; color: #ffffff; text-transform: uppercase; text-decoration: none; font-weight: 700; border-radius: 0 10px 0 10px; padding: 13px 15px; display: inline-block}

.btn.btn-white  {background-color: #ffffff; color: var(--blue);}
.btn.btn-grad   {background: linear-gradient(45deg, rgba(238, 244, 251, 1) 0%, rgba(145, 184, 228, 1) 100%); color: var(--blue)}
.btn.btn-grad-2   {background: linear-gradient(-45deg, rgba(238, 244, 251, 1) 0%, rgba(145, 184, 228, 1) 100%); color: var(--blue)}

.btn:hover  {background: #212F5A; color: #ffffff; cursor: pointer;}

/* FORM STYLES */
.form-container      {}
.form-row				{display: flex; gap: 14px; width: 100%; margin-bottom: 20px;}
.form-cell				{display: flex; flex-direction: column; width: calc(50% - 7px); gap: 10px;}
.form-cell label            {font-size: 16px; color: var(--blue); font-weight: 600}
.form-row.full .form-cell  {width: 100%;}

.select-css,
textarea,
input[type="text"]		{font-size: 16px; border-radius: 0 10px 0 10px; background-color: #ffffff; padding: 10px 15px; width: 100%}
input[type="password"]	{}
input[type="submit"]    {}
textarea				      {height: 272px}

/* SELECT CSS */
.select-css				{}

/* LEGACY COOKIE BAR */
.cookieBar              {width: 100%; background-color:rgba(0,0,0,0.5); position: fixed; bottom: 0px; left: 0px; text-align: center; padding: 10px 10px; z-index: 99999999;}
.cookieBar p			{color:#ffffff; font-size:14px; font-family:inherit; line-height:1.5em; text-align:center; display:inline-block;}
.cookieBar .acceptBtn   {background:#000; border:1px solid #DEDEDE; font-weight:bold; display:inline-block; margin-top:6px; margin-left:5px; font-family:inherit; font-size:12px; padding:5px 10px; text-decoration:none; color:#FFF; text-transform:uppercase; }
