/* PowerSite 2.92 - Client: Stargate Connections Inc. - Screen Layout CSS */
/* Last Updated: 2025.06.11 ET */

html
body {
	background-color: white;
	padding: 0;
	margin: 0;
}

article,
section.utility {
	max-width: 54rem;
	margin: 0 auto 3rem;
}

section:nth-child(even),
div.slideshow ~ section:nth-child(odd) {
	background-color: rgb(255,255,255);
}

section:nth-child(odd),
div.slideshow ~ section:nth-child(even) {
	background-color: rgb(240,240,240);
}

.templatename,
.lastupdated { display: none; }

.accessmenu,
.adminlink {
	font-size: 0.7rem;
	color: rgb(114,145,161);
}

.accessmenu a:link,
.accessmenu a:visited,
.adminlink a:link,
.adminlink a:visited {
	color: rgb(200,0,0);
}

.accessmenu a:hover,
.adminlink a:hover {
	color: rgb(255,0,0);
}

input.nav-checkbox {
	display: none;
}

div.accessmenu {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0,0,0,0.5);
	color: rgb(169,169,169);
	padding: 0 1rem;
}

section > h2 {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	text-align: center;
	text-transform: uppercase;
}

section.feature {
	background-color: rgb(99,127,140) !important;
	color: white;
	padding: 5rem 0;
}

section.feature > h2 {
	color: white;
	font-size: 1rem;
	letter-spacing: 0.1em;
	text-align: center;
	text-transform: uppercase;
	margin: 0 1.25rem;
}

section.notice {
	background-color: rgb(255,230,200) !important;
	font-size: 1.6rem;
	text-align: center;
	padding-top: 3rem !important;
	padding-bottom: 3rem !important;
}

section.notice + section {
	padding-top: 3rem !important;
	border-top: 1px solid rgb(200,200,200);
}

/* RESPONSIVE SLIDE BANNER */

div.slideshow {
	position: relative;
	overflow: hidden;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 32.5rem;
	background-color: rgb(200,200,200);
}

div.slideshow.videobg {
	height: 37rem;
}

div.slideshow video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}

div.slide {
	position: absolute;
	overflow: hidden;
	top: 0;
	bottom: 0;
	width: 100%;
	left: 100%;
	padding: 0;
	margin: 0;
	background-position: center center;
	background-size: cover;
	-moz-transition: left 0.5s;
	-webkit-transition: left 0.5s;
	-o-transition: left 0.5s;
	transition: left 0.5s;
}

div.slide.anchor_tl { background-position: 20% 20%; }
div.slide.anchor_tc { background-position: 50% 20%; }
div.slide.anchor_tr { background-position: 80% 20%; }
div.slide.anchor_ml { background-position: 20% 50%; }
div.slide.anchor_mc { background-position: 50% 50%; }
div.slide.anchor_mr { background-position: 80% 50%; }
div.slide.anchor_bl { background-position: 20% 80%; }
div.slide.anchor_bc { background-position: 50% 80%; }
div.slide.anchor_br { background-position: 80% 80%; }

div.slide > div,
div.slide > a,
div.slide > a:visited,
div.slide > a:hover {
	position: absolute;
	overflow: hidden;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(59,61,64,0.6);
	color: white !important;
	text-decoration: none;
}

video ~ div.slide > div,
video ~ div.slide > a,
video ~ div.slide > a:visited,
video ~ div.slide > a:hover {
	/* background-color: transparent; */
	background-color: rgba(59,61,64,0.3);
}

div.slide > span.adminlink {
	position: absolute;
	background-color: rgba(255,255,255,0.5);
	text-shadow: 1px 1px 0 white;
	padding: 0.2em;
}

input.slideselector { display: none; }

ul.slidenav {
	position: absolute;
	list-style: none;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	padding: 0;
	margin: 0;
	z-index: 500;
}

ul.slidenav li {
	display: inline-block;
	padding: 0;
	margin: 0;
}

ul.slidenav li label {
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 0.75rem;
	height: 0.75rem;
	padding: 0;
	border: 0.125rem solid white;
	border-radius: 0.375rem;
}

ul.slidenav li label:hover {
	background-color: rgba(255,255,255,0.5);
}

