/*! HTML5 Boilerplate v9.0.1 | MIT License | https://html5boilerplate.com/ */

/* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1.125em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}
figure {
  margin: 0;
  padding: 0;
}
/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
html {
  /*overflow-x: hidden;*/
}
body {
  font-family: 'Poppins';
  background: #041b38;
  font-weight: 300;
  /*color: #71c3fd;*/
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /*overflow-x: hidden;*/

  background: url("/css/images/background-academy-tile.webp") left top repeat-y;
  background-size: contain;


}

html, body {
  overflow-x: clip;
}
/* PLACEHOLDER STUFF */
::-webkit-input-placeholder { /* WebKit browsers */
  color: #73a7de;
  line-height:normal!important;
  font-family: 'Poppins';
  
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
  opacity: 1;
  font-family: 'Poppins';
  
  color: #73a7de;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
  opacity: 1;
  font-family: 'Poppins';
  
  color: #73a7de;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
  color: inherit;
  font-family: 'Poppins';  
  color: #73a7de;
}
.grecaptcha-badge {
  visibility: hidden;
}

h1,h2,h3,h4,h5,h6 {
  margin: 0;
  font-weight: normal;
}
button,
input,
optgroup,
select,
textarea {
  outline:none;
  border-radius: 0;
  box-sizing: border-box;
}
a {
  color: #fff;
  /*text-decoration: none;*/
  text-decoration-color: #fff;
  text-underline-offset: 3px;
  outline: none;
  font-weight: 600;
}
b,strong {
  font-family: 'Poppins';
  font-weight: 700;
}
img {
  max-width: 100%;
  height: auto !important;
  box-sizing: border-box;
}   
p {
  margin: 0;
  padding: 7px 0;
}
.weight-600 {
  font-weight: 600;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
/* FORM SETTINGS */
.text-common, 
.textarea-common {
	color: #73a7de;
	background: #0f0f10;
	border: 1px solid #3775b5;
	border-radius: 12px;
	padding: 12px 18px;
	width: 100%;
	font-weight: 300;
}
.custom-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  position: relative;
  font-size: 16px;
}
/* Hide default checkbox */
.custom-checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
/* Custom box */
.checkmark {
  width: 24px;
  height: 24px;
  background: #000;               /* black background */
  border: 1px solid #3775b5;      /* blue border */
  border-radius: 4px;
  position: relative;
  transition: all 0.2s ease;
}
/* Hover effect */
.custom-checkbox:hover .checkmark {
  box-shadow: 0 0 6px rgba(70,149,220,0.6);
}
/* When checked */
.custom-checkbox input:checked + .checkmark {
  background: #000;
  border-color: #3775b5;
}
/* Custom checkmark */
.checkmark::after {
  content: "";
  position: absolute;
  display: none;
}
/* Show checkmark when checked */
.custom-checkbox input:checked + .checkmark::after {
  display: block;
}
/* Draw the checkmark */
.checkmark::after {
  left: 8px;
  top: 2px;
  width: 6px;
  height: 12px;
  border: solid #ed1c24; /* blue check */
  border-width: 0 3px 3px 0;
  transform: rotate(35deg);
}



.text-subscriber {
  padding: 6px 10px 6px 2px;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 1px solid #5d5b5c;
  background-color: transparent;
  color: #fff;
}
.label-subscriber {
  color: #5d5b5c;
  display: block;
}
a:active {
  outline: none;
}
.link-no-underline {
  text-decoration: none;
}
.red-pill {
  background: #ed1c24;
  display: block;
  color: #fff;
  font-family: 'font-46';
  text-transform: uppercase;  
  font-size: 22px;  
  letter-spacing: 0.100em;
  text-align: center;  
  padding: 6px 15px;
  border-radius: 32px;
  max-width: fit-content;
}


button {
  outline: none;
}
.button {
  display: inline-block;
	border: 1px solid #ffffff;
	cursor: pointer;
	padding: 12px 50px;
	text-align: center;
	transition: color 0.75s, background-color 0.75s, transform 0.75s;
	background: #000000;
	color: #fff;
	font-family: 'font-46';
  font-weight: 600;
	letter-spacing: 0.100em;
	text-transform: uppercase;
	font-size: 1em;
  text-decoration: none;
}
.button-pill {
  border-radius: 50px;
}
.button:hover,
.button:active,
.button:focus {
	border-color: #ffffff;
	background-color: #ffffff;
	color: #000;
}
.button-one {
	border-color: #3775b5;
	background-color: #0f0f10;
	color: #84c0ff;
}
.button-one:hover,
.button-one:active,
.button-one:focus {
	border-color: #3775b5;
	background-color: #3775b5;
	color: #0f0f10;
}

.button-two {
  border-color: #4292d1;
  background: rgba(0,0,0,0.3);
  color: #4f94cd;
}
.button-two:hover,
.button-two:active,
.button-two:focus {
	border-color: #4292d1;
	background-color: #4292d1;
	color: #000;
}
.button-three {
  border-color: #4192cf;
  background: rgba(0,0,0,0.4);
  color: #84c0ff;
}
.button-three:hover,
.button-three:active,
.button-three:focus {
	border-color: #4192cf;
	background-color: transparent;
	color: #84c0ff;
}
.button-three span::before,
.button-three span::after {
  content: '';
  position: absolute;
  right: -44px;
  width: 100%;
  height: 100%;
  background-size: 30px auto;
  background-position: 100% 50%;
  background-repeat: no-repeat;
  transition: opacity 0.75s ease;
}
/* Default image */
.button-three span::before {
  background-image: url("/css/images/dark-blue-arrow-up-corner.svg");
  opacity: 1;
}
/* Hover image */
.button-three span::after {
  background-image: url("/css/images/red-arrow-up-corner.svg");
  opacity: 0;
}
/* Fade on hover */
.button-three:hover span::after,
.button-three:focus span::after,
.button-three:active span::after {
  opacity: 1;
}

.button-three:hover span::before,
.button-three:focus span::before,
.button-three:active span::before {
  opacity: 0;
}

.button-four {
  border-color: #4192cf;
  color: #7fb9f5;
  background-color: transparent;
}
.button-four:hover,
.button-four:active,
.button-four:focus {
	border-color: #4192cf;
	background-color: transparent;
	color: #7fb9f5;
}
/* Hover image */
.button-four span::before {
  content: '';
  position: absolute;
  background: url("/css/images/red-arrow-left-long.svg") left 50% no-repeat;
  background-size: 26px auto;
  background-position: 8px 50%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  left: -40px;
  top: 0;
  transition: background-position 0.3s linear;
}
.button-four:hover span::before,
.button-four:active span::before,
.button-four:focus span::before {
  background-position: 0px 50%; /* moves arrow right */
}
.standard-link-one span {
  display: inline-block;
  position: relative;
  font-size: 30px;
}
.standard-link-one span::before,
.standard-link-one span::after {
  content: '';
  position: absolute;
  right: -30px;
  width: 100%;
  height: 100%;
  background-size: 20px auto;
  background-position: 100% 50%;
  background-repeat: no-repeat;
  transition: opacity 0.75s ease;
}
/* Default image */
.standard-link-one span::before {
  background-image: url("/css/images/dark-blue-arrow-up-corner.svg");
  opacity: 1;
}
/* Hover image */
.standard-link-one span::after {
  background-image: url("/css/images/red-arrow-up-corner.svg");
  opacity: 0;
}
/* Fade on hover */
.standard-link-one:hover span::after,
.standard-link-one:focus span::after,
.standard-link-one:active span::after {
  opacity: 1;
}

.standard-link-one:hover span::before,
.standard-link-one:focus span::before,
.standard-link-one:active span::before {
  opacity: 0;
}
.standard-link-two span {
  display: block;
  position: relative;
  font-size: 20px;
  padding-right: 20px;
}
.standard-link-two span::before,
.standard-link-two span::after {
  content: '';
  position: absolute;
  right: 0px;
  width: 100%;
  height: 100%;
  background-size: 12px auto;
  background-position: 100% 50%;
  background-repeat: no-repeat;
  transition: opacity 0.75s ease;
}
/* Default image */
.standard-link-two span::before {
  background-image: url("/css/images/light-blue-arrow-up-corner.svg");
  opacity: 1;
}
/* Hover image */
.standard-link-two span::after {
  background-image: url("/css/images/red-arrow-up-corner.svg");
  opacity: 0;
}
/* Fade on hover */
.standard-link-two:hover span::after,
.standard-link-two:focus span::after,
.standard-link-two:active span::after {
  opacity: 1;
}
.standard-link-two:hover span::before,
.standard-link-two:focus span::before,
.standard-link-two:active span::before {
  opacity: 0;
}
.standard-link-three span {
  display: inline-block;
  position: relative;
  font-size: 18px;
}
.standard-link-three span::before{
  content: '';
  position: absolute;
  right: -20px;
  width: 100%;
  height: 100%;
  background-size: 12px auto;
  background-position: 100% 50%;
  background-repeat: no-repeat;
  transition: opacity 0.75s ease;
}
/* Default image */
.standard-link-three span::before {
  background-image: url("/css/images/red-arrow-up-corner.svg");
  opacity: 1;
}









.standard-link {
  color: #84c0fe;
  text-decoration: none;
  position: relative;
  font-weight: 300;
}
.underline::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 300ms cubic-bezier(.4,0,.2,1);
}
.underline:hover::after, 
.underline:active::after, 
.underline:focus::after {
	transform: scaleX(1);
	transform-origin: left;
}
.learnmore {
  position: relative;
  text-decoration: none;
  color: #84c0ff;
  margin-left: 40px;
  font-weight: 600;
  font-size: 17px; 
}
.learnmore::before {
  content: '';
  position: absolute;
  background: url("/css/images/red-arrow-right-long.svg") left 50% no-repeat;
  background-size: 26px auto;
  width: 100%;
  height: 100%;
  left: -40px;
  top: 0;
  transition: background-position 0.3s linear;
}
.learnmore:hover:before,
.learnmore:active:before,
.learnmore:focus:before {
  background-position: 8px 50%; /* moves arrow right */
}
.learnmore::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;    
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 300ms cubic-bezier(.4,0,.2,1);
}
.learnmore:hover::after,
.learnmore:active::after,
.learnmore:focus::after {
  transform: scaleX(1);
  transform-origin: left;
  transition-delay: 0.3s; /* wait for arrow to move */
}

.chevronlink {
	font-family: 'font-46';
  font-weight: 600;
  color: #7ec0fd;
  text-decoration: none;
  position: relative;
  font-size: 1.375em;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.050em;
}
@media (max-width: 600px) {
  .chevronlink {
    font-size: 1.175em;
  }
}
.chevronlink::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: -15px;          /* initial position */
  width: 10px;
  height: 10px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #ec2027;
  transform: translateY(-50%) rotate(45deg); /* vertically center + rotate */
  transition: right 0.3s linear;           /* smooth move */
}
/* Move chevron 10px right on hover */
.chevronlink:hover::after,
.chevronlink:active::after,
.chevronlink:focus::after {
  right: -26px;
}



/* CONTAINER WIDTHS */
.container-1300 {
  max-width: 1300px;
  margin: 0 auto;
}
.wrapper-1400 {
	max-width: 1400px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}
.wrapper-1280 {
	max-width: 1280px;
	margin: 0 auto;
	padding-left: 35px;
	padding-right: 35px;
}
.wrapper-1180 {
	max-width: 1180px;
	margin: 0 auto;
	padding-left: 35px;
	padding-right: 35px;
}
.wrapper-1024 {
	max-width: 954px;
	margin: 0 auto;
	padding-left: 35px;
	padding-right: 35px;
}
@media (max-width: 1024px) {
  .wrapper-no-padding-mobile {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 1280px) {
 .wrapper-1180 {
	  padding-left: 0;
	  padding-right: 0;
  }  
}
@media (min-width: 1180px) {
 .wrapper-1180 {
	  padding-left: 0;
	  padding-right: 0;
  }  
}

/* PLUS MINUS ICON SPINNY THINGS */
.plusMinus {
  display: block;
  cursor: pointer;
  position: absolute;
  width: 24px;
  height: 24px;
  top: 14px;
  right: 5px;
  transform: translate(0%, -50%) rotate(0deg);
  border-radius: 50%;
  z-index: 2;
  transition: 0.4s cubic-bezier(0.2, 0.6, 0.3, 1.1);
}
.plusMinus.clicked {
  transform: translate(0%, -50%) rotate(360deg);
}
.plusMinus::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 2px;
  width: 75%;
  background: currentColor;
}
.plusMinus::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 75%;
  width: 2px;
  background:currentColor;
}
.plusMinus.clicked::before {
  width: 0;
}

/* START: MAIN NAVIGATION */
.header a,
header a {
  font-weight: 300;
}
.header {
  display: none;
  background-color: #0d2e49;
  padding: 15px 0 10px;
  position: relative;
}
.header-wrapper {
  /*2555 / 2*/
  max-width: calc(2555px/2);
  margin: 0 auto;
  position: relative;
}
ul.main-menu {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  justify-content: flex-end;
}
ul.main-menu li {
  padding-left: 15px;
  padding-right: 15px;
}
ul.main-menu li a {
  color: #84c0ff;
  text-decoration: none;
  font-size: 16px;
}
ul.social-links::before {
  content: '';
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #33587d;
  left: -7px;
  top: 0;
}
ul.social-links {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  justify-content: center; /* horizontal */
  align-items: center;     /* vertical */
  position: relative;
}
ul.social-links span {
  color: #538ac4;
  text-transform: uppercase;
  font-weight: 700;
  display: block;
  font-size: 15px;  
}
ul.social-links li.col-one {
  padding-right: 0;
}
ul.social-links li.col-two {
  padding-left: 0;
}
ul.header-socials {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex; 
  justify-content: center; /* horizontal */
  align-items: center;     /* vertical */ 
}
ul.header-socials li {
  padding-left: 10px;
  padding-right: 10px;
}
ul.header-socials svg {
  width: 18px;
  height: 18px;
  transition: color 300ms ease-in-out;
  color: #84c0ff;
}
ul.header-socials svg:hover {
  color: #ffffff; 
}
button.mobSearch {
  border: 0 none;
	background: url("/css/images/icon-search.svg") center center no-repeat;
	background-size: 22px;
	width: 40px;
	height: 40px;
	text-align: left;
  text-indent: -99em;	
  cursor: pointer;
  display: block;
	font-size: 1em;
	position: absolute;
	right: 80px;
  top: 8px;
	z-index: 1;
  opacity: 1;
  transition: opacity 0.25s ease;
}
button.mobSearch span {
  position: relative;
  display: block;
}
button.mobSearch.fade-out {
  opacity: 0;
  pointer-events: none; /* prevents clicking while hidden */
}
button.mobSearch span::after {
  content: '';
  position: absolute;
  top: -5px;
  right: -12px;
  width: 1px;
  height: 30px;
  background: #84c0ff;
}
/* HAMBURGER MENU */
button.mobMenu {
	appearance: none;
	background: none;
	box-shadow: none;
	border-radius: none;
	border: none;
	cursor: pointer;
  display: block;
	font-size: 1em;
	height: 46px;
	position: absolute;
	overflow: hidden;
	right: 20px;
  top: 24px;
  margin-top: -20px;
	width: 31px;
	text-indent: -99em;
	transition: background 0.3s;
	-webkit-transition: background 0.3s;
	-webkit-appearance: none;
	-moz-appearance: none;
	z-index: 2;
}
button.mobMenu:focus {
  outline: none;
}
button.mobMenu span {
	background: #fff;
	display: block;
	height: 3px;
	left: 0;
	position: absolute;
	top: 23px;
	right: 0;
	
}
button.mobMenu span::before,
button.mobMenu span::after {
	background-color: #fff;
	content: "";
	display: block;
	height: 3px;
	left: 0;
	position: absolute;	
	width: 100%;
}
button.mobMenu span::before {
	top: -8px;
}
button.mobMenu span::after {
  bottom: -8px;  
}
/**
 * Style 2
 * 
 * Hamburger to "x" (htx). Takes on a hamburger shape, bars slide
 * down to center and transform into an "x".
 */
 button.mobStyle span {
  -webkit-transition: background 0s 0.3s;
  transition: background 0s 0.3s;
}
button.mobStyle span::before,
button.mobStyle span::after {
  -webkit-transition-duration: 0.3s, 0.3s;
  transition-duration: 0.3s, 0.3s;
  -webkit-transition-delay: 0.3s, 0s;
  transition-delay: 0.3s, 0s;
}
button.mobStyle span::before {
  -webkit-transition-property: top, -webkit-transform;
  transition-property: top, transform;
}
button.mobStyle span::after {
	-webkit-transition-property: bottom, -webkit-transform;
	transition-property: bottom, transform;
}
button.mobStyle.active span {
  	background: none;
}
button.mobStyle.active span::before {
	top: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
button.mobStyle.active span::after {
	bottom: 0;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  width: 100%;
}
button.mobStyle.active span::before,
button.mobStyle.active span::after {
	-webkit-transition-delay: 0s, 0.3s;
	transition-delay: 0s, 0.3s;
}

.logo-wrapper {
  position: absolute;
	left: 30px;
	top: 10px;
  width: 45px;
  height: 35px;
  z-index: 2;
  transition: transform 0.35s ease;
}



/*******************************************************
********************************************
*******************************************/

/* ===== BASE ===== */
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;  
}
nav ul li a {
  text-decoration: none;
  font-family: 'font-46';
  letter-spacing: 0.050em;
  text-transform: uppercase;
}
/* ===== DESKTOP ===== */
@media (min-width: 960px) {
  button.mobMenu {
    display: none;
  }
  button.mobSearch {
    display: none;
  }
  .header {
    display: block;
    z-index: 2;
  }
  header {
    display: block;
    background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgb(0, 0, 0) 100%);
    transition: transform 0.3s ease;
    min-height: 78px;
    transform: translateY(0); /* slide in when sticky */
    z-index: 2;
    position: relative;
    width: 100%;
    
  }
  header nav ul li a {
    transition: font-size 0.3s ease;
  }
  
  .logo-wrapper {
    position: absolute;
    left: 18px;
    width: 60px;
    height: 63px;
  }
  nav ul {
    background: none;
    display: flex;
    justify-content: center;
    padding: 0;
    min-height: 78px;
    align-items: center;
  }
  nav ul li {
    padding: 0 20px;
  }
  nav ul li a {
    color: #84c0ff;
    font-size: 1em;
    letter-spacing: 0.090em;
    text-decoration: none;
    position: relative;
  }
  nav ul li.menu a::after {
    position: absolute;
    height: 4px;
    width: 100%;
    background: #ed1c24;
    content: '';
    left: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
    -moz-transition: opacity 0.3s, -moz-transform 0.3s;
    transition: opacity 0.3s, transform 0.3s;
    -webkit-transform: translateY(14px);
    -moz-transform: translateY(14px);
    transform: translateY(14px);
  }
  nav ul li.menu:hover a::after {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    transform: translateY(0px);
  }
  header.sticky {
    position: fixed;
    transform: translateY(0); /* slide in when sticky */
    top: 0;
  }
  header.sticky nav {
    background-color: #051c39;
  }
  header.sticky nav ul li a {    
    font-size: 1em;    
  }
  header.sticky .logo-wrapper {
    transform: translateX(75px) translateY(-10px) scale(0.80);
  }
  header.sticky .menu-search {
    width: 94%;
  }
  li.last-link {
    display: none;
  }
  li.menu:nth-last-child(2)::after {
    content: '';
    position: absolute;
    background: #84c0ff;
    width: 1px;
    height: 30%;
    top: 50%;
    right: 0;
    transform: translateY(-50%)
  }
  ul.master-menu li.master-block > a > .plusMinus {
    display: none;
  }
}

