
/* SITE-WIDE BASE STYLES */

h1, .h1 {
	font-size: 2rem;
	font-weight: 300;
}
h2, .h2 {
	font-size: 1.85rem;
	font-weight: 300;
}
h3, .h3 {
	font-size: 1.5rem;
	font-weight: 300;
  line-height: 125%;
}
h4, .h4 {
	font-size: 1.3rem;
	font-weight: 400;
  line-height: 125%;
}
h5, .h5 {
	font-size: 1rem;
	font-weight: 500;
  line-height: 150%;
}
h6, .h6 {
	font-size: .9rem;
	font-weight: 500;
}



/* Account menu icons (Request Demo / Search / Register / Log in / My account /
   Log out). D10 doesn't let us add a class per menu link, so target each link
   by its stable data-drupal-link-system-path and draw the icon as a ::before. */
#block-b5subtheme-account-menu .nav-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
#block-b5subtheme-account-menu .nav-link::before {
	content: "";
	flex: 0 0 auto;
	height: 13px;
	width: 13px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
#block-b5subtheme-account-menu a[data-drupal-link-system-path="node/94"]::before {
	background-image: url('../images/demo.svg');
	width: 14px;
}
#block-b5subtheme-account-menu a[data-drupal-link-system-path="search"]::before {
	background-image: url('../images/search.svg');
}
#block-b5subtheme-account-menu a[data-drupal-link-system-path="user/register"]::before,
#block-b5subtheme-account-menu a[data-drupal-link-system-path="user"]::before {
	background-image: url('../images/account.svg');
	width: 12px;
}
#block-b5subtheme-account-menu a[data-drupal-link-system-path="user/login"]::before {
	background-image: url('../images/login.svg');
	width: 14px;
}
#block-b5subtheme-account-menu a[data-drupal-link-system-path="user/logout"]::before {
	background-image: url('../images/logout.svg');
	width: 14px;
}


.authenticated .not-auth {
 display: none;
}
.anonymous .not-anon {
 display: none;
}

#block-block-embed-views-exposed-filter-blockcontact-rsm-us h3,
#block-block-embed-views-exposed-filter-blockcontact-rsm-intl-intl h3 {
	margin-bottom: 0;
}
#block-block-embed-views-exposed-filter-blockcontact-rsm-us .form-item-field-territory-state-value label, 
#block-block-embed-views-exposed-filter-blockcontact-rsm-intl-intl .form-item-field-territory-country-value label {
	font-size: .9rem;
	font-weight: 500;
}
#block-block-embed-views-exposed-filter-blockcontact-rsm-us .form-item-field-territory-state-value, 
#block-block-embed-views-exposed-filter-blockcontact-rsm-intl-intl .form-item-field-territory-country-value {
	margin-top: 0;
}

/* LINK STYLES */

a,
a:visited,
.nav-tabs .nav-link,
.media-library-view--widget .view-header a {
	color: #00589C;
	text-decoration: none;
}
a:hover,
a:focus {
	color: #00aeef;
}

.region-content .nav-link:focus,
.region-content .nav-tabs .nav-item.show .nav-link {
	background-color: #fff;
}
.region-content .nav-tabs .nav-link:hover,
.region-content .nav-tabs .nav-link.active {
 	background-color: #00aeef;	
 	color: #fff;
 	border-color: unset;
}

.media-library-view--widget .view-header a:hover, 
.media-library-view--widget .view-header a:focus,
.media-library-view--widget .view-header .nav-link.active, 
.media-library-view--widget .view-header a.active, 
.media-library-view--widget .view-header a.is-active, 
.media-library-view--widget .view-header a, 
.media-library-view--widget .view-header .nav-item.show .nav-link, 
.media-library-view--widget .view-header .nav-item.show a {
 color: #fff;
 background-color: #00aeef;
 border-color: #00aeef;
}
.nav-tabs .nav-link:active, 
.page-link.active, 
.media-library-view--widget .view-header a.page-link.is-active, 
.active > .page-link, 
.media-library-view--widget .view-header a.is-active > .page-link {
 background-color: #028bcf;
 border-color: #028bcf;
}
a.portfolio-box:hover,
a.portfolio-box:focus,
a.colorbox.cboxElement {
 	color: transparent;
	background-color: rgb(255, 255, 255);
	border-color: rgb(255, 255, 255);
}
.navbar-brand a:hover,
.navbar-brand a:focus {
 background-color: unset;
 border-color: unset;
}
.navbar-nav .nav-link.active {
	 color: #fff;
	 text-decoration: none;
 }

.text-white, .white, .white li, .white p, .white a, p.white, a.white {
	color: #fff;
	line-height: normal;
}
.brightblue, .text-lightblue {
	color: #00baff;
}
.darkblue {
	color: #1e2465;
}

