/* Typography */

h1, h2, h3,
.h1, .h2, .h3 {
	font-family: 'Helvetica', sans-serif;
	font-weight: 700;
}

h2.h1 {
	text-transform: unset;
}

.h1.jumbo {
	font-size: 6em;
	font-weight: 500;
}

/* Jump Links */

#jump-links {
	width: 100%;
	background: #0D2840;
	height: 48px;
	position: sticky;
	top: calc(108px + 40px);
	border-bottom: 1px solid rgba(255,255,255,0.12);
	z-index: 4;
	overflow: hidden;
}

.logged-in #jump-links {
	top: calc(108px + 40px + 32px);
}

.has-sitewide-banner #jump-links {
	top: calc(108px + 60px + 40px);
}

.logged-in.has-sitewide-banner #jump-links {
	top: calc(108px + 60px + 40px + 32px);
}

#jump-links:after {
	content: '';
	height: 100%;
	width: 100px;
	position: absolute;
	z-index: 5;
	right: 0;
	top: 0;
	background: linear-gradient(to right, transparent, #0D2840);
	pointer-events: none;
}

#jump-links .container {
	height: 100%;
}

#jump-links #mobile-scroll {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
	white-space: nowrap;
	direction: ltr;
	height: 100%;
	display: flex;
	align-items: center;
}

#jump-links #mobile-scroll::-webkit-scrollbar {
	display: none;
}

#jump-links #links {
  display: inline-block;
  height: 100%;
}

#links::-webkit-scrollbar {
    display: none;  /* Hide the scrollbar */
}

#jump-links #links a {
 	color: rgba(240,243,247,0.8);
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	margin: 0 0.75em;
	position: relative;
	z-index: 1;
	font-size: 0.8em;
	height: 100%;
}

#jump-links #links a.active {
	color: #ffffff;
}

#jump-links #links a.active:after {
	content: '';
	height: 4px;
	width: 100%;
	background: #ffffff;
	position: absolute;
	left: 0;
	bottom: 0;
}

#jump-links #links a:hover {
	color: rgba(240,243,247,1);
}

#jump-links #links a:first-of-type {
	margin-left: 0;
}

#jump-links #links a:last-of-type:after {
	width: calc(100% - 4em);
}

.link img {
	width: 14px;
	height: 14px;
	flex-basis: 15px;
	margin-right: 0.5em;
	opacity: 0.5;
	transition: 0.5s all;
	position: relative;
	top: -2px;
}

.link:hover img {
	opacity: 1;
}

.link.active img {
	opacity: 1;
}

/* Google Map */

#legend h5 {
	font-size: 1em;
	letter-spacing: unest;
	line-height: 1;
	margin-bottom: 0;
	color: rgba(240,243,247,0.65);
}

.gm-style .gm-style-iw-d {
	padding: 2em;
	padding-top: 3em;
	padding-right: 4em;
}

.gm-style button:focus {
	outline: unset;
}

.gm-style-iw-d h5 {
	margin-bottom: 0;
}

.gm-style-iw-chr button {
	height: 30px !important;
	width: 24px !important;
}

.gm-style-iw-chr button span {
	height: 20px !important;
	width: 20px !important;
	margin: 0 !important;
}

.gm-style-mtc-bbw, .gm-svpc, .gm-fullscreen-control {
	display: none;
}

.gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom {
	bottom: 6em !important;
}
/* Header */

header .logo-sw26 {
	margin-left: 1em;
}

#logo .logo-sw26 img {
	height: 30px;
	padding-left: 1em;
	border-left: 1px solid #252A30;
}

header .btn-primary {
	padding: 16px;
	font-size: 0.8em;
	padding-top: 18px;
	padding-bottom: 15px;
}

/* Header Navigation */

.menu-sw26-primary-navigation-container {
	width: 100%;
}

#menu-sw26-primary-navigation {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: flex-end;
}

header .menu li a {
	font-size: 0.8em;
}