ul.slidenav li label span { display: none; }

.for_1:checked ~ ul.slidenav > .nav_1 > label { background-color: white; }
.for_2:checked ~ ul.slidenav > .nav_2 > label { background-color: white; }
.for_3:checked ~ ul.slidenav > .nav_3 > label { background-color: white; }
.for_4:checked ~ ul.slidenav > .nav_4 > label { background-color: white; }
.for_5:checked ~ ul.slidenav > .nav_5 > label { background-color: white; }
.for_6:checked ~ ul.slidenav > .nav_6 > label { background-color: white; }
.for_7:checked ~ ul.slidenav > .nav_7 > label { background-color: white; }
.for_8:checked ~ ul.slidenav > .nav_8 > label { background-color: white; }
.for_9:checked ~ ul.slidenav > .nav_9 > label { background-color: white; }

.for_1:checked ~ .id_1 { left: 0% }
.for_2:checked ~ .id_2 { left: 0% }
.for_3:checked ~ .id_3 { left: 0% }
.for_4:checked ~ .id_4 { left: 0% }
.for_5:checked ~ .id_5 { left: 0% }
.for_6:checked ~ .id_6 { left: 0% }
.for_7:checked ~ .id_7 { left: 0% }
.for_8:checked ~ .id_8 { left: 0% }
.for_9:checked ~ .id_9 { left: 0% }

/* For full right-to-left (rather than in-and-out from right only) sliding: */
.for_2:checked ~ .id_1, .for_3:checked ~ .id_1, .for_4:checked ~ .id_1, .for_5:checked ~ .id_1, .for_6:checked ~ .id_1, .for_7:checked ~ .id_1, .for_8:checked ~ .id_1, .for_9:checked ~ .id_1 { left: -100% }
.for_3:checked ~ .id_2, .for_4:checked ~ .id_2, .for_5:checked ~ .id_2, .for_6:checked ~ .id_2, .for_7:checked ~ .id_2, .for_8:checked ~ .id_2,  .for_9:checked ~ .id_2 { left: -100% }
.for_4:checked ~ .id_3, .for_5:checked ~ .id_3, .for_6:checked ~ .id_3, .for_7:checked ~ .id_3, .for_8:checked ~ .id_3, .for_9:checked ~ .id_3 { left: -100% }
.for_5:checked ~ .id_4, .for_6:checked ~ .id_4, .for_7:checked ~ .id_4, .for_8:checked ~ .id_4, .for_9:checked ~ .id_4 { left: -100% }
.for_6:checked ~ .id_5, .for_7:checked ~ .id_5, .for_8:checked ~ .id_5, .for_9:checked ~ .id_5 { left: -100% }
.for_7:checked ~ .id_6, .for_8:checked ~ .id_6, .for_9:checked ~ .id_6 { left: -100% }
.for_8:checked ~ .id_7, .for_9:checked ~ .id_7 { left: -100% }
.for_9:checked ~ .id_8 { left: -100% }

div.slidecaption {
	max-width: 54rem;
	text-align: center;
	margin: 15rem auto 0;
	padding: 0 1rem;
}

div.slideshow.videobg div.slidecaption {
	margin-top: 18rem;
}

div.slidecaption::before {
	content: url(/images/stargate_logo_star_scalable.svg);
	display: block;
	position: absolute;
	left: 50%;
	width: 4.125rem;
	height: 4.125rem;
	margin-top: -5.25rem;
	margin-left: -2.0625rem;
}

div.slidecaption h1 {
	color: white;
	font-weight: 900;
	letter-spacing: 0.05em;
	margin: 0 auto 0.4em;
}

div.slidecaption p {
	font-weight: 300;
	font-size: 1.5rem;
	line-height: 1.1em;
	margin: 0 auto 1em;
}

div.slidecaption ul {
	list-style: none;
	position: relative;
	overflow: hidden;
	padding: 0;
	margin: 0;
}

div.slidecaption ul > li {
	float: left;
	width: 48%;
}

div.slidecaption ul > li:first-child {
	margin-right: 4%;
}

ul.slidenav li label {
}