/******************************
*********************************
********************************/


@media only screen and (min-width: 75em) { /* 1200 */
  nav ul li a {
    font-size: 1.25em;
  }
  .logo-wrapper {
    left: 10px;
    width: 90px;
  }
}

/*END NAVIGATION STUFF*/



li.search {
  align-items: center;
  display: flex;

}
.link-search {
  display: inline-block;
  background: url("/css/images/icon-search.svg") center center no-repeat;
  background-size: 20px;
  width: 20px;
  height: 20px;
  text-align: left;
  text-indent: -99em;
  overflow: hidden;
  position: relative;
  top: 3px;
}
li.menu {
  position: relative;
}

li.search form label {
  display: none;
}
li.search form {
  width: 0%;
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%; 
  transform-origin: right;  /* where it grows from */
  transform: scaleX(0);     /* start collapsed */
  transition: transform 0.5s ease, opacity 0.4s ease;
  opacity: 0;
}
li.search.opacity form {
  opacity: 1;
}
li.search.sizeacity form {
  width: 90%;
  transform: scaleX(1);     /* full width */ 
}





.menu-search {
  color: rgba(255,255,255,0); /* hide text initially */
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  right: 0;  
  border-radius: 32px;
  padding: 10px 145px 10px 25px;
  margin: 0;
  border: 1px solid transparent;
  /* inner background + gradient border */
  background:
    linear-gradient(#000, #000) padding-box,
    linear-gradient(135deg, #004c93, #1a5894, #84c0ff, #004c93,#84c0ff,#004c93) border-box;
  background-size: 100% 100%, 200% 200%;
  background-position: 0 0, 0% 50%;
  transition: background-position 0.6s ease, box-shadow 0.25s ease, transform 0.2s ease, color 0.4s ease;
}
.menu-search:focus {
  background-position: 0 0, 100% 50%;
  box-shadow:
    0 0 0 1px rgba(132,192,255,0.15),
    0 2px 10px rgba(0,76,147,0.25);
  transform: translateY(-50%);
}
li.search.open .menu-search {
  color: rgba(255,255,255,1);
}
/* placeholder fallback for browsers */
.menu-search::placeholder {
  color: rgba(255,255,255,0);
  transition: color 0.4s ease;
  text-align: center;
}
li.search.open .menu-search::placeholder {
  color: rgba(255,255,255,1);
}
.menu-reset {
  background: url("/css/images/icon-button-reset.svg") center no-repeat;
  position: absolute;
  z-index: 1;
  right: 100px;
  top: 50%;
  bottom: 0;
  color: #fff;
  width: 30px;
  height: 100%;
  border: 0 none;
  text-align: left;
  text-indent: -99em;
  overflow: hidden;
  transform: translateY(-50%);
}

/* SECOND MENU CONTAINERS */
div.secondMenuContainer {
	border: 1px solid #1979dd;
	position: absolute;
	background: #000;
	left: 0;
	width: 100%;
	z-index: 2;
	border-radius: 22px;
  padding: 10px 20px;
	overflow: hidden;	
  opacity: 0;
	visibility: hidden;
	transition: visibility 0.3s, opacity 0.3s, transform 0.3s;
	transform: translateY(24px);
	-moz-transition: visibility 0.3s, opacity 0.3s, -moz-transform 0.3s;
	-moz-transform: translateY(24px);
	-webkit-transition: visibility 0.3s, opacity 0.3s, -webkit-transform 0.3s;
	-webkit-transform: translateY(24px);
	box-shadow: 3px 3px 18px 0px rgba(0,0,0,0.26);
	-webkit-box-shadow: 3px 3px 18px 0px rgba(0,0,0,0.26);
	-moz-box-shadow: 3px 3px 18px 0px rgba(0,0,0,0.26);
  width: max-content;
}
ul.master-menu li.master-block > a {
  padding-top: 25px;
  padding-bottom: 25px;
  display: block;
}
/*
ul.master-menu {
 align-items: stretch;
}
ul.master-menu li.master-block {
  display: flex;
  align-items: center;
}
*/
ul.master-menu li.has-secondmenu:hover > div.secondMenuContainer {
	opacity: 1;
	transform: translateY(0px);
	visibility: visible;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
}
ul.secondMenu {
  flex-direction: column;
  text-align: left;
  justify-content: left;
  align-items:start;
}
ul.secondMenu li {
  border-bottom: 1px solid #0d3d6f;
  width: 100%;
  padding: 4px 0;
}
ul.secondMenu li:last-child {
  border-bottom: 0 none;
}
ul.secondMenu li a {
  text-transform: none;
  font-family: 'Poppins';
  letter-spacing: 0;
  display: block;
  font-size: 16px;
  padding-left: 5px;
  padding-right: 7px;
}
nav ul li.menu ul.secondMenu li a::after {
  height: 0;
  background:transparent;
}

.menu-blur-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);   /* 40% dark overlay */
  backdrop-filter: blur(6px);    /* blur background */
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
  z-index: 1;
}
body:has(.has-secondmenu:hover) .menu-blur-overlay,
body:has(.has-thirdmenu:hover) .menu-blur-overlay {
  opacity: 1;
}
/* THIRD MENU CONTAINERS */
li.has-thirdmenu {
  position: inherit;
}
div.thirdMenuContainer {
	position: absolute;
	background: #000;
	left: 0;
	width: 100%;
	z-index: 2;
	opacity: 0;
	visibility: hidden;
	transition: visibility 0.3s, opacity 0.3s, transform 0.3s;
	transform: translateY(24px);
	-moz-transition: visibility 0.3s, opacity 0.3s, -moz-transform 0.3s;
	-moz-transform: translateY(24px);
	-webkit-transition: visibility 0.3s, opacity 0.3s, -webkit-transform 0.3s;
	-webkit-transform: translateY(24px);
	box-shadow: 3px 3px 18px 0px rgba(0,0,0,0.26);
	-webkit-box-shadow: 3px 3px 18px 0px rgba(0,0,0,0.26);
	-moz-box-shadow: 3px 3px 18px 0px rgba(0,0,0,0.26);
}
div.thirdMenuContainer:before {
  content: "";
  border-top: 1px solid #1979dd;
  border-bottom: 1px solid #1979dd;
  position: absolute;
  inset: 0;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: inherit;
  z-index: -1;
}
ul.master-menu li.has-thirdmenu:hover > div.thirdMenuContainer {
	opacity: 1;
	transform: translateY(0px);
	visibility: visible;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
}
.three-column-container {
  display: grid;
  grid-template-columns: 8% 46% 46%;
  gap: 20px;
}
.three-column-container .three-column-container-col-one {
  padding: 20px;
  border-right: 1px solid #1979dd;  
}
.vertical-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.vertical-label span {
  writing-mode: sideways-lr;
  text-orientation: mixed;
  letter-spacing: 0.040em;
  font-family: 'font-46';
  font-weight: 600;
  font-size: 40px;
  text-transform: uppercase;
  color: #195089;
}
.icon {
  width: 65px;
  height: 65px;
}

/*********************************
START OF MIDDLE NAV
******************************/
/* Base container */
.navigation-container {
  margin-top: 60px;
  position: relative;
  margin-right: 40px;
}

/* Third menu: horizontal or vertical depending on your layout */
.thirdMenu {
  list-style: none;
  margin: 0;
  padding: 0;
  flex-direction: column;
  align-items: start;
}

.thirdMenu > li {
  position: inherit; /* needed for absolute submenu */
  width: 100%;
}

/* Links in third menu */
.thirdMenu > li > a {
  display: block;
  padding: 4px 0px;
  color: #fff;
  text-decoration: none;
  font-family: 'Poppins';
  font-weight: 700;
  letter-spacing: 0;
  font-size: 22px;
  width: 100%;         /* adjust as needed */
  text-align: left;   /* optional, center text */
  box-sizing: border-box;
  overflow: hidden;
}
.thirdMenu > li > a span {
  display: inline-block;
  position: relative;
  padding-right: 10px;
  font-size: 22px;
}
nav ul li.menu .thirdMenu > li > a:after {
  background: transparent;
}
nav ul li.menu .thirdMenu > li > a span:after {
  content: '';
  height: 1px;
  width: 0;
  background: #f00;
  position: absolute;
  left: 100%;
  top: 50%;
  opacity: 0;
  transition: width .750s ease, opacity 0.3s ease;  
}

nav ul li.menu .thirdMenu > li > a:before {
  content: '';
  height: 1px;
  width: 235px;
  background: #000;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  z-index: 2;
}
nav ul li.menu .thirdMenu > li:hover > a span:after,
nav ul li.menu .thirdMenu > li.focused > a span:after {
  width: 230px;
  opacity: 1;
}

nav ul li.menu .thirdMenu > li > a:hover:after {
	opacity: 1;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	transform: translateY(0px);
}
/* Hide sideMenu initially */
.sideMenu {
  position: absolute;
  top: 4px;
  right: 0;        /* position it to the right of parent li */
  min-width: 210px;  /* adjust width */
  z-index: 100;
  opacity: 0;
  transform: translateX(200px);  /* start slightly right */
  transition: opacity 0.25s ease 0.350s, transform 0.25s ease 0.350s;
}
/* Second menu styling */
.secondMenu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.thirdMenu > li:hover > .sideMenu,
.thirdMenu > li.focused > .sideMenu {
  display: block;
  opacity: 1;
  transform: translateX(0);     /* slide to position */
}

/************************************
**************************************/

/* last column*/
.three-column-container-col-three {
  padding-top: 10px;
  padding-bottom: 40px;
}
.three-column-container-col-three img {
  max-width: 360px;
}

@media (max-width: 900px) {
  .three-column-container {
    grid-template-columns: 1fr;
  }
}

/* ===== MOBILE DRAWER ===== */
@media (max-width: 959px) {
  .header-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2rem;
    transition: transform 0.3s ease;
    min-height: 24px; 
  }
  nav {
    position: relative;
    z-index: 1000;
  }
  /* Full-screen overlay with blur */
  nav ul {
    position: fixed;
    inset: 0;
    background: rgba(2,18,37,0.85);
    backdrop-filter: blur(10px);
    display: flex;
    flex-direction: column;
    align-items: left;
    gap: 0.5rem;
    transform: translateX(-100%); /* Left side */
    transition: transform 0.45s cubic-bezier(.4,0,.2,1);
	  list-style-type: none;
    padding-left: 35px;

    /* 👇 scrolling */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 4rem 2rem; /* room for logo/header */
  }

  nav.nav-open ul {
    transform: translateX(0);
  }

  /* Menu item animation */
  nav ul li {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.35s ease, transform 0.35s ease;
    transition-delay: calc(0.08s * var(--i));
  }
  nav.nav-open ul li {
    opacity: 1;
    transform: translateY(0);
  }
  nav ul li a {
    color: #84c0ff;
    font-size: 2em;
    display: block;
    padding: 4px 0;
    line-height: 1.2;
    text-decoration: none;
  }

  /* Logo animation */
  nav.nav-open .logo-wrapper {
     transform: scale(1.4);
     top: 14px;
  }
  ul.master-menu li.master-block > a {
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
    position: relative;
  }
  ul.master-menu li.master-block > a > .plusMinus {
    top: 30px;
    right: -40px;
  }
  /* THIRD MENU CONTAINERS */
  li.has-thirdmenu {
    position: relative;
  }
  nav ul li a {
    letter-spacing: 0.010em;
    font-size: 34px;
  } 
  nav ul {
    justify-content: start;
  }
  li.top-menu ul {
    backdrop-filter: unset;
    position: relative;
    background: transparent;
    align-items: start;
  }
  li.top-menu ul.main-menu {
    border-top: 1px solid #4c6e92;
    padding-top: 10px;
  }
  li.top-menu ul li {
    padding: 0;
    width: 100%;
  }
  li.top-menu ul li ul.header-socials {
    display: flex;
    flex-direction: row;
    justify-content: left;
  }
  li.top-menu ul li ul.header-socials li {
    width: auto;
    padding-right: 30px;
  }
  nav ul li.top-menu a {
    font-family: 'Poppins';
    letter-spacing: 0;
    text-transform: none;
    font-size: 22px;
    padding-top: 3px;
    padding-bottom: 3px;
  }
  li.top-menu ul.social-links span {
    color: #ed1c24;
    font-size: 17px;
  }
  li.top-menu ul.social-links {
    border-top: 1px solid #4c6e92;
    padding-top: 14px;
  }
  li.top-menu ul.header-socials svg {
    width: 30px;
    height: 30px;
    color: #fff;
  }
  li.top-menu ul.second-social {
    border-top: 0 none;
    padding-top: 18px;
  }
  nav ul.secondMenu {
    position: relative;
    background: transparent;
    backdrop-filter: unset;
    gap: 0;
  }
  ul.secondMenu li a span {
    font-size: 22px;
    padding-left: 5px;
    padding-right: 7px;
  }
  ul.secondMenu li a.standard-link-two span::before, 
  ul.secondMenu li a.standard-link-two span::after {
    background-size: 16px auto;
  }
  div.secondMenuContainer {
    border: 0 none;
    background: transparent;
    /* border: 1px solid #1979dd; */
    position: relative;
    opacity: 1;
    visibility: visible;
    box-shadow: none;
    width: auto;
    transform: translateY(0);
    
  }

  /* THIRD MENU */
  .three-column-container .three-column-container-col-one,
  .three-column-container-col-three {
    display: none;
  }
  div.thirdMenuContainer {
    border: 0 none;
    background: transparent;
    /* border: 1px solid #1979dd; */
    position: relative;
    opacity: 1;
    visibility: visible;
    box-shadow: none;
    width: auto;
    transform: translateY(0);
  }
  div.thirdMenuContainer::before {
    content: "";
    border-top: 0 none;
    border-bottom: 0 none;
  }
  nav ul.thirdMenu {
    position: relative;
    background: transparent;
    backdrop-filter: unset;
    padding-left: 25px;
  }
  .navigation-container {
    margin-top: 0px;    
    margin-right: 0px;
  }
  .sideMenu {
    position: relative;
    top: 0;
    right: 0;
    min-width: 210px;
    z-index: 1;
    opacity: 1;
    transform: translateX(0px);
    padding-left: 25px;
  }
  nav ul li.menu .thirdMenu > li > a::before {
    content: '';
    width: 0;
    background: transparent;
  }
  /* RED SOLID LINE */
  nav ul li.menu .thirdMenu > li > a span {
    padding-right: 15px;
  }
  nav ul li.menu .thirdMenu > li > a span::after {
    content: '';
    height: 8px;
    width: 8px;
    background: transparent;
    position: absolute;
    right: -4px; /* adjust to keep arrow aligned */
    top: 50%;
    opacity: 1;
    transition:none;
    border-right: 2px solid #ed1c24;
    border-bottom: 2px solid #ed1c24;
    transform: translate(-50%, -50%) rotate(45deg); /* center rotation */
    transform-origin: center;      /* rotate around the center */
    transition: transform 0.3s ease; /* add smooth rotation */
  }
  nav ul li.menu .thirdMenu > li > a.clicked-open span::after {
    transform: translate(-50%, -50%) rotate(225deg);
  }
  nav ul li.menu .thirdMenu > li:hover > a span::after, 
  nav ul li.menu .thirdMenu > li.focused > a span::after {
    width: 8px;
    opacity: 1;
  }
  div.secondMenuContainer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.7s ease, opacity 0.5s ease;
    opacity: 1;
    visibility: visible;
    padding-top: 0;
    padding-bottom: 0;    
  }
  div.thirdMenuContainer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.7s ease, opacity 0.5s ease;
  }
  div.sideMenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.7s ease, opacity 0.5s ease;
    opacity: 1;
    visibility: visible;
  }
  header {
    background-color: #021225;
    border-bottom: 1px solid #15365e;
  }
  header.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 3;
  }

  header {
    transition: transform 0.3s ease-in-out;
  }

  header.scroll-up-hide {
    transform: translateY(-100%);
  }

  header.scroll-down-show {
    transform: translateY(0);
  }




  /* SEARCH CONTAINER STUFF WITHIN MOBILE */
  li.search {
    display: none;
  }
  .searchContainerMenu {

    position: fixed;
    inset: 0;
    background: rgba(2,18,37,0.85);
    backdrop-filter: blur(10px);
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    align-items: left;
    gap: 0.5rem;
    transform: translateX(-100%);
    transition: transform 0.45s cubic-bezier(.4,0,.2,1);
    list-style-type: none;
    padding-left: 35px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 2rem 2rem;
    z-index: 3;
    margin-top: 55px;
  }
  .searchContainerMenu.open {
    transform: translateX(0);
  }
  .searchContainerMenu form label {
    display: block;
    font-family: 'font-46';
    text-transform: uppercase;
    font-size: 40px;
    color: #84c0ff;
    padding-bottom: 14px;
  }
  .searchContainerMenu form {
    width: 100%;
    position: relative;
    opacity: 1;
    transform: none;
  }
  .searchContainerMenu .menu-search {
    left: -2%;
    top: 0;
    position: relative;
    width: 104%;
    transform: none;
    color: #84c0ff;
    padding: 10px 2% 10px 25px;

  }
  .searchContainerMenu .menu-search:focus {
    transform: none;
  }
  .searchContainerMenu .menu-reset {    
    right: 18px;
    width: 30px;
    height: 30px;
    top: 100%;
    transform: translateY(0);
    margin-top: -38px;
  }
  .searchContainerMenu .menu-search::placeholder {
    color:currentColor;
    text-align: left;    
  }
  .searchContainerMenu .link-search {
    display: inline-block;
    background: none;
    font-family: 'Poppins';
    font-weight: 700;
    width: max-content;
    height: auto;
    text-align: left;
    text-indent: 0;
    font-size: 22px;
    text-transform: none;
    position: relative;
    text-decoration: none;
    color: #84c0ff;
    margin-top: 20px;
    padding-left: 40px;
  }
  .searchContainerMenu .link-search::before {
    content: '';
    position: absolute;
    background: url("/css/images/red-arrow-right-long.svg");
    background-repeat: no-repeat;
    background-position: center center;
    width: 30px;
    height: 100%;
    left: 0;
  }
   









}




/* END: MAIN NAVIGATION */