/* Background styles */
.hp-products-bg {
	background: linear-gradient(180deg, #14aeef69, #14aeef), url('../images/grey-pattern-bg.png') no-repeat 0 0;
  background-size: auto, cover;	
}
.gray-pattern-bg {
	background: linear-gradient(180deg, #dadada, transparent), url('../images/grey-pattern-bg.png') no-repeat 0 0;
}
.light-gray-bg {
	background-color: #f4f4f4;
}
.mid-gray-bg {
	background: #f3f2f7;
}
.lt-gray-gradient-bg {
background: #F3F3F3;
background: linear-gradient(135deg, rgba(243, 243, 243, 1) 0%, rgba(254, 254, 254, 1) 100%);
}
.in-out-in-gray-bg {
	background: #ffffff;
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(230, 230, 230, 1) 50%, rgba(255, 255, 255, 1) 100%);
	min-width: 325px;
}
.hp-cerulean-bg {
	background: url('../images/cerulean-pattern-bg.png') no-repeat right top #37b4f3;
}
.blue-bg {
	background-color: #00008b;
}
.bright-blue {
	background-color: #003ecc;
}
.darkblue-bg {
	background: #1e2465;
}
.rich-blue-bg {
	background: #0a105b;
}
.extra-dk-blue-bg {
	background: #070c22;
}
.teal-gradient-bg {
	background: #162743;
	background: linear-gradient(180deg,rgba(22, 39, 67, 1) 0%, rgba(20, 61, 88, 1) 35%, rgba(23, 83, 110, 1) 100%);
}
.teal-angled-gradient-bg {
    background: linear-gradient(180deg, #14aeef 0%, #00baff59 100%);
}
.blue-gradient-bg {
	background: linear-gradient(190deg, rgba(2,0,36,1) 0%, rgba(0,88,197,1) 100%);
}
.teal-pattern-bg {
	background: url('../images/cerulean-pattern-bg.png') no-repeat right top #004b88;
}
.royal-b-pattern-bg {
	background: url('../images/cerulean-pattern-bg.png') no-repeat right top #000693;
}

.table, table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: #000;
  --bs-table-bg: #fff;
  --bs-table-border-color: #dee2e6;
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: #dedede;
  --bs-table-striped-bg: #dedede;
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border: 1px solid #dee2e6;
  border-collapse: collapse;
  border-color: #dee2e6;
}
.product-intro.layout__region.layout__region--second .table th:nth-child(2) {
	width: 125px;
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.75rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

#jump-menu {
    width: 220px;
    background-color: #ffffff;
    border: 1px solid #cccccc;
    font-size: 14px;
    font-weight: normal;
    line-height: 20px;
    font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    display: inline-block;
    padding: 4px 6px;
    margin-bottom: 10px;
    font-size: 13px;
    line-height: 20px;
    vertical-align: middle;
}

.flex-col {
	display: flex;
	flex-flow: column;
}
.flex-row {
	display: flex;
	flex-flow: row;
}
.col-gap-50 {
	gap: 50px;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.uppercase {
  text-transform: uppercase;
}
.strong {
	font-weight: bold;
}	
.last {
	margin-bottom: 0;
}
.test-div {
	padding: 50px 30px;
	max-width: 200px;
	margin: 5px;
}
.sidebar-header {
	text-transform: uppercase;
	margin-bottom: 15px;
}
.rounded, .rounded img {
	border-radius: 25px;
}
.topround, .topround img {
	border-radius: 25px 25px 0 0;
}

/* Full Responsive Padding */
.frp {
	padding: 50px;
}

/* Left-Top-Right Padding */
.ltrp {
	padding: 50px 50px 0 50px;
}

/* Left-Right Padding (Horizontal Padding)  */
.lrp, .rhp {
	padding-left: 50px;
	padding-right: 50px;
}

/* Left-Bottom-Right Padding */
.lbrp {
	padding: 0 50px 50px 50px;
}

.tp {
	padding: 50px 0 0 0;
}
.rp {
	padding: 0 50px 0 0;
}
.bp {
	padding: 0 0 50px 0;
}
.lp {
	padding: 0 0 0 50px;
}
	
.vert-pad-100 {
	padding-top: 100px;
	padding-bottom: 100px;
}
.vert-pad-75 {
	padding-top: 75px;
	padding-bottom: 75px;
}
.vert-pad-50 {
	padding-top: 50px;
	padding-bottom: 50px;
}
.vert-pad-25 {
	padding-top: 25px;
	padding-bottom: 25px;
}
.end-pad-50 {
	padding-bottom: 50px;
}

.layout--content-sidebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 2.5rem;
}

@media (max-width: 991.98px) {
  .layout--content-sidebar {
    grid-template-columns: 1fr;
  }
}


/* Centered Content Container */
.ccc {
	max-width: 1280px;
	margin: 0 auto;
}
.ccc-1200 {
	max-width: 1200px;
	margin: 0 auto;	
}
.ccc-1100 {
	max-width: 1100px;
	margin: 0 auto;	
}
.ccc-1000 {
	max-width: 1000px;
	margin: 0 auto;	
}
.ccc-900 {
	max-width: 900px;
	margin: 0 auto;	
}
.ccc-800 {
	max-width: 800px;
	margin: 0 auto;	
}

/* Margins! */
.mt-50 {
	margin-top: 50px;
}
.mb-50 {
	margin-bottom: 50px;
}

.partial-border-top {
	line-height: 150%;
	margin-top: 20px;
	border-top: 1px solid #00baff;
	padding-top: 20px;	
}
.partial-border-bottom {
	line-height: 150%;
	margin-bottom: 20px;
	border-bottom: 1px solid #00baff;
	padding-bottom: 20px;	
}
.partial-border-top,
.partial-border-bottom {
  position: relative;
  padding: 25px;
}
.partial-border-top::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 5px;
  width: 40%;
  background-color: #00baff;
}
.partial-border-bottom::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 5px;
  width: 40%;
  background-color: #00baff;
}