/* Helpers */

.boxed {
	border-radius: 12px;
}

.boxed .row {
	width: calc(100% - 60px);
	left: 0;
	right: 0;
	margin: 0 auto;
}

.bg-orange {
	background-color: #FF5033;
}

.color-light-blue {
	color: #1679D3;
}

.page-template-sw26 .bg-dark-navy.layout-1-type-1 + .bg-dark-navy.layout-2-type-6 > .container > .row:first-of-type,
.page-template-sw26 .bg-light-navy.layout-1-type-1 + .bg-light-navy.layout-2-type-6 > .container > .row:first-of-type,
.page-template-sw26 .bg-dark-navy.layout-7 + .bg-dark-navy.layout-1-type-1 > .container > .row:first-of-type,
.page-template-sw26 .bg-light-navy.layout-7 + .bg-light-navy.layout-1-type-1 > .container > .row:first-of-type,
.page-template-sw26 .bg-dark-navy.layout-1-type-1 + .bg-dark-navy.layout-1-type-1 > .container > .row:first-of-type,
.page-template-sw26 .bg-light-navy.layout-1-type-1 + .bg-light-navy.layout-1-type-1 > .container > .row:first-of-type {
	padding-top: 3em !important;
}

.bg-video {
	position: relative;
}

.bg-video .video {
	width: calc(100% + 15px);
	left: -15px;
}

.bg-video .overlay {
	opacity: 0.4;
}

.text-md-center .buttons {
	justify-content: center;
}

/* Special Layouts */

#header {
	height: calc(100vh - 108px - 40px);
}

#content {
	z-index: 2;
	position: relative;
}

.page-template-sw26-claim-your-bonus-success #header .row {
	padding-top: 16em;
	padding-bottom: 16em;
}

.page-template-sw26 #section-4 img,
.page-template-sw26-claim-your-bonus #header img {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 50%;
} 

.page-template-sw26-guess-the-stock-price-success #header img {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 20%;
}

.page-template-sw26-2025-year-in-review-company h3,
.page-template-sw26-2026-outlook-company h3,
.page-template-sw26-shareholder-update h3 {
	font-size: 1.6em;
}

.page-template-sw26-2025-year-in-review-company #header a.image,
.page-template-sw26-2026-outlook-company #header a.image,
.page-template-sw26-shareholder-update #header a.image {
	position: relative;
    cursor: none;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.page-template-sw26-2025-year-in-review-company #header a.image .btn-primary,
.page-template-sw26-2026-outlook-company #header a.image .btn-primary,
.page-template-sw26-shareholder-update #header a.image .btn-primary {
	z-index: 3;
    position: absolute;
    pointer-events: none;
    transition: 0.5s opacity;
    background: transparent;
    color: transparent;
    border: unset;
}

.page-template-sw26-2025-year-in-review-company #header a.image .btn-primary .icon:before,
.page-template-sw26-2026-outlook-company #header a.image .btn-primary .icon:before,
.page-template-sw26-shareholder-update #header a.image .btn-primary .icon:before {
    background-image: url(/wp-content/themes/essc-hub/images/icon-play.svg);
}

.page-template-sw26-2025-year-in-review-company #header a.image .btn-primary .text,
.page-template-sw26-2026-outlook-company #header a.image .btn-primary .text,
.page-template-sw26-shareholder-update #header a.image .btn-primary .text {
    display: flex;
    font-weight: 500;
    text-decoration: none;
    background: #005EB5;
    color: #ffffff;
    font-size: 1em;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    line-height: 1;
    text-decoration: none;
    padding: 16px 24px;
    position: relative;
    white-space: nowrap;
    transition: 0.5s all;
    height: 56px;
}

.priority .number {
	font-family: 'Helvetica', sans-serif;
	font-weight: 700;
	color: #F0F3F7;
	font-size: 2em;
	margin-right: 1em;
	opacity: 0.5;
}

.priority h3 {
	font-size: 1.75em;
}