/* START: SLIDES */
.sliderSection {
  /*background: url("/css/images/slider-background-mobile.webp") 50% 100% no-repeat;
  background-size: contain;*/
}
.sliderContainer {
  /*padding-top: 55px;*/
  position: relative;
  /*padding-bottom: 65px;*/
}
ul.sliderCarousel {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.full-border-radius {
  border-radius: 160px;
}
@media (max-width: 767px) {
  .full-border-radius {
    border-radius: 90px;
  }
}
.top-right-radius {
  border-top-right-radius: 0;
}
.top-left-radius {
  border-top-left-radius: 0;
}
.bottom-right-radius {
  border-bottom-right-radius: 0;
}
.bottom-left-radius {
  border-bottom-left-radius: 0;
}
.slideIntro {
  border-left: 5px solid #ed1c24;
  padding-left: 20px;
  padding-top: 15px;
  padding-bottom: 15px;
  max-width: 330px;
  margin-left: 30px;
  margin-right: 30px;
  margin: 0 auto;
}
.slideIntro h2 {
  font-family: 'font-46';
  font-size: 2.125em;
  line-height: 1.2em;
  text-transform: uppercase;
  color: #fff;
}
ul.slidePictureText {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
/* ================================
   SLIDE INTRO CONTAINER
================================ */

/* hidden start position */
.slideIntro {
  opacity: 0;
  transform: translateX(-120px);
  transition:
    opacity .6s ease,
    transform .8s cubic-bezier(.22,.61,.36,1);
}

/* active (slide in from left) */
.slideIntro.animate {
  opacity: 1;
  transform: translateX(0);
}

/* fade out only (no movement) */
.slideIntro.fade-out {
  opacity: 0;
  /*transform: translateX(0);*/
  transition: opacity .35s ease; /* faster exit */
}


/* ================================
   TEXT ANIMATION
================================ */

/* base hidden state */
.slideIntro h2,
.slideIntro .slideTextIntro,
.slideIntro .slideLinkIntro {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity .65s ease,
    transform .65s ease;
}

/* visible state */
.slideIntro.animate h2,
.slideIntro.animate .slideTextIntro,
.slideIntro.animate .slideLinkIntro {
  opacity: 1;
  transform: translateY(0);
}

/* cleaner stagger per element */
.slideIntro.animate h2 { transition-delay: .65s; }
.slideIntro.animate .slideTextIntro  { transition-delay: .95s; }
.slideIntro.animate .slideLinkIntro  { transition-delay: 1.25s; }



/* STYLING OF PREVIOUS NEXT BUTTONS FOR THIS SLIDER AND HOVER BUTTONS ON SLIDER */
.homeSliderNavigationControls ul.homecontrolcontainer {
  top: 20%;
}
.homeSliderNavigationControls ul.controlcontainer li button::after {
  border-color: #95c9ff;
  border-style: solid;
  border-width: 2px 2px 0 0;
  height: 12px;
  width: 12px;
}
.homeSliderNavigationControls ul.controlcontainer li button {
  border: 0 none;
  width: 40px;
  height: 40px;
  background: #173c5e;
  opacity: 1;
  border-radius: 6px;
}
.homeSliderNavigationControls ul.controlcontainer li:first-child button {
  left: 1px;
}
.homeSliderNavigationControls ul.controlcontainer li:last-child button {
  right: 1px;
}
/* Show next button when hovering right half */
.homeSliderNavigationControls ul.controlcontainer li button.show {
  opacity: 1;
  pointer-events: auto;
}
ul.homeSliderNavigationControls ul.controlcontainer li:first-child button.show {
  transform: translateX(100%) translateY(0%);
}
/* Right button off-screen initially */
ul.homeSliderNavigationControls ul.controlcontainer li:last-child button.show {
  transform: translateX(-100%) translateY(0%);    
}
.homeSliderNavigationControls ul.controlcontainer li[aria-disabled="true"] button.show {
  filter: grayscale(100%);
  opacity: 0.3;
}
/* STYLING OF THE NAVIGATION BUTTONS AT THE BOTTOM, THE PRETTY CIRCLES */
.homeSliderCarouselContainer .homesliderpaginationcontrols button {
	background-color: #183456;
  border-color: #183456;
	width: 20px;
	height: 20px;
	padding: 10px;
	border-radius: 50%;	
	cursor: pointer;
	position: relative;
}
.homeSliderCarouselContainer .homesliderpaginationcontrols button.tns-nav-active span {
	background-color: #489ce8;
}

@media only screen and (min-width: 600px) {
  .slideIntro {
    margin-top: 5px;
    max-width: 430px;
  }
}
@media only screen and (min-width: 768px) {
  .sliderSection {
    /*
    background: url("/css/images/slider-background.webp") 0% 0% no-repeat;
    background-size: cover;
    */
  }
  div.sliderCarouselPrevNextContainer {
    top: 40%;
  }
  .sliderContainer {
    padding-top: 75px;
  }

  ul.slidePictureText {
    display: flex;
    flex-wrap: no-wrap;
    flex-direction: row-reverse;
  }
  .slidePictureColumn {
    width: 60%;
  }
  .slideTextColumn {
    width: 40%;
    align-content: center;
    padding-left: 8%;
    padding-right: 2%;
  }
  .slideIntro {
    max-width: 330px;
  }
  .homeSliderNavigationControls ul.homecontrolcontainer {
    top: 34%;
  }
  .homeSliderNavigationControls ul.controlcontainer li:first-child button {
    left: 10px;
  }
  .homeSliderNavigationControls ul.controlcontainer li:last-child button {
    right: 10px;
  }
}
@media only screen and (min-width: 60em) {
  .homeSliderNavigationControls ul.controlcontainer li button {
    opacity: 0;
  }
  .slideIntro {
    border-left-width: 7px;
    padding-left: 24px;
  }
  .slideIntro h2 {
    font-size: 2.5em;
  }
  .slideTextIntro {
    max-width: 392px;
  }
  .sliderCarouselPrevNextContainer .sliderButtonNext, 
  .sliderCarouselPrevNextContainer .sliderButtonPrevious {
    width: 60px;
    height: 60px;
  }
}
@media only screen and (min-width: 1200px) {
  .slideIntro {
    max-width: 435px;
  }
  .slideIntro h2 {
    font-size: 3.75em;
  }
  .slideTextIntro {
    max-width: 392px;
  }
  .slideTextIntro {
    font-size: 1.2em;
    max-width: 392px;
  }
  .sliderContainer {
    /*padding-bottom: 75px;  */
  }
}
@media only screen and (min-width: 1400px) {
  .homeSliderNavigationControls ul.homecontrolcontainer {
    top: 50%;
  }
}

.megasection {
  /*
  background: url("/css/images/slider-background-mobile.webp") 0% 22% no-repeat;
  background-size: 100% auto;
  */
  background: url("/css/images/slider-background-mobile.webp") 69% 12% no-repeat;
  background-size: 700px auto;
}
@media only screen and (min-width: 768px) {
  .megasection {
    background: url("/css/images/slider-background.webp") 0% 0% no-repeat;
    background-size: contain;
    position: relative;
    /*z-index: -1;*/
    margin-top: -74px;
  }
}

/* END: SLIDES */

/* START: RECOVER TRAIN PERFORM */
section.about {
  padding-bottom: 30px;
  /*
  background: url("/css/images/bg-about-epic-sports-centre.webp") left bottom no-repeat #041b37;
  background-size: cover;
  */
}
div.recoverTrainPerform {
  padding-left: 15px;
  padding-right: 15px;
  position: relative;
  z-index: 1;
  padding-top: 20px;      
}
section.about figure {
  position: relative;
}
section.about figure {
  margin: -25px 0 0 0;
  padding: 0;
}
div.recoverTrainPerform h3 {
  font-family: 'font-46';
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 0.010em;
  font-size: 2em;
  text-align: center;
}
div.recoverTrainPerform p span.pill {
  color: #fff;
  display: block;
  font: 1em/1 'font-45';
  text-transform: uppercase;
  letter-spacing: 0.100em;
  text-align: center;
  background: #ed1c24;
  padding: 10px 20px;
  border-radius: 22px;
  max-width: 550px;
  margin: 0 auto;
}
ul.aboutListing div.intro {
  max-width: 536px;
}
ul.aboutListing div.intro p.intro {
  position: relative;
  padding-top: 9px;
}
ul.aboutListing div.intro p.intro::first-letter {
	color: #237bcb;
	float: left;
	font: 3.25em/1 'font-46';
	padding-top: 6px;
	padding-right: 7px;
	padding-left: 0;
	margin-left: 0;
}
section.about img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}
div.aboutContainer {
  margin-top: -30px;
  position: relative;
  z-index: 1;
}
ul.aboutListing {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
ul.aboutListing h2 {
  font: 2.25em/1.2 'font-46';
  color: #84c0ff;
  letter-spacing: 0.010em;
  text-transform: uppercase;
  padding-top: 7px;
  padding-bottom: 5px;
  max-width: 364px;
  border-bottom: 1px solid #ed1c24;
}

@media only screen and (min-width: 60em) { /* 960 */
  section.about {
    background: #041b38;
    padding-bottom: 50px;
    position: relative;    
  }
  div.recoverTrainPerform h3 {
    font-size: 4em;
  }
  div.recoverTrainPerform p span.pill {
    max-width: 510px;
    font-size: 1.65em;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  div.aboutContainer {
    margin-top: -125px;
  }
  section.about figure {
    margin-top: -9%;
  }
  ul.aboutListing div.intro {
    font-size: 1.2em;
    line-height: 1.5;                                
  }
  ul.aboutListing div.intro p.intro:first-letter {
	  font-size: 4em;
  }
  ul.aboutListing h2 {
    /*font-size: 4.25em;*/
    font-size: 3.75em;
    max-width: 496px;
    border-bottom: 0 none;
  }
  ul.aboutListing {
    display: flex;
  }
  ul.aboutListing li {
    box-sizing: border-box;
  }
  ul.aboutListing li.columnOne {
    width: 46%;
    padding-right: 15px;
    display: flex;
    justify-content: end;
  }
  ul.aboutListing li.columnTwo {
    border-left: 2px solid #ed1c24;
    width: 54%;
    padding-left: 17px;
  }
}
@media only screen and (min-width: 75em) { /* 1200 */
  div.recoverTrainPerform {
    padding-top: 40px;
  }
  div.recoverTrainPerform h3 {
    font-size: 6em;
  }
}
/* END: RECOVER TRAIN PERFORM */

/* START: NEWS */
section.news {
  background-image: url('/img/bg-home-news.webp');
  background-size: cover;
  background-position: center;
  padding: 10px 10px 40px;
  background-color: #fff;
}
section.news h3 {
  font-family: 'font-58';
  font-weight: 900;
  letter-spacing: 0.055em;
  font-size: 78px;
  line-height: 1;
  transition: font-size 0.3s ease;
}
.stroke-title {
  display: block;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-fill-color: transparent; /* Will override color (regardless of order) */
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #1979dd;
  /*
  background: -webkit-linear-gradient(-90deg, #84c0ff 0%, #0455b1 60%);
  -webkit-background-clip: text;
  -webkit-text-stroke: 4px transparent;
  color: rgb(7,7,8);
  */
}
/*
.gradient-stroke-title {
	font-family: 'font-58';
  font-weight: 900;
  letter-spacing: 0.055em;
	font-size: 110px;
	line-height: 1.2;
  background-color: #000;
  display: inline-block;
  color: #000;
  position: relative;
  text-shadow: -1px -1px 0 #fff, 1px 1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff;
  text-transform: uppercase;
}
.gradient-stroke-title::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(-90deg, #84c0ff 0%, #0455b1 60%);
  mix-blend-mode: darken;
  isolation: isolate;  
}
*/
.newsCarouselContainer .tns-ovh {
	overflow: visible !important;
}
.row-box {
  position: relative;
  padding: 10px 0px;
}
.content-first p.intro {
  font-size: 17px;
  max-width: 424px;
}
.news-image-container {
  position: relative;
  border-radius: 22px;
}
.news-description h4 {
  font-family: 'font-46';
  font-weight: 600;
  line-height: 1.15;
  color: #fff;
  font-size: 1.875em;
  text-transform: uppercase;
  transition: font-size 0.3s ease;
}
.news-slider-wrapper {
  display: flex;
  gap: 20px;
}
@media (min-width: 768px) {
  section.news {
    padding: 40px 10px 40px;
  }
  .content-first {
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding-left: 30px;
    padding-right: 5px;
  }
  .news-description {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    max-width: 382px;
    padding-left: 30px;
    padding-right: 30px;    
    box-sizing: border-box;
    z-index: 1;
  }
  .row-box {
    min-height: 285px;
  }
  .row-box img {
    border-radius: 24px;
  }
  .news-image-container {
    overflow: hidden;
  }
  .news-image-container::before {
    content: "";
    position: absolute;
    inset: 0; /* shorthand for top:0;left:0;right:0;bottom:0 */
    background-size: cover;
    background-position: center;
  }  
  /* Only target news-image-container NOT in .row-box.first */
  .news-image-container.box-1::before {
    background-image: url("/css/images/news-overlay-1.webp");
  }
  .news-image-container.box-2::before {
    background-image: url("/css/images/news-overlay-2.webp");
  }
  .news-image-container.box-3::before {
    background-image: url("/css/images/news-overlay-3.webp");
  }
  /* STYLING OF PREVIOUS NEXT BUTTONS FOR THIS SLIDER AND HOVER BUTTONS ON SLIDER */
  .newsNavigationControls ul.controlcontainer li button::after {
    border-color: #95c9ff;
    border-style: solid;
    border-width: 2px 2px 0 0;
    height: 10px;
    width: 10px;
  }
  .newsNavigationControls ul.controlcontainer li button {
    border: 2px solid #95c9ff;
    width: 60px;
    height: 60px;
    background: rgba(0,0,0,0.6);
    opacity: 0;
    border-radius: 50%;
  }
  /* Show next button when hovering right half */
  .newsNavigationControls ul.controlcontainer li button.show {
    opacity: 1;
    pointer-events: auto;
  }
  ul.newsNavigationControls ul.controlcontainer li:first-child button.show {
    transform: translateX(100%) translateY(0%);
  }
  /* Right button off-screen initially */
  ul.newsNavigationControls ul.controlcontainer li:last-child button.show {
    transform: translateX(-100%) translateY(0%);    
  }
  .newsNavigationControls ul.controlcontainer li[aria-disabled="true"] button.show {
    filter: grayscale(100%);
    opacity: 0.3;
  }
}
@media (min-width: 1024px) {
  section.news h3 {
    font-size: 100px;
  }
  .row-box {
    min-height: 345px;
  }
}
/* Mobile stacked columns when slider is destroyed */
@media (max-width: 767px) {
  .mobileNewsHeader {
    position: relative;
    margin-left: -5px;
    margin-right: -5px;
  }
  .mobileNewsHeader p.intro {
    display: none;
  }
  .mobileNewsHeader a.chevronlink {
    position: absolute;
    top: 50px;   
    right: 30px;
  }
  .mobileNewsHeader a.chevronlink span {
    display: none;
  }
  .mobileNewsHeader .row-box {
    border-bottom: 9px solid #1f344c;
    padding-bottom: 6px;
  }
  .content-first a.chevronlink span {
    display: none;
  }
  .content-first p.intro {
    display: none;
  }
  .content-first a.chevronlink {
    position: absolute;
    top: 70px;   
    right: 30px;
  }
  section.news h3 {
    font-size: 78px;
  }
  .news-slider-wrapper {
    display: block;
  }
  /* HIDING PREVIOUS/NEXT BUTTONS ON NEWS SLIDER ON HOME PAGE */
  .newsNavigationControls .newscontrolcontainer {
    display: none;
  }
  .news-slider-wrapper .column {
    width: 100%;
  }
  .row-box {
    padding: 20px 5px;
    border-bottom: 1px solid #53769c;
    margin-left: -5px;
    margin-right: -5px;
  }
  .glider-slide-wrapper .column.content:last-child .row-box:last-child {
    border-bottom: 0 none;;
  }
  .news-image-container {
    float: left;
    width: 48%;
    border-radius: 12px;
  }
  .news-image-container::before {
    content: "";
    position: absolute;
    inset: 0; /* shorthand for top:0;left:0;right:0;bottom:0 */
    background: rgba(0,0,0,0.2);
    width: 100%;
    height: 100%;
    z-index: 1;
    transform: scaleY(1.05);
    transform-origin: center;
  }
  .news-description {
	  margin-left: 52%;
    /*padding-left: 12px;*/    
  }
  .news-description h4 {    
    font-size: clamp(33px, 2.5vw, 28px); /* responsive font size */
    line-height: 1.2em;
    max-height: calc(1.2em * 4);          /* 4 lines */
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;                /* limits to 4 lines */
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: break-word;               /* break long words if needed */
  }
  .news-description p  {
    display: none;
  }
  .row-box img {
    border-radius: 12px;
    transform: scaleY(1.05);
    transform-origin: center;
  }

}

@media (max-width: 600px) {
  .newsCarouselContainer .newspaginationcontrols button {
    padding: 7px;
    width: 14px;
    height: 14px;
  }
  .newsCarouselContainer .newspaginationcontrols {
    gap: 4px;
  }
}


@media (max-width: 599px) {
  .mobileNewsHeader a.chevronlink {
    top: 37px;   
    right: 20px;
  }
  .content-first a.chevronlink {
    top: 37px;   
    right: 20px;
  }
  section.news h3 {
    font-size: 46px;
  }
  .row-box {
    padding: 16px 5px;
  }
  .news-description h4 {    
    font-size: clamp(20px, 2.5vw, 28px); /* responsive font size */
  }
  .mobileNewsHeader .content-first p:last-child {
    padding: 0;
  }

  .master-column .strengthcontainer p.intro {
    max-width: 310px
  }

}
/* END: NEWS */

/* START: SPORTS MEDICINE & STRENGTH AND CONDITIONING */
.strenthconditioning {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  background-color: #000;
  padding-bottom: 50px;
}
.master-column {
  position: relative;
}
.master-column .strengthcontainer {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 420px;
  transform: translate(-50%,-50%);
}
.master-column h4 {
  font-family: 'font-46';
  font-weight: 600;
  font-size: 90px;
  line-height: 1;
  text-transform: uppercase;
}
.master-column p.intro {
  font-size: 20px;
}
.master-column img {
  object-fit: cover;
  width: 100%;
  height: 100% !important;
  border-bottom-right-radius: 130px;
}
.master-column a.button {
  font-size: 20px;
}

/* ===== DESKTOP ===== */
.strenthconditioning > div:nth-child(1) {
  flex: 0 0 40%;
}

.strenthconditioning > div:nth-child(2),
.strenthconditioning > div:nth-child(3) {
  flex: 0 1 auto; /* natural width */
}

/* Reverse order on desktop when rtl is present */
.strenthconditioning.rtl {
  flex-direction: row-reverse;
}
/* HOVER ON THE IMAGE AND LINK */
.img-hover {
  position: relative;
  width: 450px; /* set size */
}
.img-hover img {
  width: 100%;
  display: block;
  border-radius: 12px;
}
.img-hover .hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.75s ease;
}
.hover-card:hover .img-hover .hover {
  opacity: 1;
}
.hover-card:hover .standard-link-one span::after {
  opacity: 1;
}
.hover-card:hover .standard-link-one span::before {
  opacity: 0;
}
@media (max-width: 1279px) {
  .img-hover {
    width: 260px;
  }
  .master-column .strengthcontainer {
    width: 80%;
  }
  .master-column h4 {
    font-size: 50px;
  }
  .master-column p.intro {
    font-size: 16px;
  }
  .master-column a.button {
    font-size: 16px;
  }
  .strenthconditioning .standard-link-one span {
    font-size: 24px;
  }
}
/* ===== MOBILE ===== */
@media (max-width: 959px) {
  .strenthconditioning {
    align-items: flex-start;
  }
  .strenthconditioning,
  .strenthconditioning.rtl {
    flex-direction: row;   /* remove the reverse on mobile */
    flex-wrap: wrap;
    gap: 0;
  }
  .strenthconditioning > div {
    box-sizing: border-box; /* critical */
  }
  /* Force the order you want on mobile */
  .strenthconditioning.rtl > div:nth-child(1) { order: 1; } /* col 1 top */
  .strenthconditioning.rtl > div:nth-child(2) { order: 3; } /* col 2 left */
  .strenthconditioning.rtl > div:nth-child(3) { order: 2; } /* col 3 right */

  /* Column 1 (top row) */
  .strenthconditioning > div:nth-child(1) {
    flex: 0 0 100%;
    padding-left: 30px;
    padding-right: 0;
    margin-bottom: 20px;
  }

  /* Columns 2 & 3 (second row, side by side) */
  .strenthconditioning > div:nth-child(2),
  .strenthconditioning > div:nth-child(3) {
    flex: 0 0 50%;
  }

  /* Left outer space for col 2 (FOR RTL) */
  .strenthconditioning.rtl > div:nth-child(2) {
    padding-left: 10px;
    padding-right: 30px;
  }
  /* Right outer space for col 3 (FOR RTL) */
  .strenthconditioning.rtl > div:nth-child(3) {
    padding-left: 30px;
    padding-right: 10px;
  }
  /* Left outer space for col 2 */
  .strenthconditioning > div:nth-child(2) {
    padding-left: 30px;
    padding-right: 10px;
  }
  /* Right outer space for col 3 */
  .strenthconditioning > div:nth-child(3) {
    padding-left: 10px;
    padding-right: 30px;
  }
  .img-hover {
    position: relative;
    width: 100%; /* set size */
  }
  .master-column .strengthcontainer {
    width: 80%;
    left: 55%;
  }
  .master-column h4 {
    font-size: 60px;
  }
  .master-column p.intro {
    font-size: 16px;
  }
  .master-column a.button {
    font-size: 16px;
  }
  .strenthconditioning .standard-link-one span {
    font-size: 20px;
    line-height: 1.1;
    display: table-caption;
  }
  .strenthconditioning.rtl >div:nth-child(2) .standard-link-one span {
    width: fit-content;
  }
  .strenthconditioning .pl-4 {
    padding-left: 12px !important;
  }
  .strenthconditioning .standard-link-one span::before, 
  .strenthconditioning .standard-link-one span::after {
    background-size: 14px auto;
    background-position: right bottom;
    bottom: 3px;
    right: -22px;
  }
}
/* END: SPORTS MEDICINE & STRENGTH AND CONDITIONING */

/* START: HOCKEY ACADEMY */
.contentOverviews h5 {
  position: relative;
}
.topicOverview {
	max-height: 0;
  overflow: hidden;
  transition: max-height 0.7s ease, opacity 0.5s ease;  
  opacity: 0;
  padding-left: 10px;
  
}
.topicOverview.open {
  max-height: 500px; /* large enough for content */  
  opacity: 1;
}
.hockeyacademy {
  padding-top: 20px;
  padding-bottom: 60px;
  overflow: hidden;  
  background-image:
    url("/img/bg-home-hockey-academy.webp"),
    url("/img/bg-home-hockey-academy-tile.webp");
  background-position:
    center bottom,
    center top;
  background-repeat:
    no-repeat,
    repeat-y;
  background-size:
    contain,
    contain;
}
.hockeyacademy h4 {
  color: #fff;
  font-size: 150px;
  text-align: center;
  font-family: 'font-46';
  font-weight: 600;
  text-transform: uppercase;
}
.contentOverviews h5 {
  font: 1.5em/1.2 'Poppins';  
  color: #84c0ff;
  padding-right: 32px;
  cursor: pointer;
  padding-left: 10px;
}
.contentOverviews div.topicContainer:last-child {
  border-bottom: 0 none;
}
.topicContainer {
  border-bottom: 1px solid #0d3d6e;
  padding-bottom: 12px;
  padding-top: 12px;
}
.two-col {
  display: flex;
}
.col-left {
  width: 70%;
  padding-right: 20px;
  --mirror-image: none;
  position: relative;
  aspect-ratio: 16 / 9; /* adjust to your image ratio */
}
.col-left::after {
  transition: background-image 0.75s, opacity 0.75s ease;
}
.col-left img {
  border-top-right-radius: 100px;
  border-bottom-left-radius: 100px;
  width: 100%;
  height: auto;
  display: block;
}
.col-right {
  width: 30%;
  padding-left: 20px;
}
.col-left,
.col-right {
  box-sizing: border-box;
}
.col-left .mirror-image {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}
.col-left .mirror-image.is-active {
  opacity: 1;
  pointer-events: auto;
}
.mirror {
  position: relative;
  width: fit-content;
}

.mirror img {
  display: block;
}
/* Reflection */
.mirror::after {
  content: '';
  position: absolute;
  
  left: 0;
  width: 100%;
  height: 100%;
  background-image: var(--mirror-image);

  /*background-image: url("/mediafiles/1-eliteperformancetrainingprogram.png");*/
  background-size: cover;
  background-position: center;
  transform: scaleY(-1);
  opacity: 0.4;
  pointer-events: none;
  filter: blur(2px);
  /* Fade out by halfway */
  mask-image: linear-gradient(
    to top,
    rgba(0,0,0,0.6) 0%,
    rgba(0,0,0,0.4) 15%,
    rgba(0,0,0,0) 30%
  );
  -webkit-mask-image: linear-gradient(
    to top,
    rgba(0,0,0,0.6) 0%,
    rgba(0,0,0,0.4) 15%,
    rgba(0,0,0,0) 30%
  );
  border-bottom-left-radius: 100px;
  
}
.link-row {
  display: flex;
  justify-content: center; /* left link on left, right link on right */
  align-items: center;
  width: 100%; /* full width container */
  padding-top: 180px;
}

.link-row a {
  position: relative;
  padding: 30px 110px;
  font-size: 40px;
  font-family: 'font-36';
  letter-spacing: 0.050em;
  font-weight: 600;
  line-height: 1;  
}
.link-row a:last-child {
  margin-left: 20px;
}
.link-row a span {
  position: relative;
  display:inline-block;
  left: -22px;
}
@media (max-width: 1077px) {
  .hockeyacademy h4 {
    font-size: 75px;
  }
}
@media (max-width: 959px) {
  .hockeyacademy {
    background-position:  
    center 51%,  
    center top;
  }
  .two-col {
    flex-direction: column;
  }
  .col-left,
  .col-right {
    width: 100%;
    padding: 0;
  }

  .col-left img {
    border-top-right-radius: 60px;
    border-bottom-left-radius: 60px;
  }



  .link-row {
    padding-top: 30px;
  }
  .link-row a {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .hockeyacademy {
    background-position:  
    center 35%,  
    center top;
  }
  .hockeyacademy h4 {
    font-size: 53px;
  }
  
}
@media (max-width: 600px) {
  .link-row {
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding-top: 30px;
  }
  .link-row a:last-child {
    margin-left: 0;
    margin-top: 10px;
  }
}
/* END: HOCKEY ACADEMY */

/* START: PARTNERS */
.partners {
  background-color: #fff;
  padding-bottom: 32px;
	padding-top: 50px;
  overflow: hidden;
  position: relative;
}
.partners h4 {
  font-family: 'font-46';
  font-weight: 600;
  font-size: 36px;
  text-transform: uppercase;
  color: #7f7f7f;
  text-align: center;
  letter-spacing: 0.050em;
}
.carouselContainer {
  position: relative;
}
/* CENTER THE SLIDES FOR TINY SLIDER IF THERE ISN'T ENOUGH COLUMNS TO FILL THE CONTAINER */
.center-slides  {
  /* 
  display: flex;
  justify-content: center;
  */
}
.partnerCarouselContainer .tns-ovh {
  overflow: visible !important;
}
.tns-ovh {
  overflow: visible;
}
/* NAVIGATION CONTROLS AND TEXT INFORMATION */
.navigationcontrols {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
/* NAVIGATION CONTROLS: BUTTONS */
ul.controlcontainer {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
ul.controlcontainer li button {
  border: 0 none;
  cursor: pointer;
  width: 45px;
  height: 45px;
  text-align: left;
  text-indent: -99em;
  overflow: hidden;
  position: relative;
  background-color: #000;
  opacity: 1;
  transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
}
/* LEFT BUTTON POSITION */
ul.controlcontainer li:first-child button {
  left: 0px;
}
/* RIGHT BUTTON POSITION */
ul.controlcontainer li:last-child button {
  right: 0px;
}
ul.controlcontainer li button:after {
  border-color: #fff;
  border-style: solid;
  border-width: 2px 2px 0 0;
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 8px;
  width: 8px;
  transform-origin: center;
  transform: translate(-50%,-50%) rotate(45deg);
  -webkit-transition: all .3s linear;
  -ms-transition: all .3s linear;
  transition: all .3s linear;
}
ul.controlcontainer li[data-controls="prev"] button:after {
  transform-origin: center;
  transform: translate(-50%, -50%) rotate(-135deg);
}
/* Show next button when hovering right half */
.navigationcontrols li button.show {
  opacity: 1;
  pointer-events: auto;
}
ul.controlcontainer li:first-child button.show {
  transform: translateX(100%) translateY(0%);
}
/* Right button off-screen initially */
ul.controlcontainer li:last-child button.show {
  transform: translateX(-100%) translateY(0%);    
}
.navigationcontrols li[aria-disabled="true"] button.show {
  filter: grayscale(100%);
  opacity: 0.3;
}

/* PAGINATION BUTTONS (LITTLE CIRCLES AT THE BOTTOM) */
.paginationcontrols {
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-top: 20px;
}
.paginationcontrols button {
  background-color: transparent;
  width: 20px;
  height: 20px;
  padding: 10px;
  border-radius: 50%;
  border: 2px solid #517eaf;
  cursor: pointer;
  position: relative;
}
.paginationcontrols span {
  display: block;
  text-align: left;
  text-indent: -99em;
  overflow: hidden; 
}
.paginationcontrols button.tns-nav-active span,
.paginationcontrols button.active span {
  background-color: #c31c27;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  position: absolute;
  top: 50%;
  left: 50%; 
}
.paginationcontrols .glider-dot.active,
.paginationcontrols .glider-dot:focus, 
.paginationcontrols .glider-dot:hover {
	background: transparent;
}

/* PLAY PAUSE BUTTON (TINY SLIDER) */
.play-pause-container {
  display: flex;
  justify-content: center;
  position: relative;
  top: -30px; /* moves container up */
  pointer-events: none;
}
.play-pause-button {
  width: 36px;
  height: 36px;
  background: rgba(0,0,0,0.2);
  cursor: pointer;
  color: #95c9ff;
  padding: 6px;
  border: 1px solid #95c9ff;
  border-radius: 50%;
  pointer-events:visible;
}
.play-pause-button svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}
.pause-shape {
  transform-origin: 50% 50%;
  transform: scale(0);
  transition: transform 0.2s ease;
}
.play-shape {
  transition: transform 0.2s ease;
}
.play-pause-button.pause .play-shape {
  transform: scale(0);
}
.play-pause-button.pause .pause-shape {
  transform: scale(1);
}


/* CAROUSEL SETTINGS FOR PARTNERS */
/* GIVING THE PARTNER SLIDES MARGIN RIGHT INSTEAD OF USING GUTTER AS IT CUTS OFF THE FIRST SLIDE */
@media (min-width: 600px) {
  .partner-slider-wrapper div.column {
    
  }
}

/* STYLING OF PREVIOUS NEXT BUTTONS FOR THIS SLIDER AND HOVER BUTTONS ON SLIDER */
.partnersNavigationControls ul.controlcontainer li button::after {
  border-color: #fff;
  border-style: solid;
  border-width: 2px 2px 0 0;
  height: 12px;
  width: 12px;
}
.partnersNavigationControls ul.controlcontainer li button {
  border: 0 none;
  width: 40px;
  height: 40px;
  background: #b4b4b4;
  opacity: 0;
  border-radius: 6px;
}
.partnersNavigationControls ul.controlcontainer li:first-child button {
  left: 1px;
}
.partnersNavigationControls ul.controlcontainer li:last-child button {
  right: 1px;
}
/* Show next button when hovering right half */
.partnersNavigationControls ul.controlcontainer li button.show {
  opacity: 1;
  pointer-events: auto;
}
ul.partnersNavigationControls ul.controlcontainer li:first-child button.show {
  transform: translateX(100%) translateY(0%);
}
/* Right button off-screen initially */
ul.partnersNavigationControls ul.controlcontainer li:last-child button.show {
  transform: translateX(-100%) translateY(0%);    
}
.partnersNavigationControls ul.controlcontainer li[aria-disabled="true"] button.show {
  filter: grayscale(100%);
  opacity: 0.3;
}
/* STYLING OF THE NAVIGATION BUTTONS AT THE BOTTOM, THE PRETTY CIRCLES */
.partnerCarouselContainer .partnerpaginationcontrols button {
	background-color: #cccccc;
  border-color: #cccccc;
	width: 20px;
	height: 20px;
	padding: 10px;
	border-radius: 50%;	
	cursor: pointer;
	position: relative;
}
.partnerCarouselContainer .partnerpaginationcontrols button.tns-nav-active span,
.partnerCarouselContainer .partnerpaginationcontrols .glider-dot.active span,
.partnerCarouselContainer .partnerpaginationcontrols .glider-dot:focus span, 
.partnerCarouselContainer .partnerpaginationcontrols .glider-dot:hover span {
	background-color: #c31c27;
}
@media (max-width: 600px) {
  .glider {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE 10+ */
  }

  .glider::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
  }
  .partner-slider-wrapper {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .partnerCarouselContainer .partnerpaginationcontrols button {
    padding: 7px;
    width: 14px;
    height: 14px;
  }
  .partnerCarouselContainer .partnerpaginationcontrols {
    gap: 0;
  }
  .partnerCarouselContainer .partnerpaginationcontrols .glider-dot.active, 
  .partnerCarouselContainer .partnerpaginationcontrols .glider-dot:focus, 
  .partnerCarouselContainer .partnerpaginationcontrols .glider-dot:hover {
    background-color: #cccccc;
  }
  
  /*ADJUSTING THE GUTTER FOR MOBILE SLIDER (GLIDER) */
  .partner-slider-wrapper .glider-slide {
    margin-right: 30px;
  }
  .partner-slider-wrapper .glider-slide img {
    
  }

}

/* STANDARD CAROUSEL */
/* GUTTER IS 28PX IN MOBILE */
div.itineraryCarousel {
  margin-left: -37px;
  margin-right: -28px;
  padding-top: 14px;
  padding-bottom: 24px;
  display: flex;
}
div.itineraryCarousel div.glider-slide:first-child {
  padding-left: 28px;
}
div.itineraryCarousel div.glider-slide:last-child {
  padding-right: 28px;
}
div.itineraryCarousel div.glider-slide {
  position: relative;
  margin-left: 9px;
  margin-right: 9px;
  min-width: 248px;
}
div.itineraryCarousel div a {
  color: #fff;
  display: block;
  text-decoration: none;
  position: relative;
}  
div.itineraryCarousel div {
  min-width: 320px;
}  
@media only screen and (min-width: 47.938em) {
  div.itineraryCarousel div {
    width: 160px;
    margin-top: 23px;
  }
}
@media only screen and (min-width: 1600px) {
  /* LEFT BUTTON POSITION */
  ul.controlcontainer li:first-child button {
    left: -100px;
  }
  /* RIGHT BUTTON POSITION */
  ul.controlcontainer li:last-child button {
    right: -100px;
  }
}
/* END: PARTNERS */


/* START: FOOTER */
/* FOOTER */
footer {
  background: #171516;
	padding-bottom: 20px;
	padding-top: 50px;
  position: relative;
  z-index: 1;
}
footer a {
  font-weight: 300;
}
.footer-grid {
  display: grid;
  gap: 0;
  transition: all 300ms ease;
}
.footer-grid .item {
  padding: 0 30px;
  border-right: 1px solid #5d5b5c;
  transition: transform 300ms ease,  opacity 300ms ease;
  will-change: transform;
  transform: translateY(0);
}
.footer-grid .item:last-child {
  border-right: 0 none;
}
.footer-grid .item:nth-child(1) { transition-delay: 0ms; }
.footer-grid .item:nth-child(2) { transition-delay: 40ms; }
.footer-grid .item:nth-child(3) { transition-delay: 80ms; }
.footer-grid .item:nth-child(4) { transition-delay: 120ms; }

p.footerLogo {
  padding-top: 0;
  padding-bottom: 12px;
}

ul.footer-socials {
  margin: 0 0 30px;
  padding: 0;
  list-style-type: none;
  display: flex;
  justify-content: center;
}
ul.footer-socials li {
  padding-left: 20px;
  padding-right: 20px;
}
ul.footer-socials svg {
  width: 28px;
  height: 28px;
  transition: color 300ms ease-in-out;
}
ul.footer-socials svg:hover {
  color: #5d5b5c;  
}
footer ul.menu {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
ul.menu li {
  padding: 4px 0;
}
ul.menu li a {
  position: relative;
  text-decoration: none;
  color: #9f9f9f;
}
ul.menu li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;    
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 300ms cubic-bezier(.4,0,.2,1);
}
ul.menu li a:hover::after,
ul.menu li a:active::after,
ul.menu li a:focus::after {
  transform: scaleX(1);
  transform-origin: left;
}
footer h5 {
  color: #84c0ff;
  font: 1em/1.2 'font-46';
  font-weight: 600;
  letter-spacing: 0.090em;
  text-transform: uppercase;
  position: relative;
}
footer h5 .plusMinus {
  top: 23px;
  cursor: pointer;
}
footer .column-one h5 {
  padding-bottom: 15px;
}
footer .column-two h5,
footer .column-three h5 {
  font-family: 'Poppins';
  font-weight: 700;
  letter-spacing: 0;
  padding: 12px 0;
  border-top: 1px solid #5c5c5c;
}
footer .column-four {
  margin-top: 40px;
  text-align: center;
}
footer .column-four h5 {
  font-size: 30px;
}
footer .column-four p.intro {
  padding-top: 0;
  color: #9f9f9f;
}
.footer-grid .column-one {
  text-align: center;
}
ul.formListStack {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

/* COPY RIGHT */
.copyright {
  padding-top: 30px;
  color: #9f9f9f;
  font-weight: 300;
  font-size: 14px;
  text-align: center;
  padding-left: 30px;
  padding-right: 30px;
}
.copyright ul {
  margin: 10px 0 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  justify-content: center;
}
.copyright ul li {
  padding-left: 12px;
  padding-right: 12px;
  position: relative;
}
.copyright ul li:first-child {
  padding-left: 0;
}
.copyright ul li:first-child::before {
  content: '';
}
.copyright ul li:last-child {
  padding-right: 0;
}
.copyright ul li:before {
  content: '/';
  position: absolute;
  left: -5px;
}
.copyright ul li a {
  color: currentColor;
  text-decoration: none;
}

@media only screen and (min-width: 900px) { /* 900 */
  .copyright {
    display: flex;
    justify-content: center;
    margin-top: 30px;
    padding-top: 15px;
    border-top: 1px solid #5d5b5c;
    font-size: 14px;;
  }
  .copyright ul {
    margin-top: 7px;
    margin-left: 20px;
  }
  .copyright ul li:first-child::before {
    content: '/';
  }
  .copyright ul li:first-child {
    padding-left: 12px;
  }
  .copyright ul li {
    padding-left: 15px;
    padding-right: 15px;
 
  }
}


/* END: FOOTER */


/* START: BACKGROUND CONTAINER */
.background-conainer {
  /*
  background: url("/css/images/background-container-epic-logo.webp") 50% 0% no-repeat;
  background-size: cover;
  */
  background: url("/css/images/background-academy-logo.webp") left top no-repeat;
  background-size: contain;
  position: fixed;
  width: 100%;
  height: 1000px;
  top: 0;
  z-index: 0;  
}
.background-container-contact-us {
  background: url("/css/images/background-academy-logo-contact-us.webp") left top no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 600px) { /* 960 */
  .background-conainer {
    background: url("/css/images/background-academy-logo-mobile.webp") left top no-repeat;
    height: 100%;
    background-size: cover;
    
  }
}

/* END: BACKGROUND CONTAINER */
.stage {
  position: relative;
  z-index: 1;
}
.stage-header {
  padding-top: 15px;
  padding-bottom: 15px;
}
.stage-header h1 {
  font-family: 'font-46';
  font-size: 54px;
  line-height: 1.1;
  color: #fff;
  text-transform: uppercase;
}
.one-col-container {
  display: flex;
  flex-direction: column;   /* stacked on mobile */
  gap: 0;
}
.one-col-container .column {
  width: 100%;
}

.two-col-container {
  display: flex;
  flex-direction: column;   /* stacked on mobile */
  gap: 0;
}
.two-col-container .column {
  width: 100%;
}

.menu-slider {
  border-top: 1px solid #51769d;
	border-bottom: 1px solid #51769d;
  background: rgba(0,0,0,0.3);  
  display: flex;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; /* smooth iOS scrolling */
  padding: 14px 16px;

  /* Desktop drag cursor */
  cursor: grab;
  
}
@media only screen and (min-width: 1280px) { /* 960 */
  .menu-slider {
    padding: 14px 50px;
  }
}
/* While dragging */
.menu-slider.dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}
/* Center columns when there is no overflow */
.menu-slider.centered {
  background: transparent;
}
.standard-slider.centered {
  justify-content: center;
  background: transparent;
}
/* Hide scrollbar (optional) */
.menu-slider::-webkit-scrollbar {
  display: none;
}
.menu-slider {
  scrollbar-width: none;
}
.menu-slider span {
  font-family: 'font-46';
  text-transform: uppercase;
  color: #fff;
  font-size: 20px;
  display: block;
}
.menu-slider .column {
  flex: 0 0 auto;
  scroll-snap-align: start;
  min-width: 90px; /* controls slide width */
  align-content: center;
}
.button-menu {
  background: rgba(0,0,0,0.8);
  display: block;
  text-align: center;
  white-space: nowrap;
  border-radius: 6px;
  border: 1px solid #27619f;
  padding: 6px 15px;  
  font-family:'font-46';
  font-size:  20px;
  font-weight: 600;
  text-transform: uppercase;
  color: #7fb9f5;
  transition: all 0.2s ease;
}
.button-menu.focused {
  background: #0d2e49;
}







.hockey-acedemy-overview {
  padding-top: 25px;
  padding-bottom: 40px;
}

ul.pictureTextList li.listText div.details h4:before {
  content: '';
  top: 50%;
  margin-top: -6px;
  left: -110px;
  width: 100px;
  height: 6px;
  background: #ed1c24;
  position: absolute;
  z-index: 1;
}
ul.pictureTextList li.listText div.details h4 {
  font: 40px/1.25 'font-46';
  color: #84c0ff;
  text-transform: uppercase;
  letter-spacing: 0.010em;
  position: relative;
}
ul.pictureTextList figure {
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
}
ul.pictureTextList figure:before{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
}
/* PICTURE ON RIGHT, TEXT ON LEFT */
ul.picRightTextLeft figure:before {
  left: 18px;
  top: 18px;
  background-color: #132d48;
  opacity: 0.8;
   border-top-left-radius: 105px;
  border-bottom-right-radius: 105px;
}
ul.picRightTextLeft figure img {
  position: relative;
  z-index: 1;
  border-top-left-radius: 105px;
  border-bottom-right-radius: 105px;
}
/* PICTURE ON LEFT, TEXT ON RIGHT */
ul.picLeftTextRight figure:before {
  left: -18px;
  top: 18px;
  background-color: #132d48;
  opacity: 0.8;
  border-top-right-radius: 105px;
  border-bottom-left-radius: 105px;
}
ul.picLeftTextRight figure img {
  position: relative;
  z-index: 1;
  border-top-right-radius: 105px;
  border-bottom-left-radius: 105px;
}
ul.pictureTextList {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
ul.pictureTextList li.listText {
  position: relative;
}
ul.pictureTextList li.listText div.details {
  padding-left: 50px;
  padding-right: 50px;
  padding: 35px 50px 60px 50px;
}
.hockey-acedemy-overview .button-three {
  background: transparent;
}
.hockey-acedemy-overview .link-row {
  padding-top: 0;
}
.header-placeholder {
  height: 0;
}
@media only screen and (min-width: 960px) { /* 960 */
  .stage {
    padding-top: 40px;
  }
  .stage-header {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .stage-header h1 {
    font-size: 108px;
  }
  .one-col-container {
    flex-direction: row;    /* one column */
    max-width: 1200px;
    margin: 0 auto;
  }
  .one-col-container .column {
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .two-col-container {
    flex-direction: row;    /* side by side */
    max-width: 1200px;
    margin: 0 auto;
  }
  .two-col-container .column {
    width: 50%;
    display: flex;
    justify-content: center;
  }
  .hockey-academy-container .red-pill {
    font-size: 34px;
    padding: 6px 25px;
  }
  .hockey-academy-container .column:first-child {
    width: 60%;
  }
  .hockey-academy-container .column:last-child {
    width: 40%;
    align-items: flex-end;
    justify-content: flex-start;
    padding-bottom: 20px;
  }
  



  .two-col-container:last-child .column .text-container {
    max-width: 475px;
  }

  .hockey-acedemy-overview {
    padding-bottom: 35px;
  }
  ul.pictureTextList {
    display: flex;
    padding-bottom: 80px;
  }
  /* PICTURE ON RIGHT, TEXT ON LEFT */
  ul.picRightTextLeft figure:before {
    
    border-top-left-radius: 130px;
    border-bottom-right-radius: 130px;
  }
  ul.picRightTextLeft figure img {    
    border-top-left-radius: 130px;
    border-bottom-right-radius: 130px;
  }
  /* PICTURE ON LEFT, TEXT ON RIGHT */
  ul.picLeftTextRight figure:before {
    border-top-right-radius: 130px;
    border-bottom-left-radius: 130px;
  }
  ul.picLeftTextRight figure img {
    border-top-right-radius: 130px;
    border-bottom-left-radius: 130px;
  }
  ul.pictureTextList li {
    box-sizing: border-box;    
  }
  
  ul.pictureTextList li.listText div.details {
    max-width: 425px;
    padding: 0;
  }
  ul.pictureTextList li.listText div.details h4 {
    font-size: 2.5em;
    max-width: 346px;
  }

  ul.picLeftTextRight li.listPicture {
    width: 52%;
  }
  ul.picLeftTextRight li.listText {
    width: 48%;
  }
  ul.picRightTextLeft li.listPicture {
    width: 52%;
  }
  ul.picRightTextLeft li.listText {
    width: 48%;
  }
  ul.picRightTextLeft li.listText {
    order: 1;
    padding-right: 30px;
    justify-content: end;
  }
  ul.pictureTextList li.listText {
    display: flex;
    align-items: center;
  }
  ul.picRightTextLeft li.listPicture {
    order: 2;
  }
  ul.picLeftTextRight li.listText {
    padding-left: 50px;
  }
  ul.pictureTextList li.listText div.details p {
    font-size: 1.2em;
  }

}
/* START: PROGRAM OVERVIEW */
.academy-program-overview {
  background-color: #031428;
  /*background: url("/img/bg-home-hockey-academy-tile.webp") left top repeat-y;*/
  padding-bottom: 60px;
}
.academy-program-overview figure {
  margin: 0;
  padding: 0;
}
.academy-program-container {
  margin-top: -10%;
}
.globalToggle .col-left {
  aspect-ratio: unset;
}
.globalToggle .col-left-image-container {
  aspect-ratio: 1.43 / 1; /* adjust to your image ratio */
  position: relative;
  margin-top: 20px;
}
.globalToggle .col-right {
  padding-top: 12px !important;
}
.globalToggle .contentOverviews div.topicContainer:last-child {
	border-bottom: 1px solid #0d3d6e;
}
@media only screen and (min-width: 960px) { /* 960 */
  .academy-program-container {
    margin-top: -12%;
  }
  .globalToggle .col-left {
    width: 48%;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
  }
  .globalToggle .col-right {
    width: 40%;
  }
  .globalToggle .col-left p:first-child {
    padding-left: 36px;
    max-width: 520px;
    font-size: 22px;
    line-height: 1.2;
    padding-top: 10px;
  }
}
/* END: PROGRAM OVERVIEW */

/* START: EDUCATION */
.academy-education {
  padding-bottom: 30px;
  background: url("/css/images/background tile-education and advantage-hockey-academy.webp") left top repeat-y;
  background-size: contain;
}
.academy-education-header {
  position: relative;
}
.academy-education-header h2 {
  position: absolute;
  color: #82c9ff;
  bottom: 0;
  font-family: 'font-46';
  font-weight: 600;
  text-transform: uppercase;
  font-size: 70px;
  line-height: 0.85;
  opacity: 0.5;
}
.academy-education-header img {	
  aspect-ratio: 3404 / 1127;
	object-fit: cover;
	width: 100%;
	object-position: top;
}
@media only screen and (min-width: 768px) { /* 768 */
  .academy-education-header h2 {
    font-size: 110px;
  }
  .academy-education {
    padding-bottom: 40px;
  }
}
@media only screen and (min-width: 960px) { /* 960 */
  .academy-education-header h2 {
    font-size: 180px;
    margin-left: -20px;
  }
}
/* END: EDUCATION */

/* START: COACHING STAFF */
.academy-coaching-staff {
  padding-top: 20px;
  padding-bottom: 40px;
  background: url("/css/images/background tile-education and advantage-hockey-academy.webp") left top repeat-y;
  background-size: contain;
}
.academy-coaching-staff h3 {
  background: #ed1c24;
  display: block;
  color: #fff;
  font-family: 'font-46';
  text-transform: uppercase;  
  font-size: 26px;  
  letter-spacing: 0.100em;
  text-align: center;  
  padding: 6px 40px;
  border-radius: 32px;
  max-width: fit-content;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) { /* 768 */
  .academy-coaching-staff {
    padding-bottom: 40px;
  }
}
/* END: COACHING STAFF */

/* START: EPIC ADVANTAGE */
.hockey-academy-epic-advantage-header {
  display: flex;
  flex-direction: column; /* Stack in mobile */
  gap: 6px; /* Space between rows */
  position: relative;
}
.hockey-academy-epic-advantage-header h2 {
  color: #fff;
  font-family: 'font-46';
  line-height: 1.1;
  font-size: 50px;
  text-transform: uppercase;
  max-width: 100px;
}
.hockey-academy-epic-advantage-header .content h2 {
  display: none;
}
.hockey-academy-epic-advantage-header .imagery h2 {
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
}
.hockey-academy-epic-advantage-header .item {
  position: relative;
}
.hockey-academy-epic-advantage-header figure {
  position: relative;
  padding-right: 5px;
  padding-left: 5px;
}
.hockey-academy-epic-advantage-header .overlay {
  position: absolute;
  right: 8px;
  top:-12px;                  /* keeps it inside the same height */
  height: 100% !important;
  object-fit: contain;       /* or cover depending on need */
  pointer-events: none;      /* optional */
}
.hockey-academy-epic-advantage-header .overlay-background {
  border-radius: 22px;
}

@media (min-width: 768px) {
  .hockey-academy-epic-advantage-header .imagery h2 {
    font-size: 72px;
  }
}

@media (min-width: 960px) {
  .hockey-academy-epic-advantage-header .overlay-background {
    opacity: 0;
    visibility:hidden;
    position: absolute;
  }
  .hockey-academy-epic-advantage-header {
    flex-direction: row-reverse; /* Side by side in desktop */
    background: url("/mediafiles/hockey-academy-epic-advantage.webp") 50% 50% no-repeat;
    background-size: cover;
    border-radius: 32px;
    max-width: 1480px;
    margin: 0 auto;
  }
  .hockey-academy-epic-advantage-header .overlay {
    position: relative;
    top: -28px;
  }
  .hockey-academy-epic-advantage-header .item {
    flex: 1; /* Each takes equal width */
    align-content: center;
  }

  .hockey-academy-epic-advantage-header .item img {
    width: 100%; /* Fit its column */
  }
  .hockey-academy-epic-advantage-header .content .wrapper-1280 {
    /*max-width: 400px;*/
    padding-left: 20%;
  }
  .hockey-academy-epic-advantage-header .content h2 {
    display: block;
    font-size: 110px;
  }
  .hockey-academy-epic-advantage-header .imagery h2 {
    display: none;
  }
  .hockey-academy-epic-advantage-header p.weight-600 {
    font-size: 22px;
    line-height: 1.2;
  }
}


.academy-epic-advantage {
  padding-top: 30px;
  padding-bottom: 26px;
  background: url("/css/images/background tile-education and advantage-hockey-academy.webp") left top repeat-y;
  background-size: contain;
}
.academy-epic-advantage-header {
  position: relative;
}
.academy-epic-advantage-header figure img {
	object-fit: cover;
	width: 100%;
	object-position: top;
  border-radius: 22px;
}
.academy-epic-advantage-header h2 {
  position: absolute;
  color: #ffffff;
  font-family: 'font-46';
  font-weight: 600;
  text-transform: uppercase;
  font-size: 70px;
  line-height: 1;
  top: 50%;
  max-width: 100px;
}
.academy-epic-advantage-header .epic-advantage-image {
  position: relative;
  top: 0;

}
.image-text-row-column {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.image-text-row-column-image img {
  width: 100%;
  height: auto;
  display: block;
}
/* MASON IMAGES */
.masonry-3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
/* Top large image spans both columns */
.masonry-item--large {
  grid-column: 1 / -1;
}
/* Make images fill their boxes nicely */
.masonry-3 img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
}
.border-radius-all-22 img {
  border-radius: 22px;
}
.content-header-h4 {
  font-family: 'font-46';
  font-weight: 600;
  text-transform: uppercase;
  color: #84c0ff;
  letter-spacing: 0.025em;
  font-size: 44px;
  line-height: 1.1;
}
.hockey-academy-access {
  padding-top: 15px;
  padding-bottom: 30px;
}
.hockey-academy-package-options {
  padding-top: 40px;
  padding-bottom: 40px;
  background: url("/css/images/hockey-academy-package-options-background.webp") 50% top no-repeat;
  background-size: cover;
}
@media (max-width: 600px) {
  .hockey-academy-package-options {
    background: url("/css/images/hockey-academy-package-options-background-mobile.webp") 50% top no-repeat;
    background-size: contain;
  }
}
@media (min-width: 960px) {
  .hockey-academy-access {
    padding-top: 25px;
  }
  .image-text-row-column {
    grid-template-columns: 52% 48%;
    align-items: center;
  }
  .image-text-row-column.rtl {
    grid-template-columns: 51% 49%;
  }
  /* Move image to the second column */
  .image-text-row-column.rtl .image-text-row-column-image {
    order: 2;
  }
  .image-text-row-column.rtl .image-text-row-column-text {
    order: 1;
    font-size: 22px;
  }

  .academy-epic-advantage {
    padding-top: 30px;
    padding-bottom: 0;
  }
  .hockey-academy-access .image-text-row-column-text {
    /*max-width: 466px;*/
    font-size: 22px;
  }
}
/* END: EPIC ADVANTAGE */

/* START: HOCKEY TEAM STATS */
.team-stats {
  margin-top: 10px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 2px;
  overflow-x: auto; /* allows scroll if needed on small screens */
}
.stat-box {
  color: #fff;
  padding: 12px 8px 3px;  
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 70px;
}
/* Add divider line to all except the last */
.stat-box:not(:last-child) {
  border-right: 1px solid #1a5d9c; /* adjust color/size as needed */
  margin-right: 0px; /* spacing away from border */
}
.stat-label {
  color: #84c0ff;
  font-weight: 700;
  font-size: 0.85rem; /* 15px */
  margin-top: 6px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  white-space: nowrap;
}
.stat-number {
  font-family: 'font-46';
  font-size: 60px;
  font-weight: 600;
  line-height: 1;
  display: flex;
  overflow: hidden;
  justify-content: center;
}
.digit {
  position: relative;
  width: 1ch;
  height: 1.2em;
  overflow: hidden;
}
.digit-inner {
  display: flex;
  flex-direction: column;
  transition: transform 1s ease-in-out;
}
.digit-inner span {
  height: 1.2em;
  line-height: 1.2em;
}
/* END: HOCKEY TEAM STATS */

/* START: HOCKEY TEAM PLAYERS */
.table-players-container {
  padding-top: 45px;
}
.table-players-container h2 {
  font-family: 'font-46';
  text-transform: uppercase;
  line-height: 1.1;
  color: #84c0ff;
  font-size: 60px;
}
/* Wrapper for scroll on mobile */
.table-players-scroll-container {
  width: 100%;
  overflow-x: auto; /* scroll horizontally if needed */
  -webkit-overflow-scrolling: touch;
  padding-top: 10px;
  position: relative;
}

/* Table styling */
table.players {
  width: 100%;
  min-width: 900px; /* prevent table from shrinking too much */
  border-collapse: collapse;
  /*table-layout: fixed;  fixed column widths */
}

/* Header */
table.players th {
  background: #ed1c24;
  color: #fff;
  font-family: 'font-46';
  text-transform: uppercase;
  font-size: 18px;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 6px 10px;
}
table.players th:first-child {
  border-top-left-radius: 22px;
  border-bottom-left-radius: 22px;
}
table.players th:last-child {
  border-top-right-radius: 22px;
  border-bottom-right-radius: 22px;
}
/* Table cells */
table.players td a {
  text-decoration: none;
}
table.players td {
  font-weight: 600;
  padding: 10px;
  white-space: nowrap;
  text-align: center;
  border-right: 1px solid #567da6;
}
table.players td:first-child {
  padding-left: 0;
  padding-right: 0;
}
table.players td:last-child,
table.players td:first-child {
  border-right: none;
}
table.players .left {
  text-align: left;
}
table.players .double-padding {
  padding-left: 15px;
}
/* Alternate row colors starting at 3rd row */
.players tr:nth-child(n+3):nth-child(odd) {
  background-color: #020b16;
}
/* Player image wrapper */
.player-image-wrapper {
  width: 100px;
  height: 100px;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
  border-radius: 12px;
}
.player-image-wrapper img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
  object-position: center;
}
@media only screen and (min-width: 600px) { /* 600 */
  table.players td:first-child {
	  max-width: 100px;
  }
}
@media only screen and (min-width: 768px) { /* 768 */
  
  .stat-box {
    min-width: 120px;
  }
  .stat-number {
    font-size: 96px;
  }
}




@media only screen and (max-width: 599px) { /* 768 */

  /* MOBILE VERSION OF HOCKEY TEAM STATS */
  .stat-label {
    font-size: 13px;
  }
  .stat-box {
    padding: 12px 6px 3px;
  }
  .mobile-1180 {
    padding-left: 20px;
    padding-right: 20px;
  }
  .table-players-container h2 {
    font-size: 48px;
  }


  table.players td:first-child {
	  min-width: 60px;
  }
  
  /* Sticky first column (header + cells) */
  .players th:first-child,
  .players td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
  }
  /* Ensure it has a solid background so text doesn't overlap */
  .players th:first-child {
    background: #ed1c24;
    z-index: 3; /* keep above cells */
  }

  .players td:first-child {
    
  }

  /* If you use alternating row colors, match them */
  .players tr:nth-child(n+3):nth-child(odd) td:first-child {
    background-color: #0d1620;
  }

}
/* END: HOCKEY TEAM PLAYERS */

/* START: HIGHTLIGHT VIDEOS */

.commonCarouselContainer .tns-ovh {
  overflow: visible !important;
}
.common-container {
  padding-top: 45px;
  padding-bottom: 60px;
}
.common-header-control {
  position: relative;

}
.common-header-control a.standard-link {
  position: absolute;
  bottom: 0;
  right: 30px;
}
.common-container h2 {
  font-family: 'font-46';
  text-transform: uppercase;
  line-height: 1.1;
  color: #84c0ff;
  font-size: 50px;
}
.common-container hr {
  margin-left: -5px;
  margin-right: -5px;
  border-top-color: #1a5d9c;
  margin-top: 3px;
}
.common-slider-wrapper {
  /*display: grid; // remove for slider*/
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.common-column {
  position: relative;
  max-height: 285px;
  /*width: 100%;*/
}
@media (min-width: 600px) {
  .common-column img {
    height: 285px !important;
  }
}
.common-image-container {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}
.common-image-container a {
  display: block;
}
 
.common-image-container a::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;        
}
.common-image-container a::after {
  content: '';
  position: absolute;
  border: 1px solid #4695dc;
  width: 40px;
  height: 40px;
  bottom: 10px;
  right: 10px;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'>\<circle cx='50' cy='50' r='50' fill='rgba(0,0,0,0.6)'/>\ <polygon points='40,30 40,70 70,50' fill='%234695dc'/>\</svg>");
}
.common-image-container-image-only a::after {
  background-image: none;
  border: 0 none;
}
.common-slider-wrapper h4 {
  font-family: 'font-46';
  text-transform: uppercase;
  font-size: 22px;
  letter-spacing: 0.030em;
  line-height: 1.1;
}
.common-description {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 8px;
}

/* STYLING OF PREVIOUS NEXT BUTTONS FOR THIS SLIDER AND HOVER BUTTONS ON SLIDER */
.commonNavigationControls ul.controlcontainer li button::after {
  border-color: #95c9ff;
  border-style: solid;
  border-width: 2px 2px 0 0;
  height: 10px;
  width: 10px;
}
.commonNavigationControls ul.controlcontainer li button {
  border: 2px solid #95c9ff;
  width: 60px;
  height: 60px;
  background: rgba(0,0,0,0.6);
  opacity: 0;
  border-radius: 50%;
}
/* Show next button when hovering right half */
.commonNavigationControls ul.controlcontainer li button.show {
  opacity: 1;
  pointer-events: auto;
}
ul.commonNavigationControls ul.controlcontainer li:first-child button.show {
  transform: translateX(100%) translateY(0%);
}
/* Right button off-screen initially */
ul.commonNavigationControls ul.controlcontainer li:last-child button.show {
  transform: translateX(-100%) translateY(0%);    
}
.commonNavigationControls ul.controlcontainer li[aria-disabled="true"] button.show {
  filter: grayscale(100%);
  opacity: 0.3;
}

/* STYLING OF THE NAVIGATION BUTTONS AT THE BOTTOM, THE PRETTY CIRCLES */
.commonCarouselContainer .commonpaginationcontrols button {
	background-color: #183456;
  border-color: #183456;
	width: 20px;
	height: 20px;
	padding: 10px;
	border-radius: 50%;	
	cursor: pointer;
	position: relative;
}
.commonCarouselContainer .commonpaginationcontrols button.tns-nav-active span {
	background-color: #489ce8;
}

@media (max-width: 600px) {
  .commonCarouselContainer .commonpaginationcontrols button {
    padding: 7px;
    width: 14px;
    height: 14px;
  }
  .commonCarouselContainer .commonpaginationcontrols {
    gap: 4px;
    margin-top: 10px;
  }
}



@media (min-width: 768px) {
  .common-image-container {
    border-radius: 22px;
  }
  /* Only target news-image-container NOT in .row-box.first */
  .common-image-container.box-1 a::before {
    background-image: url("/css/images/news-overlay-1.webp");
  }
  .common-image-container.box-2 a::before {
    background-image: url("/css/images/news-overlay-2.webp");
  }
  .common-image-container.box-3 a::before {
    background-image: url("/css/images/news-overlay-3.webp");
  }
  .common-image-container a::after {
    width: 50px;
    height: 50px;
    bottom: 10px;
    right: 10px;
  }
  .common-description {
    position: absolute;
    bottom: 10px;
    padding-right: 68px;          
  }        
}
@media (max-width: 600px) {
  .common-header-control a.standard-link {
    display: none;
  }
}


@media (max-width: 767px) {
  .common-image-container a::before {
    background: rgba(0,0,0,0.2);
  }
}
/* END: HIGHTLIGHT VIDEOS */

/* START: PLAYER PROFILE */
.player-profile-container {
  display: grid;
  gap: 20px;
}
/* Mobile: stacked */
.player-profile-container {
  grid-template-columns: 1fr;
}
.player-profile-col-1 {
  text-align: center;
}
.player-profile-col-1 h1 {
	font-family: 'font-46';
	font-size: 34px;
	line-height: 1.1;
	color: #fff;
	text-transform: uppercase;
  max-width:236px;
  margin: 0 auto;
  padding-top: 8px;
  padding-bottom: 8px;
}
.player-profile-col-1 .red-pill {
  margin: 0 auto;
}
.player-profile-col-1 figure {
	width: 280px;
	height: 280px;
	overflow: hidden;
	display: inline-block;
	vertical-align: middle;
	border-radius: 12px;
}
.player-profile-col-1 figure img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	display: block;
	object-position: center;
}
.player-profile-col-2 {
  justify-content: center;
}
.player-name {
  display: flex;
  align-items: center;
  gap: 12px;
}
.player-number {
  color: #000000;
  font-size: 120px;
  font-weight: 800;
  line-height: 1;
  font-family: 'font-58';
  display: block;
  text-transform: uppercase;
  /*color: transparent;
  -webkit-text-fill-color: transparent;*/ /* Will override color (regardless of order) */
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #1979dd;


}
.player-number .pound {
  font-size: 0.55em;   /* smaller than number */
  vertical-align: top; /* lifts it slightly */
  margin-right: 2px;
}
.player-fullname {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.player-fullname .first {
  color: #84c0ff;
  font-family: 'font-46';
  text-transform: uppercase;
  font-size: 34px;
  letter-spacing: 0.025em;
}
.player-fullname .last {
   font-family: 'font-46';
  text-transform: uppercase;
  font-size: 60px;
  letter-spacing: 0.025em;
}
/* POSITION, HEIGHT, DOB, WEIGHT..ETC */
.player-profile-stats {
  border-top: 6px solid #1a5d9c;
  border-bottom: 6px solid #1a5d9c;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: 16px;
  padding: 10px 15px;
  max-width: 500px;
}
.player-profile-stats .item {
  display: flex;
  flex-direction: column;   /* stack spans */
  align-items: flex-start;  /* left align */
}
/* optional styling */
.player-profile-stats .item span:first-child {
  font-size: 16px;
  text-transform: uppercase;
  color: #84c0ff;
  font-weight: 800;
}
.player-profile-stats .item span:last-child {
  font-family: 'font-46';
  text-transform: uppercase;
  font-size: 30px;
  letter-spacing: 0.025em;
}
/* PROPECTS PROFILE AND SPONSOR IMAGES*/
.player-profile-personal {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 0px 15px;
}
.player-profile-personal a.button-three {
  width: max-content;
}
/* Left and Right column styling */
.player-profile-personal .column {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.player-profile-personal .column span {
  font-size: 16px;
  text-transform: uppercase;
  color: #84c0ff;
  font-weight: 800;
}

/* Right column images stacked */
.player-profile-personal .column-right img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 170px;
}
/* Swap order if right column has multiple images */
.player-profile-personal.multiple-right .column-right {
  order: -1; /* right column first */
}
.player-profile-personal.multiple-right .column-left {
  order: 1;  /* left column second */
}
/* Optional: set widths for columns */
.player-profile-personal .column-left {
  flex: 1 1 50%; 
}
.player-profile-personal .column-right {
  flex: 1 1 50%;
}
/* Desktop layout */
@media (min-width: 768px) {
  .player-profile-container {
    grid-template-columns: 34% 1fr;
    grid-template-rows: auto auto auto;
    gap: 20px;
  }
  
  .player-profile-col-1 {
    grid-row: 1 / span 3; /* spans all 3 rows */
  }
  .player-profile-col-2 {
    grid-column: 2;
    grid-row: 1;
    justify-content: flex-start;
    margin-bottom: -20px;
  }
  .player-profile-col-3 {
    grid-column: 2;
    grid-row: 2;
  }
  .player-profile-col-4 {
    grid-column: 2;
    grid-row: 3;
  }
}
/* player bio */
.player-profile-bio-container {
  display: flex;
  flex-direction: column; /* stacked by default (mobile) */
  gap: 0px; /* spacing between rows */
  margin-top: 20px;
}
/* Column styling */
.player-profile-bio-container .column {
  padding: 10px;
}
.section-title {
  position: relative;
  padding-left: 35px; /* space for image on mobile */
  color: #000000;
  font-size: 72px;
  font-weight: 800;
  line-height: 1;
  font-family: 'font-58';
  display: block;
  text-transform: uppercase;
  /* color: transparent; */
  /* -webkit-text-fill-color: transparent; */
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #1979dd;
  letter-spacing: 0.050em;
}

/* Image block */
.section-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 49%;
  transform: translateY(-50%);
  width: 25px;
  height: 68px;
  background: url('/css/images/icon-arrow-big-blue.svg') no-repeat center/contain;
}
.player-profile-bio-container .team-stats {
  margin-top: 0;
}
.player-profile-bio-container .column {
  padding-top: 0;
}


@media screen and (min-width: 768px) {
  
  .player-profile-bio-container {
    flex-direction: row; /* side by side */
    gap: 20px; /* spacing between rows */
  }
  .player-profile-bio-container .column-left {
    flex: 0 0 10%; /* 30% width */
    align-content: center
  }
  .player-profile-bio-container .column-right {
    flex: 0 0 90%; /* 70% width */
    
  }
  .player-profile-bio-container .bio-description {
    max-width: 640px;
  }
  .section-title {
    writing-mode: vertical-rl;
    transform: rotate(180deg); /* keeps reading top-to-bottom */
    padding-left: 0;
    padding-bottom: 0px; /* space for image at bottom */
    height: max-content;
  }

  .section-title::before {
    left: -50px;
    transform: translateY(-50%) rotate(180deg);
    width: 40px;
    height: 108px;
  }
}


@media screen and (max-width: 600px) {
  .player-profile-stats {
    grid-template-columns: 70% 30%; /* 👈 changed */
  }
  .player-profile-stats .item span:first-child {
	  font-size: 15px;
  }
  .player-profile-stats .item span:last-child {
    font-size: 25px;
  }
  .player-profile-bio-only {
    margin-top: 40px;
  }
  .player-profile-bio-container .team-stats {
    margin-left: -20px;
    margin-right: -20px;
  }

  .player-profile-bio-container .team-stats .stat-label {
    font-size: 12px;
  }
  .player-profile-bio-container .team-stats .stat-box  {
    padding: 12px 4px 3px;
  }
	
}
/* END: PLAYER PROFILE */






/* START: HIGHTLIGHT VIDEOS ACTUAL PAGE */
.video-container {
  padding-top: 45px;
}
.video-container h2 {
  font-family: 'font-46';
  text-transform: uppercase;
  line-height: 1.1;
  color: #84c0ff;
  font-size: 50px;
}
.video-slider-wrapper {
  display: grid; /*// remove for slider*/
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}
.video-column {
  position: relative;
  /*width: 100%; // add for slider
  max-height: 250px;*/
}   
.video-column img {
  height: 250px !important;
  object-fit: cover;
  width: 100%;
  object-position: center;
}
.video-image-container {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}
.video-image-container a {
  display: block;
}  
.video-image-container a::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background: rgba(0,0,0,0.4);        
}
.video-image-container a::after {
  content: '';
  position: absolute;
  border: 1px solid #4695dc;
  width: 70px;
  height: 70px;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'>\<circle cx='50' cy='50' r='50' fill='rgba(0,0,0,0.6)'/>\ <polygon points='40,30 40,70 70,50' fill='%234695dc'/>\</svg>");
}

.video-image-container-image-only a::after {
  background-image: none;
  border: 0 none;
}



.video-slider-wrapper h4 {
  font-family: 'font-46';
  text-transform: uppercase;
  font-size: 22px;
  letter-spacing: 0.030em;
  line-height: 1.1;
}
.video-description {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 8px;
}
@media (min-width: 768px) {
  .video-image-container {
    border-radius: 22px;
  }  
  
}
@media (max-width: 900px) {
  .video-slider-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
  .video-image-container a::after {
    width: 80px;
    height: 80px;
  }
}

@media (max-width: 600px) {
  .video-slider-wrapper {
    grid-template-columns: 1fr;
  }
}

/* END: HIGHTLIGHT VIDEOS ACTUAL PAGE */


/* START: NEWS ACTUAL PAGE */
.news-page-container {
  padding-top: 45px;
}
.news-page-container h2 {
  font-family: 'font-46';
  text-transform: uppercase;
  line-height: 1.1;
  color: #84c0ff;
  font-size: 50px;
}
.news-page-slider-wrapper {
  display: grid; /*// remove for slider*/
  grid-template-columns: repeat(3,1fr);
  gap: 26px;
}
.news-page-column {
  position: relative;
  /*width: 100%; // add for slider
  max-height: 250px;*/
}   
.news-page-column img {
  height: 250px !important;
  object-fit: cover;
  width: 100%;
  object-position: center;
}
.news-page-image-container {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}
.news-page-image-container a {
  display: block;
}  
.news-page-slider-wrapper h4 {
  font-family: 'font-46';
  text-transform: uppercase;
  font-size: 22px;
  letter-spacing: 0.030em;
  line-height: 1.1;
  color: #84c0ff;
}
.news-page-slider-wrapper h4 a {
 color: #84c0ff;
}
.news-page-description {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 8px;
}
.news-page-teaser {
  margin-top: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 3;      /* number of lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 16px;
}
@media (min-width: 768px) {
  .news-page-image-container {
    border-radius: 22px;
  }  
  
}
@media (max-width: 900px) {
  .news-page-slider-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
  .news-page-image-container a::after {
    width: 60px;
    height: 60px;
  }
}

@media (max-width: 600px) {
  .news-page-slider-wrapper {
    grid-template-columns: 1fr;
  }
}

/* END: NEWS ACTUAL PAGE */
/* START: NEWS RELATED CAROUSEL */
.news-related h3 {
  background-color: #1a314d;
  font-family: 'font-46';
  text-transform: uppercase;
  font-size: 60px;
  letter-spacing: 0.030em;
  line-height: 1.1;
  color: #031224;
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;
  padding: 10px 0 10px 40px;
  position: relative;
  left: -40px;
}

.news-related h3:after {
  position: absolute;
  content: '';
  background-color: #1a314d;
  top: 0;
  width: 100%;
  height: 100%;
}
.newsRelatedCarouselContainer {
  padding-top: 20px;
  padding-bottom: 20px;
}
.newsRelatedCarouselContainer .tns-ovh {
  overflow: visible !important;
}
.news-related-slider-wrapper {
  /*display: grid;  // remove for slider*/
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.news-related-column {
  position: relative;
  /*max-height: 250px;*/
  /*width: 100%;*/
}
.news-related-column img {
  /*height: 250px !important;*/
}
.news-related-image-container {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}
.news-related-image-container a {
  display: block;
}
.news-related-slider-wrapper h4 {
  font-family: 'font-46';
  text-transform: uppercase;
  font-size: 22px;
  letter-spacing: 0.030em;
  line-height: 1.1;
  color: #84c0ff;
}
.news-related-slider-wrapper h4 a {
 color: #84c0ff;
}
.news-related-description {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 8px;
}

/* STYLING OF PREVIOUS NEXT BUTTONS FOR THIS SLIDER AND HOVER BUTTONS ON SLIDER */
.newsRelatedNavigationControls ul.controlcontainer li button::after {
  border-color: #95c9ff;
  border-style: solid;
  border-width: 2px 2px 0 0;
  height: 10px;
  width: 10px;
}
.newsRelatedNavigationControls ul.controlcontainer li button {
  border: 2px solid #95c9ff;
  width: 60px;
  height: 60px;
  background: rgba(0,0,0,0.6);
  opacity: 0;
  border-radius: 50%;
}
/* Show next button when hovering right half */
.newsRelatedNavigationControls ul.controlcontainer li button.show {
  opacity: 1;
  pointer-events: auto;
}
ul.newsRelatedNavigationControls ul.controlcontainer li:first-child button.show {
  transform: translateX(100%) translateY(0%);
}
/* Right button off-screen initially */
ul.newsRelatedNavigationControls ul.controlcontainer li:last-child button.show {
  transform: translateX(-100%) translateY(0%);    
}
.newsRelatedNavigationControls ul.controlcontainer li[aria-disabled="true"] button.show {
  filter: grayscale(100%);
  opacity: 0.3;
}
@media (min-width: 768px) {
  .news-related-image-container {
    border-radius: 22px;
  }
}

@media (min-width: 1024px) {
  /* ADD SCRUBBING OVER SLIDER */
  .newsRelatedCarouselContainer::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: calc((100vw - 100%) / 2);
    pointer-events: none;
    background: linear-gradient(
      to right,
      rgba(255,255,255,0) 0%,
      rgba(3,18,36,1) 80%
      );
  }

  .news-related h3 {
    font-size: 70px;
    padding: 10px 0 10px 80px;
 
  }



}


@media (max-width: 600px) {
  .news-related h3 {
    font-size: 40px;
    left: -28px;
    padding-left: 28px;
  }
  .glider-slide {
    margin-right: 10px;
    align-content: flex-start !important;
  }
}

/* END: NEWS RELATED CAROUSEL */




/* START: HOCKEY SCHEDULE */
.fc .fc-scroller-harness-liquid {
	margin-top: 4px;
}
.calendar-container {
  display: flex;
  flex-direction: column; /* stacked on mobile */
  gap: 20px;
  padding-top: 20px;
  padding-bottom: 80px;
}
.calendar-column {
  width: 100%; /* full width on mobile */
}
.calendar-caller {
  position: relative;
}
#calendar {
  min-height: 300px;
}
#calendarresults {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.3s ease;
  min-height: 300px;
}
#calendarresults.is-loading {
  opacity: 0;
  transform: translateY(10px);
}
.calendar-column-one .link-row a {
  font-size: 16px;
  padding: 12px 40px;
}
.calendar-column-one .link-row a span {
  left: -10px;
}
.calendar-column-one .button-three span::before,
.calendar-column-one .button-three span::after {
  background-size: 16px auto;
  right: -26px;
}
.calendar-column-one .link-row {
  flex-direction: row;
  padding-top: 15px;
}
.calendar-column-one .link-row a:last-child {
  margin-top: 0;
}
#calendar {
  max-width: 100%;
  margin: 0 auto;
  background-color: #000; /* black calendar background */
  padding: 10px;
  border-radius: 22px;
  border: 1px solid #1b4979;
}
#selected-date {
  max-width: 500px;
  margin: 20px auto 0;
  font-size: 1.1rem;
  padding: 10px;
  background-color: #e3f2fd;
  border-radius: 6px;
  text-align: center;
  color: #333;
}
/* Highlight today */
.fc-day-today {
  background-color: #0d2e49 !important;
  color: #fff;
  border-radius: 12px;
  font-weight: 600;
}