@media (max-width: 800px) {

	div.slidecaption { margin-top: 14rem; }

}

/* JCAROUSEL DEFAULTS */

.jcarousel-wrapper {
	position: relative;
	/* border: 1px dashed red; */
}

.jcarousel {
	position: relative;
	overflow: hidden;
	padding: 0;
	margin: 0 7.5rem;
	/* border: 1px dashed yellow; */
}

.jcarousel-control-prev {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 3.125rem;
	left: 0;
}

.jcarousel-control-next {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 3.125rem;
	right: 0;
}

.jcarousel-control-prev::before {
	content: '';
	position: absolute;
	width: 1rem;
	height: 1rem;
	top: 34%;
	left: 1.25rem;
	border-top: 0.125rem solid rgb(177,191,198);
	border-left: 0.125rem solid rgb(177,191,198);
	-webkit-transform: rotate(-45deg); /* Chrome, Safari, Opera */
	-ms-transform: rotate(-45deg); /* IE 9 */
	transform: rotate(-45deg);
}

.jcarousel-control-next::before {
	content: '';
	position: absolute;
	width: 1rem;
	height: 1rem;
	top: 34%;
	right: 1.25rem;
	border-top: 0.125rem solid rgb(177,191,198);
	border-right: 0.125rem solid rgb(177,191,198);
	-webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
	-ms-transform: rotate(45deg); /* IE 9 */
	transform: rotate(45deg);
}

.jcarousel-control-prev:hover::before,
.jcarousel-control-next:hover::before {
	border-color: white;
}

/* TESTIMONIALS */

ul.testimonials {
	width: 20000em;
	position: relative;
	list-style: none;
	text-align: center;
	padding: 0;
	margin: 0;
}

ul.testimonials > li {
	display: inline-block;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 25rem;
	text-align: left;
	vertical-align: top;
	padding: 0 1.5rem;
}

@media (max-width: 800px) {

	.jcarousel { margin: 0 3rem; }

	ul.testimonials > li { padding: 0 1rem; }

}

@media (max-width: 480px) {

	.jcarousel { margin: 0 1rem; }

	ul.testimonials > li { padding: 0 1rem; }

	.jcarousel-control-prev::before { left: 0; }
	.jcarousel-control-next::before { right: 0; }

}

/* ROTATING SECTOR BUTTONS */

ul.mainsectors,
ul.services {
	list-style: none;
	text-align: center;
	padding: 0;
	margin: 0;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: space-around;
    justify-content: space-around;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    /* border: 1px dashed red; */
}

ul.mainsectors > li,
ul.services > li {
	display: inline-block;
	padding: 0;
	margin: 0.5em 1%;
	vertical-align: top;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

ul.mainsectors {
	/* margin-left: -3.125rem;
	margin-right: -3.125rem; */
}

ul.mainsectors > li {
	-ms-flex: 1 1 21.25rem;
	-webkit-flex: 1 1 21.25rem;
	flex: 1 1 21.25rem;
}

ul.services + ul.services {
	border-top: 1px solid rgb(230,230,230);
}

ul.services > li {
	-ms-flex: 1 1 37.5rem;
	-webkit-flex: 1 1 37.5rem;
	flex: 1 1 37.5rem;
}

ul.mainsectors > li > a,
ul.mainsectors > li > a:visited,
ul.services > li > a,
ul.services > li > a:visited {
	color: rgb(59,61,64);
	font-weight: 300;
	font-size: 1.2rem;
	line-height: 1.1em;
	text-decoration: none;
	padding: 1.25em;
	border-radius: 0.25rem;
	-ms-flex: 1 1 auto;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-align-self: stretch;
	align-self: stretch;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

ul.mainsectors > li > a:hover,
ul.services > li > a:hover {
	-webkit-box-shadow: 0 0 0.75rem 0.125rem rgba(204,204,204,0.5);
	-moz-box-shadow: 0 0 0.75rem 0.125rem rgba(204,204,204,0.5);
	box-shadow: 0 0 0.75rem 0.125rem rgba(204,204,204,0.5);
}

ul.mainsectors > li h2 {
	font-weight: 400;
	font-size: 1em;
	line-height: 1.2em;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin: 0 auto 0.5em;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
}

ul.services > li h3 {
	font-weight: 900;
	font-size: 2.25rem;
	line-height: 1em;
}

ul.mainsectors > li p,
ul.services > li p {
	color: rgb(101,107,111);
	margin: 0 auto 0.5em;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
}

ul.mainsectors > li img {
	display: block;
	width: 9.375rem;
	height: auto;
	margin: 0.5em auto 1em;
	border-radius: 4.6875rem;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
}

ul.services > li img {
	display: inline-block;
	width: 12.5rem;
	height: auto;
	vertical-align: middle;
	margin: 1em 1em;
	border-radius: 6.25rem;
}

ul.services > li div {
	display: block;
	position: relative;
	overflow: hidden;
	margin: 1em auto;
}

ul.services > li ul.features {
	display: inline-block;
	list-style: none;
	text-align: left;
	font-weight: 400;
	vertical-align: middle;
	padding: 0;
	margin: 1em auto;
}

ul.services > li img + ul.features {
	/* float: left; */
}

/* SPECIFIC ELEMENTS */

#page {
	width: 100%;
}

#page > header {
	position: fixed;
	overflow: hidden;
	top: 0;
	left: 0;
	right: 0;
	min-height: 6.25rem;
	background-color: rgba(0,0,0,0.6);
	z-index: 5000;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

#page > section {
	padding: 2rem 3rem;
	margin: 0 auto;
}