.node--view-mode-full li {
	display: list-item;
	list-style: disc;
	list-style-position: outside;
}
.node--view-mode-full .pager li {
	display: list-item;
	list-style: none;
}
.file--application-pdf {
	background-position: 0 5px;
}
.reroute-container {
  display: flex;
  justify-content: space-between; /* equal horizontal spacing */
  align-items: stretch; /* make all boxes same height */
  gap: 20px; /* optional: consistent space between boxes */
}
.reroute {
	max-width: 320px;
	flex: 1; /* each box takes equal width */
	text-align: center;
	background: #1e2465;
	color: #fff;
	margin: 15px;
	border-radius: 25px;
	font-size: 19px;
	padding: 25px;
}

/* ANIMATION */

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}
.fade-in-element {
  opacity: 0;
  animation: fadeIn 1s ease-in-out;
}


/* MEGA MENU STYLES */

.tbm {
	background-color: #00000000;
}
/* Hover / open: keep the text white, no white fill — just a cyan underline
   (the deep padding sits the label high, so the underline reads well). */
.open a.tbm-link.level-1,
.tbm-link.level-1:hover,
.tbm-link.level-1:focus {
	background-color: transparent;
	color: #fff;
	box-shadow: inset 0 -4px 0 #00aeef;
}
a.tbm-link.level-1 {
	color: #fff;
  padding: .75rem 1.25rem 1.5rem;
}
/* Current-section indicator: just a cyan underline bar on the top-level nav
   item matching the page's section (body class set in
   b5subtheme_preprocess_html). Inset shadow avoids any layout shift. */
.nav-section-products a.tbm-link.level-1[href="/products"],
.nav-section-solutions a.tbm-link.level-1[href="/solutions"],
.nav-section-resources a.tbm-link.level-1[href="/resources"],
.nav-section-support a.tbm-link.level-1[href="/support"],
.nav-section-contact a.tbm-link.level-1[href="/contact"] {
	box-shadow: inset 0 -4px 0 #00aeef;
}
.tbm-center.open>.tbm-submenu {
/*   opacity: 1; */
/* animation: fadeIn 200ms; */
}
.tbm-center .tbm-submenu {
	position: fixed;
	top: 88px;
  left: 50%;
  max-width: 1350px;
}
.administrator .tbm-center .tbm-submenu,
.editor .tbm-center .tbm-submenu {
	top: 169px;
}
.tbm h3 {
	font-size: 1.45rem;
  font-weight: 300;
  border-bottom: .75px solid #ccc;
  padding-bottom: 15px;
}
.tbm h5 {
	font-size: .9rem;
  font-weight: 600;
  text-transform: uppercase;
}
.tbm li,
.tbm a,
.tbm a.bttn,
.tbm a:visited {
	font-size: 1rem;
}
.tbm-submenu {
	border-top: none;
	box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.2);
}
.tbm-submenu p,
.tbm-submenu li,
.tbm-submenu a,
.tbm-submenu a.bttn,
.tbm-submenu a:visited {
	font-size: .9rem;
}
.tbm-submenu p,
.tbm-submenu li,
.tbm-submenu {
	color: #666;
}
.tbm-submenu .header-w-list li {
	list-style: inside;
	margin: 0 0 1px -30px;
}
.tbm-submenu .header-w-text h5 a,
.tbm-submenu .header-w-list h5 a {
	color: #060d24;
	text-decoration: underline;
}
.tbm-submenu .field--name-body {
	display: flex;
	padding: 20px;
}
.tbm-submenu .tbm-stack {
	display: flex;
	flex-flow: column;
}
.tbm-submenu .tbm-row {
	display: flex;
	flex-flow: row;
}
.tbm-submenu .tbm-gap10 {
	gap: 10px;
}
.tbm-submenu .tbm-gap15 {
	gap: 15px;
}
.tbm-submenu .tbm-gap20 {
	gap: 20px;
}
.tbm-submenu .tbm-gap30 {
	gap: 30px;
}
.tbm-submenu .tbm-gap40 {
	gap: 40px;
}
.tbm-submenu .tbm-gap50 {
	gap: 50px;
}
.tbm-submenu .tbm-gap60 {
	gap: 60px;
}
.tbm-submenu .tbm-100 {
	display: flex;
	flex: 100%;
}
.tbm-submenu .tbm-75 {
	display: flex;
	flex: 75%;
}
.tbm-submenu .tbm-70 {
	display: flex;
	flex: 70%;
}
.tbm-submenu .tbm-65 {
	display: flex;
	flex: 65%;
}
.tbm-submenu .tbm-60 {
	display: flex;
	flex: 60%;
}
.tbm-submenu .tbm-55 {
	display: flex;
	flex: 55%;
}
.tbm-submenu .tbm-50 {
	display: flex;
	flex: 50%;
}
.tbm-submenu .tbm-45 {
	display: flex;
	flex: 45%;
}
.tbm-submenu .tbm-40 {
	display: flex;
	flex: 40%;
}
.tbm-submenu .tbm-35 {
	display: flex;
	flex: 35%;
}
.tbm-submenu .tbm-30 {
	display: flex;
	flex: 30%;
}
.tbm-submenu .tbm-25 {
	display: flex;
	flex: 25%;
}
.tbm-submenu .tbm-20 {
	display: flex;
	flex: 20%;
}
.tbm-image {
	border-radius: 25px;
	margin: 5px 0 15px 0;
	width: 100%;
	height: auto;
}