/* Gray out days outside current month */
.fc-day-other {
  color: #b0b0b0 !important;
}

/* Hover effect on selectable days */
.fc-daygrid-day:hover {
  background-color: #ed1c24;
  cursor: pointer;
  color: #fff;
  border-radius: 12px;  
  font-weight: 600;
}
.fc .fc-highlight {
  background-color: #ed1c24;
  border-radius: 12px;
  font-weight: 600;
}

/* Header styling */
.fc .fc-toolbar.fc-header-toolbar {
  margin-bottom: 5px;
}
.fc .fc-toolbar-title {
  font-family: 'font-46';
  text-transform: uppercase;
  font-size: 30px;
  color: #84c0ff;
}
.fc .fc-button-primary {
  background-color: transparent;
  color: #fff;
  border: none;
  padding: 5px 10px;
  border-radius: 4px;
}
.fc .fc-button-primary:hover {
  background-color: transparent;
}
.fc button:hover {
  background-color: #333;
}
.fc-theme-standard .fc-scrollgrid {
  border: 0 none !important;
}
.fc-theme-standard td, 
.fc-theme-standard th {
  border: 0 none;
}
.fc-theme-standard th {
  border-left: 0 none;
  border-right: 0 none;
  border-bottom: 1px solid #1b4979 !important;
  border-top: 1px solid #1b4979 !important;
}
.fc td {
  vertical-align: middle;
}
/* Remove all borders */
.fc .fc-daygrid-day, 
.fc .fc-daygrid-day-top, 
.fc .fc-col-header-cell, 
.fc .fc-daygrid-body, 
.fc .fc-scrollgrid-section > div {
  border: none !important;
}
/* Center day number in the cell */
.fc-daygrid-day-frame {
  display: flex !important;
  align-items: center;
  justify-content: center;
  
}
/* Reduce td height */
.fc-daygrid-body td {
  height: 20px; /* smaller row height */
  padding: 0;
  font-weight: 600;
}
.fc .fc-scrollgrid th a {
  text-transform: uppercase;
  font-family: 'font-46';
  color: #888888;
  font-size: 22px;
  padding: 10px 4px;
}