@media (max-width: 800px) {

	#page > section { padding: 2rem 1.5rem; }

}

#page > section:first-of-type {
	padding-top: 5rem;
}

#page > section:nth-child(2) {
	padding-top: 10rem;
}

#page > footer {
	position: relative;
	overflow: hidden;
	background-color: rgb(63,80,89);
	color: rgb(213,217,219);
}

#page > footer a,
#page > footer a:visited {
	color: rgb(213,217,219);
	text-decoration: none;
}

#mainlogo {
	position: absolute;
	top: 0.875rem;
	left: 7.5rem;
	width: 6.6875rem;
	height: 3.625rem;
	z-index: 5001;
}

#show-menu {
	display: none;
	position: absolute;
	width: 3.75rem;
	height: 3.75rem;
	top: 0.625rem;
	right: 0.875rem;
	z-index: 5002;
}

#show-menu::before {
	content: '';
	position: absolute;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 1.5rem;
	height: 1.1875rem;
	top: 50%;
	left: 50%;
	margin-top: -0.625rem;
	margin-left: -0.75rem;
	border-top: 0.1875rem solid white;
	border-bottom: 0.1875rem solid white;
}

#show-menu::after {
	content: '';
	position: absolute;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 1.5rem;
	height: 0.1875rem;
	top: 50%;
	left: 50%;
	margin-top: -0.125rem;
	margin-left: -0.75rem;
	border-top: 0.1875rem solid white;
}

#show-menu > span { display: none; }

#mainmenu {
	list-style: none;
	text-align: center;
	font-size: 1rem;
	line-height: 1.4em;
	padding: 0;
	margin: 3.125rem 16.875rem 0 16.875rem;
}

#mainmenu > li {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	padding: 0;
	margin: 0 1.5rem;
}

#mainmenu a,
#mainmenu a:visited,
ul.contactmenu a,
ul.contactmenu a:visited {
	color: rgb(169,169,169);
	font-weight: 400;
	text-decoration: none;
	-moz-transition: color 0.1s;
	-webkit-transition: color 0.1s;
	-o-transition: color 0.1s;
	transition: color 0.1s;
}

#mainmenu > li.active a,
#mainmenu > li.active a:visited {
	color: white;
}

#mainmenu:hover > li.active a,
#mainmenu:hover > li.active a:visited {
	color: rgb(204,204,204);
}

#mainmenu a:hover,
ul.contactmenu a:hover { color: white !important; }

ul.contactmenu {
	list-style: none;
	color: white;
	font-size: 1rem;
	line-height: 1.4em;
	padding: 0;
	margin: 0;
}

ul.contactmenu > li {
	display: inline-block;
	text-transform: uppercase;
	font-size: 0.8rem;
	letter-spacing: 0.2em;
	margin: 0 0.375rem;
}