.job h3 {
	color: #F0F3F7;
	opacity: 0.7;
}

.page-template-sw26-2025-year-in-review-company .bg-dark + #section-images {
	background-color: #0D2840;
}

.page-template-sw26-2026-outlook-company .bg-light-navy + #section-image-1,
.page-template-sw26-2026-outlook-company .bg-light-navy + #section-image-2,
.page-template-sw26-2026-outlook-company .bg-light-navy + #section-image-3,
.page-template-sw26-2026-outlook-company .bg-light-navy + #section-image-4 {
	background-color: #0D2840;
}

.page-template-sw26-2026-outlook-company .bg-dark + #section-image-1,
.page-template-sw26-2026-outlook-company .bg-dark + #section-image-2,
.page-template-sw26-2026-outlook-company .bg-dark + #section-image-3,
.page-template-sw26-2026-outlook-company .bg-dark + #section-image-4 {
	background-color: #071521;
}

/* Changing Words */

#header #changing-words {
	position: relative;
	height: 80px;
	margin-left: 0.25em;
	overflow: hidden;
	 -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 95%, transparent 100%);
  	-webkit-mask-repeat: no-repeat;
  	-webkit-mask-size: cover;
  	mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 95%, transparent 100%);
  	mask-repeat: no-repeat;
  	mask-size: cover;
	width: 100%;
}

#header #changing-words span {
	display: block;
  	position: absolute;   
  	top: 0;
  	left: 0;
  	width: 100%;
  	opacity: 0;
  	transform: translateY(100%);
}

/* Cards */

.card-body {
	padding: 0;
	padding-top: 1em;
    color: rgba(240, 243, 247, 0.65);
}

.card.boxed {
	background: #005EB5;
	border-radius: 12px;
    padding: 1em;
    justify-content: unset;
    align-items: flex-start;
    justify-content: center;
}

.card.boxed .chip {
	background: rgba(255,255,255,0.08);
	position: absolute;
	top: 1em;
	left: 1em;
	font-size: 0.7em;
}

.card.boxed img {
	max-width: 175px;
    margin-top: 4em;
    margin-bottom: 4em;
    margin-left: auto;
    margin-right: auto;
}

.layout-4 .number {
	font-size: 3em;
}

/* Gravity Forms */

#content input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):not([type="number"]) {
	padding: 20px 15px;
	margin-bottom: 0;
}

#content input[type="number"]:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.02);
	backdrop-filter: blur(12px);
	padding: 0.8em 1em;
	color: #ffffff;
	text-align: center;
	margin-bottom: 0;
	font-size: 3em;
	font-weight: 500;
	border: 4px solid transparent;
	transition: 0.5s border;
}

#content input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
  
#content input[type="number"] {
    -moz-appearance: textfield;
}

#content input[type="number"]:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):active, #content input[type="number"]:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus {
	border: 4px solid #1679D3;
	box-shadow: unset;
}

#content .gform_wrapper.gravity-theme select {
	line-height: 16px;
}

.gform_heading {
	text-align: center;
}

.gform_required_legend {
	display: none;
}

#field_1_1 .ginput_container {
	position: relative;
}

#field_1_1 .ginput_container:before {
	content: '$';
	font-size: 3em;
	font-weight: 500;
	color: #FF5033;
	display: block;
	position: absolute;
	left: 1em;
	top: 0;
	height: 100%;
	display: flex;
	align-items: center;
	z-index: 3;
}

.gform-footer {
	justify-content: center;
}

.gform_button.disabled {
	background: #071521;
	pointer-events: none;
	color: rgba(255,255,255,0.2);
}

.gfield_radio {
	margin-bottom: 0.5em;
}

.gfield.choice-buttons .gchoice {
    z-index: 1;
    position: relative;
    padding: 0;
    height: 200px;
    width: 100%!important;
}