.calendar-column-two {
  display: flex; 
  flex-direction: column; 
  gap: 0px; /* spacing between rows */
}

.schedule-title-row { 
  width: 100%;
  padding: 0;
}

.schedule-title-row .red-pill {
  font-family: 'Poppins';
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  font-size: 20px;
  line-height: 1;
}
.schedule-title-month-row {
  padding-bottom: 5px;
} 
.schedule-title-month-row .red-pill {
	font-family: 'font-46';
	text-transform: uppercase;
	font-size: 30px;
	color: #fff;
	padding-left: 18px;
	padding-bottom: 7px;
  background-color: transparent;
}
.schedule-row { 
  width: 100%;
  padding-top: 18px;
  padding-bottom: 18px; 
  position: relative;
}

.schedule-title-row h3 {
  font-family: 'font-46';
  text-transform: uppercase;
  font-size: 30px;
  color: #84c0ff;
  padding-left: 18px;
  padding-bottom: 7px;
}
.schedule-row:not(:last-child):after { 
  content: '';
  position: absolute;
  width: 100%;
  height: 7px;
  bottom: 0;
  left: 0;
  background-color: #515151;
  border-radius: 7px;
}
.schedule-row span {
  color: #84c0ff;
}
.schedule-row p {
  padding: 3px 18px;
}
/* Desktop */
@media (min-width: 768px) {
  .calendar-container {
    flex-direction: row; /* side by side */
  }
  .calendar-column {
    width: 50%; /* full width on mobile */
  }
  .calendar-column-one {
    padding-left: 20px;
    padding-right: 20px;
  }
  .calendar-caller {
    max-width: 360px;
    padding: 0 18px 16px;
  }

  .calendar-column-one .link-row a {
    font-size: 24px;
    padding: 16px 60px;            
  }

}
@media (max-width: 600px) {
  .calendar-column-two {
    padding-top: 8px;
  }
}