/* HP INTRO */

.hp-intro-first {
	gap: 50px;
	justify-content: space-between;
}
.hp-intro-first .subhead {
	padding-top: 6px;
	font-size: 1rem;	
}
.hp-intro-includes .field--name-field-display-title {
	padding: 25px 0 5px 0;
}
.hp-intro-includes .field--name-body {
	padding: 0 15px;
}
.hp-intro-includes .views-view-responsive-grid__item {
	max-width: 392px;
	border-radius: 25px;
	background: #fafafa;
	padding-bottom: 25px;
}


/* HP PROMO */
.hp-promo {
	display: flex;
	gap: 100px;
}
.hp-promo-copy {
 flex: 2; 
}
.hp-promo-copy h2 {
	font-size: 1.9rem;
	line-height: 150%;
	letter-spacing: -1px;
}
.hp-promo-copy h4 {
	line-height: 150%;
	margin-bottom: 20px;
	border-bottom: 1px solid #00baff;
	padding-bottom: 20px;	
}
.hp-promo-copy h5 {
	text-transform: uppercase;
}
.hp-promo-copy li {
	padding-bottom: 10px;
}
.hp-promo-copy .partial-border {
  position: relative;
  padding: 25px;
  background: #fafafa;
}
.hp-promo-copy .partial-border::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 5px;
  width: 40%;
  background-color: #00baff;
}
.hp-reg-form {
	padding: 40px 10px 0 10px;
	border-radius: 25px 0 0 25px;
	background: #1e2465;
  height: 100%;
}
.promo-form-bg {
	flex: 1;
	border-radius: 25px;
	padding-right: 225px;
	background: url('/sites/default/files/content-reference-images/hp-promo-bg-1.jpg') no-repeat 50% 0 transparent;
	background-size: cover;
}
.hp-reg-form h4 {
	color: #fff;
  font-weight: 700;
  padding: 0 20px;	
}


/* BUTTONS */

a.bttn,
#edit-submit-contact-rsm.form-submit,
.node-case-study .field-name-field-study-detail a,
.field-name-field-download-links a,
.brochure-download a,
.article-teaser .node__links li a,
.field--name-field-resource-link a {
	border-radius: 25px;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  font-size: .85rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  margin: 0;
  padding: 10px 27px;
  text-transform: uppercase;
}
.article-teaser .node__links li a,
.field--name-field-resource-link a,
a.bttn.blu {
  background: #00aeef;
  border: 1px solid #00aeef;
  color: #fff;
  width: fit-content;
}
a.bttn.gry {
  background: #8892a1;
  border: 1px solid #8892a1;
  color: #fff;
}
a.bttn.wht {
  background: #fff;
  border: 1px solid #fff;
  color: #00aeef;
}
a.bttn.fw {
  width: 96%;
}
a.bttn.blu.download-links,
.field-name-field-download-links a,
.brochure-download a {
  background: url('../images/dl-icon.png') no-repeat 9px 11px #00aeef;
  border: 1px solid #00aeef;
  color: #fff;
  padding: 12px 18px 12px 34px;
  margin: 4px;
}
a.bttn.blu.license-icon {
  background: url('../images/buy-icon.png') no-repeat 9px 11px #00aeef;
  padding: 12px 18px 12px 32px;
}
.field-name-field-download-links a {
  font-size: 12px;
}
a.bttn.blu.cs-read-more {
  margin: 14px 0 0 20px;
}
a.bttn.ghost {
  background: none !important;
}
a.bttn.blu.ghost {
  color: #00aeef;
  font-size: 14px;
}
.button-holder {
  padding: 15px;
  display: inline-block;
}
.button-holder-center {
  padding: 15px;
  text-align: center;
}
.button-holder-vert {
  padding: 15px 0;
  display: inline-block;
}