.gfield.choice-buttons input.gfield-choice-input {
    z-index:2 ;
    appearance:none;
    margin: 0;
    padding: 0;
    width: 100%;
    border-radius: 12px;
    height: 100%;
    transition: .3s all ease-in-out;
    border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.02);
	backdrop-filter: blur(12px);
    position: absolute;
    left: 0;
}

.gfield.choice-buttons input.gfield-choice-input:hover,
.gfield.choice-buttons .gchoice label:hover {
    cursor: pointer;
}

.gfield.choice-buttons input.gfield-choice-input:hover {
	border: 1px solid rgba(255,255,255,0.5);
}

.gfield.choice-buttons input.gfield-choice-input:checked {
    background:#1273e6;
    border: 1px solid #1273e6;
}

.gfield.choice-buttons input.gfield-choice-input:before  {
    display: none;
}

.gfield.choice-buttons input.gfield-choice-input:checked + label {
    color: #FFFFFF;
}

.gfield.choice-buttons .gchoice label {
    z-index: 3;
    color: #FFFFFF;
    display: block;
    position: absolute;
    padding-left: calc(2em + 18px + 1em);
    top: 2em;
    width: 100%;
    overflow: visible;
    font-size: 1.2em;
    font-weight: 500;
    max-width: 100%;
    line-height: 1;
    text-align: left;
}

.gfield.choice-buttons input.gfield-choice-input + label:before {
    content: "";
    position: absolute;
    left: 2em;
    width: 18px;
    height: 18px;
    border: 2px solid #A1ADB9;
    border-radius: 50%;
    z-index: 2;
}

.gfield.choice-buttons input.gfield-choice-input:checked + label:before {
	background: #091A29;
	border: 5px solid #ffffff;
}

.gfield.choice-buttons .gchoice label .copy {
	margin-top: 0.5em;
	padding-right: 2em;
	display: block;
	font-size: 0.8em;
	font-weight: 400;
	color: rgba(240,243,247,0.65);
	line-height: 1.3;
} 

input.gfield-choice-input:checked + label .copy {
	color: #ffffff !important;
}

.gfield.choice-buttons input[type="checkbox"].gfield-choice-input + label:after {
     border-radius: 5px;
}

.gfield.choice-buttons input[type="radio"].gfield-choice-input + label:after {
     border-radius:50px;
}

.gfield.choice-buttons input.gfield-choice-input:checked + label:after {
    content: var(--gf-icon-ctrl-checkbox);
    font-family: var(--gf-icon-font-family) !important;
    border: 2px solid white;
}

.required {
	height: 4px;
	width: 4px;
	border-radius: 50%;
	background: #FA7878;
	position: relative;
	top: -4px;
	margin-right: 0.25em;
	display: inline-block;
}

.small {
	font-size: 0.6em;
}

#content input:focus::placeholder {
  color: transparent;
}

/* Footer */

footer {
	position: relative;
	z-index: 2;
}

@media only screen and (max-widht: 1440px) {
	.page-template-sw26-claim-your-bonus-success #header .row {
		padding-top: 10em;
		padding-bottom: 10em;
	}
}

@media only screen and (max-width: 1300px) {
	#jump-links {
		top: calc(80px + 40px);
	}
}