/* END: HOCKEY SCHEDULE */

/* START: STAFF PAGE */
/* staff listing page */
.staff-container {
    padding-top: 20px;
  }
  .staff-container h2 {
    margin: 0 auto;
    padding-left: 30px;
    padding-right: 30px;
  }
  /* ===== Desktop Grid: max 4 columns per row ===== */
.staff-category-group {
  display: flex;
  grid-template-columns: repeat(4, auto); /* up to 4 columns */
  gap: 20px;
  justify-content: center; /* centers items if less than 4 */
  padding-top: 25px;
  padding-bottom: 50px;
  flex-wrap: wrap; /* ensures multiple rows wrap */
}

.staff-card {
  /* Fade-in for Glider init */
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.5s ease, transform 0.5s ease;
  width: 275px;
}
.staff-card img {
  border-radius: 10px;
}
.staff-details {
  padding-left: 20px;
}
.staff-details h3 {
  font-family: 'font-46';
	font-size: 24px;
	line-height: 1.1;
	color: #84c0ff;
	text-transform: uppercase;
  letter-spacing: 0.030em;
  padding-top: 10px;
}
.staff-details span {
  font-size: 16px;
  display: block;
  padding-top: 3px;
}
/* Mobile: slider handles layout */
@media (max-width: 599px) {
  .staff-category-group {
    display: block; /* Glider manages slides */
  }
  .staff-card {
    opacity: 0; /* hide initially for fade-in */
    transform: translateY(20px); /* slight move */
  }

  .staff-profile .share-links {
    width: 100%;
  }
  .staff-profile .share-links ul.socialshare {
    justify-content: center;
  }

}
/* staff details page */
.staff-columns {
  display: block;
}
.meta-row {
  display: flex;
  flex-direction: column;   /* stack */
  gap: 12px;
  align-items: flex-start;
}
.cta-row {
   display: flex;
  flex-direction: column;   /* stack */
  gap: 15px;
  margin-top: 40px;
}
.cta-row .btn {
 /* width: 100%;*/
}
.staff-profile {
  padding-bottom: 30px;
}
.staff-profile h1 {
	font-family: 'font-46';
	font-size: 54px;
	line-height: 1.1;
	color: #fff;
	text-transform: uppercase;
}
.staff-left img {
  max-width: 275px;
  border-radius: 22px;
}
.staff-profile h2 {
	font-family: 'font-46';
	font-size: 28px;
	line-height: 1.1;
	color: #84c0ff;
	text-transform: uppercase;
  letter-spacing: 0.030em;
  padding-top: 7px;
}
.staff-left {
  text-align: center;
}
.category-title {
  padding: 4px 0 18px;
}
.category-title span  {
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
  font-size: 26px;
}
.occupation-title {
  padding: 4px 0 15px;
  max-width: 300px;
  margin: 0 auto;
  font-size: 16px;
}
.button-cube {
	border-radius: 6px;
}
.button-five {
	border-color: #4192cf;
	background: rgba(0,0,0,0.4);
	color: #84c0ff;
}
.button-five:hover,
.button-five:active,
.button-five:focus {
	border-color: #4192cf;
	background-color: transparent;
	color: #84c0ff;
}