a.bttn:hover,
#edit-submit-contact-rsm.form-submit:hover,
.node-case-study .field-name-field-study-detail a:hover,
.field-name-field-download-links a:hover,
.brochure-download a:hover {
  background: #152973;
  border: 1px solid #152973;
  box-shadow: 1px 3px 10px 0px rgba(0,0,0,0.22);
  color: #fff;
  text-decoration: none;
  -webkit-transition: 0.2s linear all;
  -moz-transition: 0.2s linear all;
  -ms-transition: 0.2s linear all;
  transition: 0.2s linear all;	
}
a.bttn.blu:hover,
.field-name-field-study-detail a:hover {
  background: #152973;
  border: 1px solid #152973;
}
a.hp-design-guide:hover .bttn.gry,
a.bttn.gry:hover {
  background: #a5adb9;
}
a.bttn.wht:hover {
  background: #fff;
  border: 1px solid #fff;
  color: #00aeef;
	text-decoration: underline;
}
a.bttn.blu.download-links:hover,
.field-name-field-download-links a:hover,
.brochure-download a:hover {
  background: url('../images/dl-icon.png') no-repeat 9px 11px #152973;
}
a.bttn.blu.license-icon:hover {
  background: url('../images/buy-icon.png') no-repeat 9px 11px #152973;
}
a.bttn:active,
#edit-submit-contact-rsm.form-submit:active,
.field-name-field-study-detail a:active,
.field-name-field-download-links a:active,
.brochure-download a:active {
  box-shadow: none;
}
a.bttn.blu.hwht:hover {
	background: #fff;
  border: 1px solid #fff;
	color: #00aeef;
}


/* MAIN STYLES */
header {
	position: fixed;
	width: 100%;
	z-index: 5;
	background: #060d24;
}
.navbar {
	padding-bottom: 0;
}
.navbar-nav {
	justify-content: right;
	padding-right: 20px;
}
.navbar-nav .nav-link {
	color: #fff;
	font-size: 12px;
	padding: 0;
}
footer .navbar-nav .nav-link {
	font-size: 14px;
}
.nav-link:hover {
	color: #fff;
	text-decoration: underline;
}
.region-nav-branding {
	width: 300px;
}
.region-title {
	background-color: #0b1157;
	padding-top: 30px;
	padding-bottom: 20px;
}
.views-field-title h1,
.views-field-field-post-type h1,
.views-field-field-post-type h1 a {
	color: #fff;
	line-height: 1;
}
.breadcrumb,
.breadcrumb a {
	--bs-breadcrumb-divider-color: #fff;
	color: #fff;
	font-size: 12px;
	padding: 0;
	margin: 0;
}
main {
	background: #fff;
  flex-grow: 1;
  padding-top: 88px;
}
@media (max-width: 992px) {
	main {
		padding-top: 63px;
	}
}

/* ============================================================
   MOBILE NAVIGATION (hamburger)
   The toggler icon was the dark Bootstrap default (invisible on
   the navy header), and the Bootstrap collapse wrapped the TB
   Mega Menu's OWN mobile toggle — two hamburgers, nested. Below
   992px we make one visible hamburger reveal a single flat,
   tappable menu on the navy header background.
   ============================================================ */
@media (max-width: 991.98px) {
	/* Let the navbar row wrap so the opened menu drops full-width below the
	   bar. Constrain the fixed-width (300px) branding so the hamburger has
	   room and never gets crowded off the row. */
	header .navbar > .container-fluid {
		flex-wrap: wrap;
	}
	.region-nav-branding {
		width: auto;
		max-width: 220px;
	}
	/* Visible white hamburger (the default icon is dark — invisible on navy) */
	.navbar-toggler {
		flex-shrink: 0;
		margin: 0 0 10px 0;
		padding: 6px 9px;
		border: 1px solid rgba(255, 255, 255, 0.55);
		border-radius: 6px;
	}
	.navbar-toggler:focus {
		box-shadow: 0 0 0 3px rgba(0, 174, 239, 0.45);
	}
	.navbar-toggler-icon {
		width: 1.4em;
		height: 1.4em;
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	}

	/* Opened panel: solid navy, full width below the bar */
	#navbarRight.navbar-collapse {
		flex-basis: 100%;
		width: 100%;
		background: #060d24;
		padding: 4px 0 18px;
		margin-top: 6px;
	}
	#navbarRight .navs {
		gap: 0 !important;
		width: 100%;
	}
	/* Main menu first, utility links (Search/Sign Up/Log in) beneath */
	#navbarSupportedContent {
		order: 1;
	}
	#userNav {
		order: 2;
	}

	/* Collapse the double-toggle: render the mega menu as one flat list */
	.tbm-button {
		display: none !important;
	}
	.tbm-collapse {
		display: block !important;
		position: static !important;
	}
	.tbm-submenu,
	.tbm-submenu-toggle {
		display: none !important;
	}
	.tbm,
	.tbm.tbm--mobile .tbm-collapse,
	.tbm.tbm--mobile .tbm-nav {
		background: transparent !important;
	}
	.tbm-nav.level-0 {
		display: block;
		width: 100%;
	}
	.tbm-no-arrows .tbm-item--has-flyout > .tbm-link-container .tbm-link:before {
		display: none !important;
	}

	/* Top-level links as full-width tappable rows */
	.tbm-item.level-1 {
		border-right: 0 !important;
		border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
	}
	.tbm-link.level-1 {
		color: #fff !important;
		background: transparent !important;
		display: block !important;
		padding: 14px 2px !important;
		font-size: 1.05rem;
		letter-spacing: 0.04em;
	}
	.tbm-link.level-1:hover,
	.tbm-link.level-1:focus {
		color: #00aeef !important;
	}

	/* Utility nav (Search / Sign Up / Log in) as a muted row beneath */
	#userNav {
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		margin-top: 8px;
		justify-content: flex-start;
	}
	#userNav .navbar-nav {
		flex-direction: row;
		justify-content: flex-start;
		gap: 24px;
		padding: 14px 2px 2px;
	}
	#userNav .navbar-nav .nav-link {
		font-size: 13px;
		color: #9fb0d8;
		padding: 0;
	}
	#userNav .navbar-nav .nav-link:hover {
		color: #fff;
		text-decoration: none;
	}
}