@media only screen and (max-width: 1200px) {
	.h1.jumbo {
		font-size: 5em;
	}

	.menu-sw26-primary-navigation-container, .logged-in .menu-sw26-primary-navigation-container {
		background: #091B2B;
	    height: calc(100vh - 80px - 40px);
	    width: 100%;
	    right: 0;
	    position: fixed;
	    top: 119px;
	    display: flex;
	    align-items: flex-start;
	    justify-content: flex-start;
	    overflow-y: scroll;
	    padding-top: 2em;
	    padding-left: 30px;
	    padding-right: 30px;
	    opacity: 0;
	    pointer-events: none;
	    overflow-x: hidden;
	}

	.logged-in .menu-sw26-primary-navigation-container {
		top: calc(119px + 32px + 40px);
	}

	#sitewide-banner + header .menu-sw26-primary-navigation-container {
		top: calc(79px + 40px + 60px);
	}

	.logged-in #sitewide-banner + header .menu-sw26-primary-navigation-container {
		top: calc(79px + 40px + 60px + 32px);
	}

	.menu-sw26-primary-navigation-container.visible {
		opacity: 1;
		pointer-events: auto;
	}

	#menu-sw26-primary-navigation {
		display: block;
		width: 100%;
		position: relative;
	}

	#menu-sw26-primary-navigation.left li.back-to-menu {
		display: block;
		width: 100%;
	}

	#menu-sw26-primary-navigation.left li.back-to-menu a {
		border-bottom: 1px solid rgba(255,255,255,0.5);
		background: #005EB8;
	}

	#menu-sw26-primary-navigation.left > li {
		width: 100%;
	}

	#menu-sw26-primary-navigation.left > li:not(.open):not(.back-to-menu) {
		opacity: 0;
		pointer-events: none;
		width: 100%;
		transition: 0.5s opacity 0.25s;
	}

	header .menu li a {
		font-size: 1.5em;
	}

	#jump-links {
		top: calc(80px + 40px);
	}

	.logged-in #jump-links {
		top: calc(80px + 40px + 32px);
	}

	.page-template-sw26-2025-year-in-review-company #header a.image, .page-template-sw26-2026-outlook-company #header a.image, .page-template-sw26-shareholder-update #header a.image {
		display: flex;
		align-items: center;
	}
	
	.page-template-sw26-2025-year-in-review-company #header a.image .btn-primary, .page-template-sw26-2026-outlook-company #header a.image .btn-primary, .page-template-sw26-shareholder-update #header a.image .btn-primary {
        transform: unset;
        opacity: 1;
        top: unset !important;
        left: unset !important;
    }
}

@media only screen and (max-width: 1024px) {
	#header {
		margin-top: calc(80px + 40px);
	}
}

@media only screen and (max-width: 992px) {
	.h1.jumbo {
		font-size: 4em;
	}

	#header #changing-words {
		margin-left: 0;
		height: 65px;
	}

	#jump-links {
		top: calc(80px + 40px);
	}

	.logged-in #jump-links {
		top: calc(80px + 40px + 46px);
	}

	/* Forms */

	.gfield.choice-buttons .gchoice label .copy {
		font-size: 0.6em;
	}
}

@media only screen and (max-width: 767px) {
	.h1.jumbo {
		font-size: 3.5em;
	}

	.page-template-sw26 h1 {
		font-size: 2em;
	}

	#header #changing-words {
		height: 40px;
	}

	header .btn-primary {
		font-size: 0.6em;
		padding: 12px;
    	padding-top: 14px;
    	padding-bottom: 10px
	}

	header .menu li a {
		font-size: 1.3em;
	}

	#header {
		height: calc(60vh - 108px - 40px);
	}

	/* Forms */

	.gfield.choice-buttons .gchoice label .copy {
		font-size: 0.8em;
	}

	.gchoice_2_7_0 {
		margin-bottom: 1em;
	}

	.gfield.choice-buttons .gchoice label {
		padding-left: calc(1.5em + 18px + 1em);
		top: 1.5em;
	}

	.gfield.choice-buttons input.gfield-choice-input + label:before {
		left: 1.5em;
	}

	#content input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):not([type="number"]) {
		margin-bottom: 0;
	}

	.layout-4 .number {
		font-size: 4em;
	}

	.layout-4 .lines {
		display: none;
	}

	.swiper-button-next {
		margin-left: -20px;
	}

	.page-template-sw26-claim-your-bonus-success #header {
	    background-size: contain;
	    background-repeat: no-repeat;
	    background-position: bottom;
	}
}

@media only screen and (max-width: 400px) {
	.page-template-sw26 h1 {
		font-size: 1.7em;
	}

	#header #changing-words {
		height: 30px;
	}
}