.bio {
  padding-top: 15px;
  padding-bottom: 15px;
}
.cta-row .link-row {
	padding-top: 0;
}
.cta-row .link-row a {
	padding: 22px 75px;
	/* width: max-content; */
}
.cta-row .button-three span::before, 
.cta-row .button-three span::after {
	background-size: 24px auto;
}
ul.socialshare li span {
	background: transparent;
	font-family: 'font-46';
  font-weight: 600;
  color: #84c0ff;
	border-radius: 6px;
	display: inline-block;
	padding: 4px 15px;
	text-transform: uppercase;
  letter-spacing: 0.100em;
}
.back-link {
  display: block;
  font-family: 'font-46';
  font-weight: 600;
  color: #84c0ff;
  text-transform: uppercase;
  font-size: 18px;
  letter-spacing: 0.100em;
  border-top: 1px solid #4192cf;
  border-bottom: 1px solid #4192cf;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: center;
}
.back-link span {
  position: relative;
}
.back-link span::before {
	content: '';
	position: absolute;
	background: url("/css/images/red-arrow-left-long.svg") left 50% no-repeat;
	background-size: 26px auto;
	background-position: 8px 50%;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
	left: -40px;
	top: 0;
	transition: background-position 0.3s linear;
}
.back-link:hover span::before,
.back-link:active span::before,
.back-link:focus span::before {
  background-position: 0px 50%; /* moves arrow right */
}
@media (min-width: 992px) {
  .staff-columns {
    display: grid;
    /*grid-template-columns: 1fr 1fr; */
    grid-template-columns: 42% 58%;
    gap: 0px;
    align-items: start;
  }
  .meta-row {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #4192cf;
    border-bottom: 1px solid #4192cf;
    padding-top: 8px;
    padding-bottom: 8px;
    position: relative;
  }
  .meta-row::before,
  .meta-row::after {
    content: '';
    position: absolute;
    height: 100%;
    width: 15px;
    border-top: 1px solid #4192cf;
    border-bottom: 1px solid #4192cf;
  }
  .meta-row::before{
    left: -15px;
  }
  .meta-row::after {
    right: -15px;
  }
  .cta-row {
    flex-direction: row;
  }
  .cta-row .btn {
    flex: 1;
  }
  .staff-profile h1 {
    font-size: 90px;
  }
  .staff-right {
    max-width: 540px;
  }
  .cta-row .link-row {
    padding-top: 20px;
  }
  .cta-row .link-row a {
    padding: 28px 75px;
    /* width: max-content; */
    max-width: 360px;
  }
  .cta-row .button-three span::before, 
  .cta-row .button-three span::after {
    background-size: 30px auto;
  }  
  .staff-right .back-link {
    border-top: 0 none;
    border-bottom: 0 none;
    font-size: 1em;
    position: relative;
  }
  .staff-right .back-link::after {
    content: '';
    position: absolute;
    width: 1px;
    height: 100%;
    top: 0;
    right: 36px;
    background-color: #4192cf;
  }
  .share-links ul.socialshare {
	  margin: 0;
    position: relative;
    left: -25px;
  }
  .staff-profile {
    padding-bottom: 60px;
  }
  .bio {
    padding-top: 0;
    padding-bottom: 15px;
  }
  .bio p:first-child {
    padding-top: 0;
  }


}

/* END: STAFF PAGE */

/* START: CONTACT PAGE */
.gradient-bottom {
  background: url("/css/images/bg-bottom-contact-us.webp") left 100% no-repeat;
  background-size: contain;
}
.contact-container {
  width: 100%;
}
.contact-container h2 {
  position: relative;
  font-family: 'font-46';
  text-transform: uppercase;
  color: #84c0ff;
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: 0.050em;
}
.contact-container h2::before {
  content: '';
  position: absolute;
  left: -49px;
  top: 0;
  height: 100%;
  width: 44px;
  
}
.contact-container h2.gi::before {
  background: url("/css/images/icon-contact-general.svg") 50% 3px no-repeat;
  top: 2px;
}
.contact-container h2.apt::before {
  background: url("/css/images/icon-contact-appointment.svg") 50% 0% no-repeat;
  top: -3px;
}
.contact-container h2.loc::before {
  background: url("/css/images/icon-contact-location.svg") 50% 0% no-repeat;
  top: -5px;
}

/* Generic row spacing */
.row {
  padding: 25px 0px;
  border-bottom: 3px solid #1c5da2;
  position: relative;
  max-width: 1100px;
}
.row:last-child {
  border-bottom: 0 none;
}
.row::before,
.row::after {
  content: '';
  position: absolute;
  border-bottom: 3px solid #1c5da2;
  top: 0;
  width: 10px;
  height: 100%;
}
.row::before {
  left: -10px;
}
.row::after {
  right: -10px;
}
.row:last-child::before,
.row:last-child::after {
  border-bottom: 0 none;
}
/* Header always full width */
.row-header {
  margin-bottom: 10px;
}

/* Shared 2-column layout */
.row-columns,
.map-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

/* Map styling */
.map-columns iframe {
  width: 100%;
  height: 300px;
  border: 0;
}

/* Mobile */
@media (max-width: 767px) {
  .contact-container h2 {
    margin-left: 46px;
  }

  .contact-container h2.gi::before {
    background-size: 36px auto;
    top: 0;
  }
  .row-columns,
  .map-columns {
    display: block;
  }

  .map-columns iframe {
    height: 250px;
  }
  .col-left-contact-contents-intro {
    padding-bottom: 10px;
  }

}
@media (min-width: 768px) {
  .map-columns {
    padding-bottom: 30px;
  }
  .contact-container h2 {
    margin-left: 34px;
    font-size: 40px;
    
  }
  .col-left-contact .col-left-contact-contents {
    padding-left: 34px;
  }
  

  .map-columns .col-right-contact {
    align-content: center;
  }
  .row-2 .col-right-contact,
  .map-columns .col-right-contact {
    max-width: 440px;
  }
}
@media (min-width: 960px) {
  .contact-us .one-col-container .column {
    
    justify-content: left; 
  }
  .row-columns, .map-columns {
    grid-template-columns: 40% 60%;
    max-width: 1000px;
  }
}
@media (min-width: 1280px) {
  .contact-container {
    max-width: 1200px;
    margin: 0 auto;
  }
  .row-columns, .map-columns {
    grid-template-columns: 40% 60%;
    max-width: 1000px;
  }

}
div.map {
	width: 100%;
  height: 300px;
  border-radius: 22px;
  border: 4px solid #3775b5;
}

/* STYLE THE INFO WINDOW AS IT'S CHOOSING WHITE TEXT. */
.custom-info-window {
  color: #3a3a3c;
  padding: 10px 12px;
}
/* END: CONTACT PAGE */

/* START: NEWS ARTICLE */
/* START: NEWS ARTICLE */
.news-header-label {
	font-family: 'font-58';
	font-weight: 900;
	letter-spacing: 0.055em;
	font-size: 48px;
	line-height: 1;
	transition: font-size 0.3s ease;
}
.news-article h1 {
	font-family: 'font-46';
	color: #fff;
	text-transform: uppercase;
	line-height: 1.15;
	letter-spacing: 0.030em;
	font-size: 2.5em;
	padding-top: 10px;
  position: relative;
}
.news-meta hr {
  border-color: #ed1c24;
  border-width: 2px;
  margin-top: 10px;
  margin-bottom: 0;
  margin-left: -5px;
}
.news-intro {
  font-weight: 600;
  padding-top: 0;
  padding-bottom: 3px;
}
.news-info {
	font-weight: 600;
	color: #84c0ff;
	padding-top: 2px;
  padding-bottom: 4px;
}
ul.socialshare li span {
	background: #020a14;
	font-family: 'font-46';
  font-weight: 600;
  color: #84c0ff;
	border-radius: 6px;
	display: inline-block;
	padding: 4px 15px;
	text-transform: uppercase;
  letter-spacing: 0.100em;
}
.news-image img {
	border-radius: 22px;
}
.news-left .news-header-left {
  font-size: 0;
  display: none;
}
.news-content p:first-child::first-letter {
	color: #237bcb;
	float: left;
	font: 3.75em/1 'font-46';
	padding-top: 6px;
	padding-right: 7px;
	padding-left: 0;
	margin-left: 0;
}
.news-content-wrapper .back-link,
.news-left .back-link {
  max-width: max-content;
  margin: 0 auto;
}
.back-link span { 
  position: relative; 
  left: 15px;
}

div.trendingContainer hr {
	border-width: thick;
	margin-top: 4px;
	margin-bottom: 0;
	border-color: #1a5d9c;
}
ol.customListCounter li {
	counter-increment: li;
	padding: 20px 0;
	border-bottom: 1px solid #1a5d9c;
	position: relative;
}


/* ===== Top Section ===== */
.news-top {
  display: grid;
  gap: 30px;
  grid-template-areas:
    "meta"
    "image";
}

.news-meta { grid-area: meta; }

.news-image { grid-area: image; }

.news-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* ===== Middle Section ===== */
.news-middle {
  display: grid;
  gap: 30px;
  grid-template-areas:
    "left"
    "content"
    "sidebar";
}

.news-left { grid-area: left; }
.news-content-wrapper { grid-area: content; display: flex; flex-direction: column; }
.news-content { margin-bottom: 20px; }
.back-link {  } /* mobile handled by wrapper flex-direction */
.news-sidebar { grid-area: sidebar; }

