@charset "UTF-8";
/* Web Solutions 4.0 Compatible */



body {
  background: #FFF;
}

body>header {
  display: contents;
}

#brand {
  padding: 1em;
  display: block;
  margin: 0 auto;
  max-width: 22em;;
  text-align: center;
  width: 100%;
}

#brand img {
  max-width: 100%;
  display: block;
  height: auto;
  margin: 0 auto;
}

/* nav */

#navContainer a[href^="tel:"],
#navContainer #ancillary .number {
  display: inline-block;
  float: none;
  width: auto;
}

#navContainer {
  position: fixed;
  left: 100%;
  top: 0;
  bottom: 0;
  width: 75%;
  height: 100vh;
  overflow: auto;
  background-color: var(--ws-violet);
  -webkit-transition: left 200ms ease;
  transition: left .3s ease;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  z-index: 9999;
}

.slideNav #navContainer {
  left: 25%;
  box-shadow: 0 0 100px 0 rgba(0, 0, 0, 0.75);
}

#navContainer nav {
  display: block;
  -webkit-order: 3;
  -ms-flex-order: 3;
  order: 3;
}

#navContainer ul {
  display: block;
  width: 100%;
  margin: 0;
  padding-left: 0;
}

#navContainer li {
  display: block;
  width: 100%;
  position: relative;
}

#mainnav>ul>li {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

#navContainer a,
#navContainer .menu {
  color: #FFF;
  line-height: 2.5em;
  padding: 0 1rem;
  display: block;
  width: 100%;
}

#navContainer .menu {
  color: #FFF;
  line-height: 2.5em;
  padding: 0 1rem;
  display: block;
  width: 100%;
  order: 1;
}

#navContainer>.menu:before {
  content: "\f057";
  font-family: FontAwesome;
  margin-right: 0.3em;
}

#navContainer li.on a {
  background-color: rgba(55, 99, 175, 1);
  color: #FFF;
}

#navContainer li.open {
  background-color: rgba(0, 0, 0, 0.15);
}

#navContainer li>span {
  color: #000;
  display: block;
  position: absolute;
  right: .25em;
  top: .5em;
  line-height: 1.5em;
  width: 1.5em;
  text-align: center;
  transition: transform .2s ease;
}


#navContainer li>span:before {
  color: #FFF;
  content: "\f138";
  font-family: FontAwesome;
  font-size: 1.5em;
}

#navContainer li.open>span {
  transform: rotate(90deg);
}

#navContainer ul ul {
  font-size: .875em;
  padding-bottom: .75em;
}

#navContainer ul ul a {
  line-height: 1.875;
  padding-left: 2rem;
}

#navContainer #ancillary {
  overflow: auto;
  width: 100%;
  clear: both;
  display: block;
}

#navContainer #ancillary form {
  padding: 1em;
  display: block;
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

#navContainer #ancillary input {
  background: #FFF;
  padding: 0 0.75rem;
  height: 2rem;
  border: 0;
  width: 100%;
}

#navContainer #ancillary button {
  background: var(--ws-blue) url('/images/icons/search-white.svg') no-repeat center;
  border: 0;
  border-radius: 0 2px 2px 0;
  height: 2rem;
  padding: .6em 0;
  position: absolute;
  right: 0.9375rem;
  top: 1rem;
  width: 2rem;
}

#navContainer #ancillary .number {
  color: #FFF;
  font-size: 1.25em;
  font-weight: 600;
  padding: 0 1rem;
}

#mobilenav {
  align-items: flex-start;
  background-color: var(--ws-violet);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  position: sticky;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 5;
}

#mobilenav a,
#mobilenav>span {
  color: #FFF;
  font-weight: 600;
  line-height: 1.25;
  padding: .625em .75em;
  order: 0;
  flex: 1 1 auto;
  align-self: auto;
}

#mobilenav *+* {
  border-left: 1px solid rgba(255, 255, 255, 0.25);
}

#mobilenav>span.menu:before {
  content: "\f0c9";
  font-family: FontAwesome;
  margin-right: 0.3em;
}



/* GTRANSLATE WIDGET ------------------------------ */
body>.skiptranslate:not(:is([style*="display: none"], [style*="display:none"])) ~header #brand {
  padding-top: 3.5em;
}

.skiptranslate {
  position: relative;
  z-index: 0;
}

#translate-widget {
  padding: .75em 1em 0;
}

#translate-widget select {
  background-color: #FFF;
  width: 100%;
}





/* addon classes */

.twoCol, .threeCol, .resCol {
  column-rule: 0;
  columns: auto;
  column-width: 100%;
}


.image-links {
  margin-inline: auto;
  max-width: 30em;
  --ws-column-count: 2;
}





/* list */

.content ul li {
  padding-left: 1.5em;
}

/* forms */

.formTable,
.formTable table {
  width: 100%;
  display: block;
}

.formTable tbody {
  display: block;
}

.formTable tr {
  display: block;
}

.formTable td {
  display: block;
  width: 100%;
  padding: 0;
}

.formTable input[type="text"],
.formTable input[type="password"],
.formTable input[type="tel"],
.formTable input[type="number"],
.formTable input[type="email"],
.formTable input[type="url"],
.formTable textarea {
  margin-bottom: 1em;
  width: 100%;
}