header,
.region-full-width-above .block-block-content,
.region-full-width-above .block-views,
.region-footer-top .block-block-content,
.region-footer .block-block-content,
.region-copyright .block-block-content,
.region-title,
.block.block-core.block-local-tasks-block,
/* .block.block-system.block-system-main-block - causes blocks on Products aggregate page to not fully expand */
.block-views-blockevent-rsms-user-page {
	padding-left: 50px;
	padding-right: 50px;
}
.path-search .region-content {
	padding: 50px;
}
.form-search,
.form-search:focus {
	background: #fff;
}
.container-inline.js-form-wrapper.form-wrapper {
	display: flex;
	gap: 20px;
	align-items: flex-end;
}
.container-inline div.form-type-search {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.view-display-id-user_page {
	padding-top: 15px;
	padding-bottom: 50px;
}
.path-user h2.white {
	margin-bottom: 1rem;
}

.inner-container,
.navbar,
.region .view .view-header,
.region .view .view-content,
.block-system-breadcrumb-block,
.region-full-width-above .field--name-body,
.region-footer-top .block-block-content .field--name-body,
.region-footer .block-block-content .field--name-body,
.region-copyright .block-block-content .field--name-body,
.node.node--type-aggregate-content.node--view-mode-full .field--name-body,
.node.node--type-aggregate-content.node--view-mode-full .field--name-field-landing-page-header,
.profile,
.tabs,
.node--type-event.node--view-mode-full,
.node--type-article.node--view-mode-full,
.path-search .block.block-system.block-system-main-block {
	max-width: 1280px;
	margin: 0 auto;
}
.path-search .item-list {
	margin-top: 50px;
}

/* USER Pages */

.path-user .region-content {
	padding-top: 25px;
	padding-bottom: 25px;
}
.path-user .block-system-main-block {
	padding-left: 50px;
	padding-right: 50px;
}
.path-user .user-form,
.path-user .user-pass,
.path-user .user-login-form {
	max-width: 1280px;
	margin: 0 auto;
}
.path-user .user-form input,
.path-user .user-pass input,
.path-user .user-login-form input,
.path-user .user-form select,
.form-select {
	max-width: 300px;
	background-color: #fff;
}
.path-user .user-login-form input.button,
.path-user .user-pass input.button,
.path-user .user-form input.button {
	background-color: #00aeef;
}
.path-user .form-control {
	background-color: #fff;
	font-size: .9rem;
}
.form-item-field-territory-state-value label,
.form-item-field-territory-country-value label {
	font-size: 1.3rem;
	font-weight: 400;
	margin-bottom: 20px;
	line-height: normal;
}

.page-route-view-contact-rsm-intl-intl .region-full-width-above,
.page-route-view-contact-rsm-us .region-full-width-above {
  display: grid;
  grid-template-columns: minmax(0, 488px) minmax(0, 488px);
  justify-content: center;
  gap: 24px;  
  padding: 50px 0;
  background: #54b8f6;
}

.page-route-view-contact-rsm-intl-intl .region-full-width-above,
.page-route-view-contact-rsm-us .region-full-width-above {
  display: grid;
  grid-template-columns:
    minmax(16px, 1fr)
    minmax(0, 488px)
    minmax(0, 488px)
    minmax(16px, 1fr);
  gap: 24px;
}

.page-route-view-contact-rsm-intl-intl .region-full-width-above > div:first-child { grid-column: 2; padding: 0;}
.page-route-view-contact-rsm-intl-intl .region-full-width-above > div:last-child  { grid-column: 3; padding: 0;}
.page-route-view-contact-rsm-us .region-full-width-above > div:first-child { grid-column: 2; padding: 0; }
.page-route-view-contact-rsm-us .region-full-width-above > div:last-child  { grid-column: 3; padding: 0; }

.page-route-view-contact-rsm-intl-intl .region-full-width-above > div,
.page-route-view-contact-rsm-us .region-full-width-above > div {
  min-width: 0;
  text-align: left;
  justify-self: stretch;
}

@media (max-width: 991px) {
  .page-route-view-contact-rsm-intl-intl .region-full-width-above,
  .page-route-view-contact-rsm-us .region-full-width-above {
    grid-template-columns: 16px minmax(0, 1fr) 16px;
  }

  .page-route-view-contact-rsm-intl-intl .region-full-width-above > div:first-child,
  .page-route-view-contact-rsm-intl-intl .region-full-width-above > div:last-child,
  .page-route-view-contact-rsm-us .region-full-width-above > div:first-child,
  .page-route-view-contact-rsm-us .region-full-width-above > div:last-child {
    grid-column: 2;
  }
}

.contact-results-search h2 {
	color: #fff;
}
.contact-results-search label {
	color: #0b1157;
}
.contact-results-search .button {
	background-color: #0b1157;
	color: #fff;
}
.contact-results-search .button:hover {
	background-color: #fff;
	color: #54b8f6;
}
.contact-results-search .form--inline,
.contact-results-search h2 {
	max-width: 1000px;
	margin: 0 auto;
}
.contact-results .view-header h2 {
	border-bottom: 1px solid #000;
	padding-bottom: 25px;
	margin-bottom: 25px;
}
.contact-results .view-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 500px));
  gap: 30px 50px;
  justify-content: center;
}
.contact-results .views-row,
.contact-results .views-row > * {
  min-width: 0;
}
.contact-results .views-row > * {
  width: 100%;
  box-sizing: border-box;
}
.contact-results .view-content > .views-row > div {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.sid.bttn.blu {
	margin: 10px 10px 10px 0;
}
.user-logged-in .contact-signin {
    display: none;
}
.contact-methods {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
	margin: 10px 0;
}
.region-info {
	max-width: 375px;
}
@media (max-width: 767px) {
  .contact-results .view-content {
    grid-template-columns: 1fr;
  }
}

.btn-primary,
.btn-secondary {
	background-color: #00aeef;
	border: 1px solid #00aeef;
	border-radius: 25px;
	font-size: .85rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	margin: 0;
	padding: 10px 27px;
	text-transform: uppercase;
	height: fit-content;
}
.btn-primary:hover,
.btn-secondary:hover {
	background-color: #fff;
	border: 1px solid #00aeef;
	color: #00aeef;
}

footer,
.region-footer, 
.region-sidebar-second, 
.region-content {
	padding: 0;
}
.block-footer-logo {
 	background: url('../images/footer-bg.png') no-repeat 20% 0 #0b1015;
  background-size: contain;
}
.block-footer-logo .field--name-body {
	display: flex;
	flex-direction: row;
  justify-content: flex-start;
	width: 100%;
}

.content-card {
	text-align: center;
}
.content-card .views-view-responsive-grid__item {
	background: #fff;
	border-radius: 25px;
}
.content-card img {
	border-radius: 25px 25px 0 0;
}
.content-card .views-field-title h5 {
	line-height: 135%;
	padding: 20px 30px 15px 30px;
}
.content-card.view-press-releases .views-field-title h5 {
	font-size: 1rem;
	padding: 7px 30px 10px 30px;
}
.content-card .views-field-field-publication-date {
	padding: 20px 30px 0 30px;
}
.content-card .views-field-body {
	padding: 0 30px 20px 30px;
}
.content-card .event-details {
	padding: 20px 30px 5px 30px;
	text-align: center;
}  
.content-card .event-button {
	padding: 7px 30px 25px 30px;
	text-align: center;
}
.content-card.view-display-id-block_4 .views-view-responsive-grid__item-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #060d24;
	border-radius: 25px;
}
.content-card.view-display-id-block_4 .views-field-title h4 {
	padding: 17px 30px 7px 30px;
	font-weight: 400;
	font-size: 1.1rem;
	line-height: normal;
}
/* Card titles are links on a navy card; keep them white (the global dark-blue
   link color is unreadable here) with a cyan hover. */