/* Hide newsletter on mobile */
.newsletter { display: none; }


/* TOGGLE LIST TO NEWS ARTICLES */
.toggleList {
  list-style-type: none;
  margin: 30px 0 0;
  padding: 0;
}
.toggleList li {
  padding: 20px 7px;
  border-top: 1px solid #7d7d7d;
}

.toggleList li ul li {
  border-top: 0 none;
  padding: 3px 0;  
}
.toggleTopic {
  color: #b1d7ff;
  cursor: pointer;
  font-family: 'font-46';
  font-size: 1.25em;
  letter-spacing: 0.035em;    
  position: relative;
  text-transform: uppercase;
  padding-right: 30px;
}
.toggleTopic:after {
  content: '';
  background: url("/css/images/red-chevron-down.svg") left top no-repeat;
  width: 20px;
  height: 13px;
  right: 0;
  top: 6px;
  position: absolute;
  transform-origin: 50% 40%;
  transition: transform .4s ease-in-out;
}
.toggleTopic.clicked:after {
  transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
}
.toggleTopic .toggleAnswer {
  /*display: none;*/
}
div.toggleAnswer p:first-child::first-letter {
  color: inherit;
  float: none;
  font-size: inherit;
  padding-right: 0;
  padding-top: 0;
  font-family: inherit;
  font-weight: inherit;
}
.toggleList div.toggleAnswer {
  display: none;
  padding-left: 20px;
  padding-right: 20px;
}
@media only screen and (min-width: 60em) {
  .toggleList li {
    padding: 20px 25px;
  }
  .toggleList li ul li {
    padding: 3px 0;	  
  }
}

@media (min-width: 960px) {
  /* Top: Image left, meta right */
  .news-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "image meta";
    align-items: center;
    gap: 60px;
  }
  .news-meta {
    max-width: 460px;
  }
  /* Middle: 3 columns */
  .news-middle {
    display: grid;
    grid-template-columns: 220px 1fr 240px;
    grid-template-areas:
      "left content sidebar";
    gap: 26px;
    margin-top: 36px;
  }

  .news-left,
  .news-sidebar {
    position: sticky;
    top: 120px; /* adjust based on your header height */
    align-self: start; /* IMPORTANT for grid */
  }

  /* Show newsletter on desktop */
  .newsletter { display: block; }

  /* Back-link can stay in original column position */
  .back-link span { position: relative; left: 15px; }

  /* Related always full-width row */
  .news-related { margin-top: 100px; }


  .news-top .news-header-label {
    font-size: 0;
    display: none;
  }
  .news-top hr {
    display: none;
  }

  .news-article h1 {
    padding-bottom: 5px;
  }
  .news-article h1::after {
    content: '';
    position: absolute;
    width: 100%;
    bottom: 0;
    left: -5px;
    height: 2px;
    background-color: #ed1c24;
  }
  .news-intro {
    padding-top: 3px;
  }
  .news-left {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .news-left .news-header-left {
    order: 2; /* desktop: container stays first */
  }
  .news-left .news-header-left {
    font-size: 120px;
    display: block;
	  writing-mode: vertical-rl;
	  transform: rotate(180deg);	  
	  padding-bottom: 0px;
	  height: max-content;
  }
  .news-left .back-link {
    order: 1; /* desktop: back-link below container */
    margin-bottom: 20px;
    margin-top: 10px;
  }
}
/* ===== Mobile Flex Adjustments ===== */
@media (max-width: 959px) {
  .news-middle {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .news-content-wrapper {
    display: flex;
    flex-direction: column;
  }
  .back-link {
     /* ensures it is below description */
  }
}
/* END: NEWS ARTICLE */

/* START: STRENGTH AND CONDITIONING PAGE */
.strength-conditioning-programs {
  padding-top: 20px;
  padding-bottom: 20px;
}
.strength-conditioning-programs h3 {
	font-size: 120px;
	display: block;
	font-family: 'font-58';
	font-weight: 900;
	letter-spacing: 0.055em;
	font-size: 100px;
	line-height: 1;
	transition: font-size 0.3s ease;

}
/* END: STRENGTH AND CONDITIONING PAGE */

/* START: ABOUT US */
/* FAQ */
section.faq {
  background: #192e43;
  /*background: rgb(7,7,8);
  background: linear-gradient(180deg, rgba(7,7,8,1) 30%, rgba(24,25,27,1) 75%, rgba(4,27,55,1) 98%);*/
  /*background: url("/css/images/bg-faq-mobile.webp") 50% bottom no-repeat;
  background-size: cover;*/
  padding-bottom: 30px;
  position: relative;
}

.faqQuestion + div {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding-top: 0;
  padding-bottom: 0;
}


section.faq img.faqImage {
  position: absolute;
}
div.faqContainer {
  padding-top: 30px;
  position: relative;
}
div.faqContainer h3 {
  display: inline-block;
  color: #fff;
  font-family: 'font-46';
  font-size: 2.25em;
  letter-spacing: 0.050em; 
  text-transform: uppercase;
  text-align: center;
  position: relative;
  line-height: 1.2;
  position: relative;
  max-width: 344px;
}
div.faqContainer h3 span {
  display: inline-block;
  position: relative;
}
div.faqContainer h3 span:before,
div.faqContainer h3 span:after {
  content: '';
  position: absolute;
  
  top: 0;
  width: 30px;
  height: 40px;
}
div.faqContainer h3 span:before {
  background: url("images/icon-thunder-left.svg") 50% top no-repeat;
  background-size: 20px auto;
  left: -36px;
}

div.faqContainer h3 span:after {
  background: url("images/icon-thunder-right.svg") 50% top no-repeat;
  background-size: 20px auto;
  right: -36px;
}
div.faqContainer ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
div.faqContainer ul.faqList {
  margin-top: 30px;
}
div.faqContainer ul li {
  padding: 20px 7px;
  border-bottom: 1px solid #7d7d7d;
}
div.faqContainer ul li:last-child {
  border-bottom: 0 none;
}
div.faqContainer h4 {
  color: #b1d7ff;
  cursor: pointer;
  font-family: 'font-46';
  font-size: 1.25em;
  letter-spacing: 0.035em;    
  position: relative;
  text-transform: uppercase;
  padding-right: 30px;
}
div.faqContainer h4:after {
  content: '';
  background: url("/css/images/red-chevron-down.svg") left top no-repeat;
  width: 20px;
  height: 13px;
  right: 0;
  top: 6px;
  position: absolute;
  transform-origin: 50% 40%;
  transition: transform .4s ease-in-out;
}
div.faqContainer h4.clicked:after {
  transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
}
div.faqContainer div.answerHolder {
  
}
@media only screen and (min-width: 960px) { /* 960 */
  /* FAQ (960) */
  section.faq {
    padding-bottom: 0;
  }
  div.faqContainer {
    /*background: rgb(7,7,8);
    background: linear-gradient(180deg, rgba(7,7,8,1) 30%, rgba(24,25,27,1) 75%, rgba(4,27,55,1) 98%);*/
    /*background: url("/css/images/bg-faq-desktop.webp") 50% bottom no-repeat;*/
    padding-bottom: 80px;
    padding-top: 80px;
  }
  div.faqContainer h3 {
    font-size: 4em;
    max-width: 100%;
  }
  div.faqContainer h3 span::before, 
  div.faqContainer h3 span::after {
    display: none;
  }
  div.faqContainer h3:before, 
  div.faqContainer h3:after {
    content: '';
    position: absolute;
    top: 0;
    width: 30px;
    height: 66px;
  }
  div.faqContainer h3:after {
    background: url("images/icon-thunder-right.svg") 50% top no-repeat;
    background-size: 33px auto;
    right: -46px;
  }
  div.faqContainer h3:before {
    background: url("images/icon-thunder-left.svg") 50% top no-repeat;
    background-size: 33px auto;
    left: -46px;
  }
  div.faqContainer h4 {
    font-size: 1.75em;
  }
  div.faqContainer ul li {
    padding: 20px 25px;
  }
  div.faqContainer h4:after {
    top: 12px;
  }
  div.faqContainer h4 {
    padding-right: 54px;
  }

  div.answerHolder {
    padding-right: 54px;
    font-size: 1.125em;
  }


  section.faq img.faqImage {
    height: 100% !important;
    width: 100%;
    object-fit: cover;
  }

}


/* END: ABOUT US */


/* FORM SETTINGS (ERROR) */
.label-error {
  color: #f00;
}
.input-error {
  border-color: #f00;
}
.error {
  color: #f00;
}


/* 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                                                     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @                               M E D I A  B R E A K (768)                            @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                                                     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
*/
@media only screen and (min-width: 601px) { /* 768 */

  .footer-grid {
    gap: 4px;
  }
  footer ul.menu {
    margin: 0 0 30px;
  }
  footer h5 .plusMinus {
    display: none;
  }
  .footer-grid .item {
    padding: 6px 20px;
  }
  footer .column-two h5,
  footer .column-three h5 {
    padding: 0 0 8px;
    border-top: 0 none;
  }
 


}

/* 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                                                     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @                               M E D I A  B R E A K (960)                            @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                                                     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
*/
@media only screen and (min-width: 60em) { /* 960 */
  /*
  .viewport {
    overflow: hidden;
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    box-sizing: border-box;
  }
  .scroll-container {
    position: absolute;
    overflow: hidden;
    z-index: 10;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    width: 100%;
  }
  */
}

/* 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                                                     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @                               M E D I A  B R E A K (1025)                           @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                                                     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
*/
@media (min-width: 1025px) {
  /* FOOTER - DESKTOP - 4 COLUMNS - 1025 */
  .footer-grid {
    /*grid-template-columns: repeat(4, 1fr);*/
    grid-template-columns: 23% 23% 17% 37%;

  }
  .footer-grid .column-four {
    max-width: 100%;
    margin: 0;
    text-align: left;
  }

}

@media (min-width: 601px) and (max-width: 1024px) {
  /* FOOTER - TABLET - 1 / 2 / 1 COLUMNS - > 600 TO < 1025 */
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-grid .item:nth-child(1),
  .footer-grid .item:nth-child(4) {
    grid-column: span 2;
  }
  .footer-grid .column-four {
    max-width: 455px;
    margin: 40px auto 0;
  }
}

@media (max-width: 600px) {
  /* FOOTER - MOBILE - STACKED COLUMNS < 601 */
  .footer-grid {
    grid-template-columns: 1fr;
  }
}

/* FOOTER - OPEN AND CLOSE THE MENU WHEN THE H5 IS CLICKED */
@media (max-width: 600px) {
  footer .menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
  }
  footer .menu.open {
    max-height: 500px; /* large enough to fit content */
    margin-bottom: 30px;
  }
  .footer-grid .column-two h5,
  .footer-grid .column-three h5 {
    padding-left: 5px;
  }
  .footer-grid .column-three::after {
 	  content: '';
	  position: absolute;
	  height: 1px;
	  background-color: #5c5c5c;
	  overflow: hidden;
	  left: 30px;
	  bottom: 0;
	  right: 30px;
	  margin: 0 auto;
  }
}






@media (max-width: 1024px) {
  /* FOOTER */
  .footer-grid .item {
    transform: translateY(6px);
    opacity: 0.98;
  }
}


@media (prefers-reduced-motion: reduce) {
  /* FOOTER */
  .footer-grid,
  .footer-grid .item {
    transition: none;
  }
}


/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * The use of `table` rather than `block` is only necessary if using
 * `::before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}




/* NEWS DETAILS PAGE */
ul.newsDetailListing {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
ul.newsDetailListing li {
  box-sizing: border-box;
}
div.newsDetailRowOne {
  background-color: #010a14;
  padding-bottom: 25px;
  padding-top: 68px;
}
div.newsDetailContainer h1 {
 position: relative;
  font: 2em/1.2 'font-58';
  letter-spacing: 0.100em;
  text-transform: uppercase;
  /* color: rgb(7,7,8); */
  /* background: linear-gradient(-90deg, #84c0ff 0%, #0455b1 50%); */
  /* background-size: 200% 200%; */
  /* -webkit-background-clip: text; */
  /* -webkit-text-stroke: 4px transparent; */
  background: -webkit-linear-gradient(-90deg, #84c0ff 0%, #0455b1 60%);
  -webkit-background-clip: text;
  -webkit-text-stroke: 2px transparent;
  color: rgb(7,7,8);
  padding-bottom: 5px;
}
div.newsDetailContainer h1:after {
  position: absolute;
  height: 2px;
  width: 100%;
  background: #ed1c24;
  content: '';
  left: -5px;
  bottom: 0;
}
div.newsDetailContainer h2 {
  font-family: 'font-46';
  color: #fff;
  text-transform: uppercase;
  line-height: 1.15;
  letter-spacing: 0.030em;
  font-size: 2.5em;
  padding-top: 15px;
}
div.newsDetailContainer p.intro {
  font-weight: 600;
  padding-top: 0px;
}
div.newsDetailContainer p.credentials {
  font-weight: 600;
  color: #84c0ff;
  padding-top: 2px;
}
ul.socialshare {
  margin: 7px 0 0;
  padding: 0;
  list-style-type: none;
  display: flex;
}
ul.socialshare li a {
  display: block;
  width: 26px;
  height: 26px;
  text-align: left;
  text-indent: -99em;
  overflow: hidden;
}
ul.socialshare li {
  padding-right: 12px;
}
ul.socialshare li span {
  /*background: #ed1c24;*/
  font-weight: 600;
  border-radius: 6px;
  display: inline-block;
  padding: 3px 12px;
  text-transform: uppercase;            
  font-size: 16px;
}
ul.socialshare li.facebook a {
  background: url("/css/images/icon-facebook.svg") 50% 50% no-repeat;
  background-size: 12px auto;
}
ul.socialshare li.twitter a {
  background: url("/css/images/icon-twitter.svg") 50% 50% no-repeat;
  background-size: 20px auto;
}
ul.socialshare li.email a {
  background: url("/css/images/icon-email.svg") 50% 50% no-repeat;
  background-size: 23px auto;
}
ul.socialshare li.link button {
  background: url("/css/images/icon-link.svg") 50% 50% no-repeat transparent;
  background-size: 19px auto;
  border: 0 none;
  cursor: pointer;
  text-align: left;
  text-indent: -99em;
  overflow: hidden;
  width: 26px;
  height: 26px;
}
ul.newsDetailListing li.columnTwo {
  padding-top: 20px;
}
ul.newsDetailListing figure {
  margin: 0;
  padding: 0;
}
ul.newsDetailListing figure img {
  border-radius: 22px;
}
div.newsDetailRowTwo {
  padding-top: 10px;
  padding-bottom: 25px;
}
ul.newsDescriptionContainerList {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
ul.newsDescriptionContainerList li {
  box-sizing: border-box;
}
div.mainBlogDescription p:first-child:first-letter {
  color: #237bcb;
  float: left;
  font: 3.75em/1 'font-46';
  padding-top: 6px;
  padding-right: 7px;
  padding-left: 0;
  margin-left: 0;
}

div.trendingContainer {
  padding-top: 30px;
}
div.trendingContainer h4 {
  font-family: 'font-46';
  color: #84c0ff;
  font-size: 1.75em;
  letter-spacing: 0.040em;
  padding-left: 37px;
  text-transform: uppercase;
}
div.trendingContainer hr {
  border-width: thick;
  margin-top: 4px;
  margin-bottom: 0;
  border-color: #1a5d9c;
}
ol.customListCounter {
  list-style: none;
  counter-reset: li;
  margin-top: 0;
}
ol.customListCounter li::before {
  color: #84c0ff;
  font-family: 'font-46';
  font-size: 2.5em;
  content: counter(li);
  margin-left: -34px;
  position: absolute;
  top: 55%;
  transform: translateY(-50%);
  line-height: 1;
}
ol.customListCounter li {
  counter-increment: li;
  padding: 10px 0;
  border-bottom: 1px solid #1a5d9c;
  position: relative;
}
ol.customListCounter li:last-child {
  border-bottom: 0 none;
}
ol.customListCounter li h5 {
  font-size: 0.938em;
  line-height: 1.2;
}
ol.customListCounter li a {
  text-decoration: none;
}

div.cloudNewsletter {
  background: #020a14;
  border-radius: 33px;
  padding: 37px;
  margin-top: 25px;
  border: 1px solid #0e4374;
  background: #020A14;
background: linear-gradient(145deg, rgba(2, 10, 20, 1) 50%, rgba(31, 63, 91, 1) 80%, rgba(31, 63, 91, 1) 100%);
}
div.cloudNewsletter h4 {
  color: #84c0ff;
  font-family: 'font-46';
  text-transform: uppercase;
  letter-spacing: 0.015em;
  font-size: 35px;
  line-height: 1.2;
}
a.link-block {
  display: block;
}

a.arrowLink {
  background: url("/css/images/red-arrow-right-long.svg") left 50% no-repeat;
  background-size: 40px auto;
  text-decoration: none;
  padding-left: 50px;
  font-weight: 700;
  color: #fff;
  font-size: 1.2em;
  -webkit-transition: all .3s linear;
  -ms-transition: all .3s linear;
  transition: all .3s linear;
}
a.arrowLink:hover,
a.arrowLink:active,
a.arrowLink:focus {
  background-position: 5px 50%;
}
div.columnTwoContainer {
  max-width: 360px;
  margin: 0 auto;
}




@media only screen and (min-width: 60em) { /* 960 */
/* NEWS DETAILS PAGE (960) */
  div.newsDetailRowOne {
    padding-top: 95px;
    padding-bottom: 100px;
    background: rgb(0,0,0);
    background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(2,18,37,1) 33%);
    position: relative;
    z-index: 1;
  }
  div.newsDetailRowOne > div {
    position: relative;
  }
  div.newsDetailRowOne:before {
    background: url("../img/epic-full-logo.svg") no-repeat 35% 66px;
    content: ' ';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.05;
    z-index: 0;
  }

  ul.newsDetailListing {
    display: flex;
    align-items: center;
  }
  
  ul.newsDetailListing li.columnOne {
    padding-right: 80px;
    width: 48%;
    order: 2;
  }
  ul.newsDetailListing li.columnTwo {
    padding-left: 10px;
    padding-right: 35px;
    width: 52%;
    order: 1;
  }
  div.newsDetailContainer h2 {              
    font-size: 2.95em;              
  }
  div.newsDetailContainer p.intro {
    font-size: 1.2em;
  }
  ul.socialshare {
    margin-top: 10px;
  }
  
  
  div.trendingContainer {
    padding-top: 10px;
  }
  ul.newsDescriptionContainerList {
    display: flex;
  }
  
  ul.newsDescriptionContainerList li.newsDescriptionContainerColumnOne {
    width: 60%;
    padding-left: 60px;
    padding-right: 15px;              
  }
  ul.newsDescriptionContainerList li.newsDescriptionContainerColumnTwo {

    width: 40%;
    padding-left: 25px;
    padding-right: 100px;

  }
  div.mainBlogDescription {
    font-size: 1.2em;
  }
  
  div.columnTwoContainer {
    max-width: 250px;
  }

}