.formTable select {
  margin-bottom: 1em;
}

/* Form flex markup */
.form-flex :where(.half, .third) {
	width: 100%;
}

.form-flex .quarter {
	width: calc(50% - .5em);
}




.button.anchorRight,
.button.floatRight {
  margin-bottom: 2em;
}

#content .registration-list [type="submit"] {
  margin-bottom: 5em;
  width: 100%;
}

#content {
  padding-bottom: 4em;
}

.photoright {
  margin: 0 0 .75em 1em;
}

.photoleft {
  margin: 0 1em .75em 0;
}

.callouts {
  padding: 2.813em 1em;
}

.callouts section+section {
  margin-top: 2em;
}

.callouts section h1 {
  line-height: 1.2;
}

.topics,
.calendar {
  padding: 3em 1em;
}

.topics p {
  line-height: 120%;
  font-size: 1em;
}

.topics hr {
  margin: 1em 0;
}

.calendar li+li {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  margin-top: 2em;
  padding-top: 2em;
}

.content ul li:before {
  left: 0.25em;
  top: 0.4em;
}

.content p img {
  max-width: 100%;
  height: auto;
}

#alertApp {
  height: auto;
  padding: 1em;
  position: relative;
  overflow: hidden;
}

#alertApp h1 {
  line-height: 120%;
  height: auto;
  font-size: 0.875em;
  overflow: hidden;
  margin: 0;
}

.topic-jump {
  display: block;
}

.topic h2 {
  padding: 0.4em 1em 0.4em 1.9em;
}

.content .topics-list ul li:before {
  top: 0.2em;
}

.topic-jump a {
  font-size: 1.5em;
  margin-bottom: 0.25em;
}




/* MAIN ------------------------------  */

.home main {
  padding: 0;
}

main>.wrap {
  padding-top: 1.875em;
}




/* add-on classes */
.highlight,
.content .highlight {
  padding: 1em;
  margin: 2em 0;
}

.callout {
  padding: 2.25em 1em;
}

.callout p:last-child {
  font-size: 0.875em;
}

.callout h1 {
  margin-bottom: 1em;
}

.registration-form {
  text-align: center;
}

.registration-form h2,
.registration-form label {
  text-align: left;
}

.registration-form div {
  max-width: 100%;
}

.registration-form [type="submit"],
.registration-list [type="submit"],
.registration-form [type="reset"] {
  width: 100%;
  display: block;
  margin-bottom: 1em;
}

.pageHeader {
  display: none;
}




/* FOOTER  ------------------------------ */

body>footer {
  text-align: center;
}

body>footer .fatFooter>div {
  margin: 2em auto 0;
  max-width: 25em;
}

/* Address */
body>footer .social ul {
  justify-content: center;
}

/* About */
body>footer .about .flex {
  justify-content: center;
  gap: 2.5em;
}


/* Footer bottom */
body>footer .copyright nav {
  margin-block: .75em;
}

body>footer .copyright nav span:before {
  display: none;
}

body>footer .copyright nav a+span:before {
  display: inline-block;
}


body>footer .wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
}


#web-solutions-exposure {
  order: 1;
}





/* RESOURCE LINKS RIBBON ------------------------------ /
* - Homepage and Standard/FullWidth Interior
*/

.resource-links ul.ws-flex {
  --ws-column-count: 3;
}




/* FEATURED EVENTS RIBBON ------------------------------ /
* - Homepage
*/

.featured-events ul.ws-flex {
  max-width: 36em;
  --ws-column-count: 2;
}




/* EMAIL SIGNUP RIBBON ------------------------------ /
* - Homepage
*/

.email-signup::before {
  background-size: auto 100%;
}

.email-signup::after {
  inset: 0;
}

.email-signup {
  text-align: center;
}

.email-signup .icon {
  margin-bottom: 1.5em;
}





/* WELCOME RIBBON ------------------------------ /
* - Homepage
*/

.welcome::after {
  inset: auto auto -1em 50%;
  transform: translateX(-50%);
}

.welcome figure.image {
  margin: 0 0 1.5em;
}




/* TOPICS DETAIL PAGE ------------------------------ */

.detail-halves .half ~ .half {
  margin-top: 2.5em !important;
}





/* MAX-WIDTH MEDIA QUERIES ------------------------------ */

@media (max-width: 500px) {

  blockquote {
    border-block: 1px solid rgba(var(--ws-violet-rgb), .5);
    float: none;
    margin: 1.5em 0;
    padding-block: 1.5em;
    max-width: 100%;
    text-align: left;
  }


  .resource-links ul.ws-flex {
    --ws-column-count: 2;
  }


  .featured-events ul.ws-flex {
    max-width: 18em;
    --ws-column-count: 1;
  }


  .callouts-v1 {
    flex-direction: column;
  }

  .callouts-v1>div {
    margin-inline: auto;
    max-width: 22em;
    width: 100%;
  }

  .callouts-v2>div {
    display: block;
  }

  .callouts-v2>div figure {
    margin: 0 0 2em;
    width: 100%;
  }

  .callouts-v2>div:nth-child(1n) .textbox {
    padding: 0;
    width: 100%;
  }

}


/* ------------------- STYLE-M.CSS ------------------- */