ul.contactmenu > li.email a > span,
ul.contactmenu > li.bluesky a > span {
	display: none;
}

ul.contactmenu > li.email a::before {
	content: url('/images/stco_icon_email_scalable.svg');
	display: inline-block;
	width: 1.25rem;
	height: 1.25rem;
	vertical-align: middle;
}

ul.contactmenu > li.bluesky a::before {
	content: url('/images/stco_icon_bluesky_scalable.svg');
	display: inline-block;
	width: 1.25rem;
	height: 1.25rem;
	vertical-align: middle;
}

ul.contactmenu > li.x {
	vertical-align: middle;
	font-size: 1.2rem !important;
	line-height: 1;
}

header ul.contactmenu {
	position: absolute;
	top: 3.125rem;
	right: 3.125rem;
}

footer ul.contactmenu {
	display: none;
	text-align: center;
	padding: 2rem 1rem;
}

@media (max-width: 1100px) {

	#mainlogo { left: 1.25rem; }

	#mainmenu { margin: 3.125rem 6.25rem 0 8.75rem; }

	header ul.contactmenu { right: 1.25rem; }

	header ul.contactmenu li.phone { display: none; }

}

@media (max-width: 800px) {

	#show-menu { display: block; }

	#menu {
		/* display: none; */
		background-color: black;
		padding: 5rem 0 1.25rem;
		margin-top: -100vh;
		opacity: 0;
		transition: all 0.5s cubic-bezier(0.21, 0.7, 0.43, 1);
	}

	#menu-checkbox:checked ~ #menu {
		opacity: 1;
		margin-top: 0;
	}

	#mainmenu {
		margin: 1.25rem;
	}

	#mainmenu > li {
		display: block;
		margin: 0;
	}

	#mainmenu a,
	#mainmenu a:visited {
		display: block;
		padding: 0.5em;
	}

	header ul.contactmenu {
		/* position: relative;
		top: 0;
		right: 0;
		margin: 1.25rem; */
		display: none;
	}

	header ul.contactmenu li.phone { display: inline-block; }

}

#breadcrumbs {
}

#breadcrumbs a:link,
#breadcrumbs a:visited {
}

#footerlogo {
	position: absolute;
	margin-top: 2.125rem;
	left: 7.5rem;
	width: 6.6875rem;
	height: 3.625rem;
}

#footermenu {
	list-style: none;
	background-color: rgb(80,103,115);
	font-size: 1rem;
	line-height: 1.1em;
	text-align: center;
	padding: 4rem 2rem;
	margin: 0;
}

#footermenu ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

#footermenu li {
	padding: 0;
	margin: 0.3rem auto;
}

#footermenu a,
#footermenu a:visited {
	display: inline-block;
	font-weight: 400;
	padding: 0.25em 1em;
}

#footermenu a:hover {
	color: white;
}

#footermenu > li {
	display: inline-block;
	width: 14em;
	text-align: left;
	vertical-align: top;
}

#address,
#copyright {
	display: inline-block;
	max-width: 43.75rem;
	font-weight: 100;
	font-size: 0.875rem;
	line-height: 1.3em;
	letter-spacing: 0.1em;
}

#address {
	padding: 3.75rem 0.625rem 1.875rem 20rem;
}

#copyright {
	float: right;
	font-size: 0.6rem;
	padding: 4.375rem 3.125rem 1.875rem 0.625rem;
}

@media (max-width: 1100px) {

	#footerlogo { left: 1.25rem; }

	#footermenu li:first-child { display: none; }

	#address { padding-left: 14rem; }

	#copyright {
		display: block;
		float: none;
		padding: 1.25rem 1.5rem 1.875rem 14rem;
	}

}

@media (max-width: 800px) {

	#footerlogo { display: none; }

	#footermenu { padding: 4rem 0; }

	#footermenu > li {
		width: 28%;
	}

	#address {
		/* padding-left: 10rem; */
		display: none;
	}

	#copyright {
		/* padding-left: 10rem; */
		padding: 0 1.5rem 1.875rem;
		text-align: center;
	}

	footer ul.contactmenu {
		display: block;
	}

}