.content-card.view-display-id-block_4 .views-field-title h4 a {
	color: #fff;
}
.content-card.view-display-id-block_4 .views-field-title h4 a:hover {
	color: #00aeef;
}
.content-card.view-display-id-block_4 .views-field-view-node {
	margin-top: auto;
	margin-bottom: 15px;
}

.social-media a {
	display: inline-block;
	margin-right: 0px;
	height: 34px;
	transition: none;
	width: 40px;
}
.social-media a.linkedin {
  background: url('/sites/default/files/social-media-icons.png') no-repeat -388px 0 transparent;
}
.social-media a.youtube {
  background: url('/sites/default/files/social-media-icons.png') no-repeat 0 3px transparent;
}
.social-media a.linkedin:hover {
  background: url('/sites/default/files/social-media-icons.png') no-repeat -388px -64px transparent;
}
.social-media a.youtube:hover {
  background: url('/sites/default/files/social-media-icons.png') no-repeat 0 -61px transparent;
}

/* MOBILE OVERFLOW FIXES */
/* The fixed 300px branding region + 50px side paddings exceed small
   viewports, which widens the mobile layout viewport and lets the fixed
   header (width:100%) stretch past the screen. */
@media (max-width: 991px) {
	.region-nav-branding {
		width: auto;
		max-width: 240px;
	}
}
@media (max-width: 767px) {
	header,
	.region-full-width-above .block-block-content,
	.region-full-width-above .block-views,
	.region-footer-top .block-block-content,
	.region-footer .block-block-content,
	.region-copyright .block-block-content,
	.region-title,
	.block.block-core.block-local-tasks-block,
	.block-views-blockevent-rsms-user-page {
		padding-left: 20px;
		padding-right: 20px;
	}
	.frp {
		padding: 30px 20px;
	}
}

/* AOS (animate-on-scroll) pre-animation transforms (e.g. fade-left starts
   at translateX(100px)) extend the scrollable area until the element
   animates into view. Clip horizontal overflow at the content level. */
main {
	overflow-x: clip;
}
@supports not (overflow-x: clip) {
	main {
		overflow-x: hidden;
	}
}

/* Partner Portal product-document tabs (.tabsy) — vertical left-hand nav.
   Markup is the usual Bootstrap nav-tabs + tab-content; here .tabsy is a flex
   row: the tab list becomes a left sidebar, the documents fill the rest. The
   cyan line runs down the divider between them. Collapses back to horizontal
   tabs on narrow screens (see media query below). */
.tabsy {
	display: flex;
	align-items: flex-start;
}
.tabsy .nav-tabs {
	flex: 0 0 230px;
	flex-direction: column;
	list-style: none;
	padding-left: 0;
	margin: 0;
	border-bottom: none;
	border-right: 2px solid #00aeef;
}
.tabsy .nav-tabs li {
	list-style: none;
}
.tabsy .nav-tabs li::marker {
	content: none;
}
.tabsy .nav-tabs .nav-link {
	cursor: pointer;
	width: 100%;
	text-align: left;
	padding: 0.45rem 1rem;
	border-radius: 4px 0 0 4px;
	/* pull each tab 2px right so the active block overlaps the divider line;
	   no vertical gap so the tabs read as one solid rail */
	margin: 0 -2px 0 0;
}
/* The active/hover tab's own border otherwise shows a seam against the divider
   (active resolves to white via border-color:unset → currentColor; hover gets
   Bootstrap's light-grey border). Tint both cyan so they blend into the line. */
.tabsy .nav-tabs .nav-link:hover,
.tabsy .nav-tabs .nav-link.active {
	border-color: #00aeef;
}
.tabsy .tab-content {
	flex: 1 1 auto;
	min-width: 0; /* allow the fixed-layout tables to shrink within the flex item */
	padding-left: 1.5rem;
}

@media (max-width: 767.98px) {
	.tabsy {
		flex-direction: column;
	}
	.tabsy .nav-tabs {
		flex: 1 1 auto;
		flex-direction: row;
		flex-wrap: wrap;
		border-right: none;
		border-bottom: 2px solid #00aeef;
	}
	.tabsy .nav-tabs .nav-link {
		width: auto;
		border-radius: 4px 4px 0 0;
		margin: 0 0 -2px 0;
	}
	.tabsy .tab-content {
		padding-left: 0;
		padding-top: 1.25rem;
	}
}
/* Standardize document tables so the Size column lines up across every block. */
.tabsy .tab-content table.table {
	width: 100%;
	table-layout: fixed;
}
.tabsy .tab-content table.table th:last-child,
.tabsy .tab-content table.table td:last-child {
	width: 130px;
	white-space: nowrap;
}
.tabsy .tab-content table.table td {
	word-wrap: break-word;
	overflow-wrap: anywhere;
}

/* "Super chill hero" breadcrumb at the top of each TPD sub-page. Slim version
   of .pp-hero (same navy gradient family) that really just links back up the
   Partner Portal tree. */
.tpd-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	background: linear-gradient(135deg, #060d24 0%, #14215c 60%, #1e2465 100%);
	border-radius: 16px;
	padding: 16px 24px;
	margin: 0 0 40px;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.tpd-crumbs a {
	color: #00aeef;
	text-decoration: none;
}
.tpd-crumbs a:hover {
	color: #fff;
	text-decoration: underline;
}
.tpd-crumbs .tpd-sep {
	color: #6b78a8;
	font-weight: 400;
}

/* -------------------------------------------------------------------------
   Thank You message bars (ported from D7).
   IMPORTANT! Do not remove these rules - they hide and show message bars.
   Blocks carry .ty or .wty (block_classes); js/rgb10.js adds .open when the
   URL has ?t= (ty) or ?w= (wty). */
.ty,
.wty {
	display: none;
}
.ty.open,
.wty.open {
	display: block;
}
/* The bars live in the Title region, whose .region-title wrapper is styled
   as the blue page-title band. On pages where the region holds nothing but
   thank-you bars, strip the band chrome — otherwise an empty blue strip
   renders even while the bars are hidden. */
.region-title:not(:has(> :not(.ty, .wty))) {
	background: none;
	padding: 0;
}

/* Thank You bar */
.thankyoubar {
	background: #152973;
	color: #fff;
	display: block;
	font-size: 1.2em;
	font-style: italic;
	padding: 20px 20px 10px 20px;
	text-align: center;
}
