/********************************************
*  These styles are added in the body and   *
*  should be the last to load. Anything     *
*  that needs to overwrite existing styles  *
*  goes here.                                *
********************************************/

/* FIXING HEADING SIZE ISSUES */
.page-content h2 { font-size: clamp(41px, 0.09vw + 40.65px, 42px) }
.page-content h3 { font-size: clamp(34px, 0.19vw + 33.3px, 36px) }
.page-content h4 { font-size: clamp(28px, 0vw + 28px, 28px) }
.page-content h5 { font-size: clamp(20px, 0.38vw + 18.59px, 24px) }
.page-content h6 { font-size: clamp(18px, 0.22vw + 16.33px, 20px) }

h2, h3, h4, h5, h6 {
  line-height: 1.25;
}

h2 {
  margin-top: 4rem;
}

/* This style resolves an issue created by they style above */
footer h2 {
  margin-top: 0;
}

h3,
h4 {
  margin-top: 3rem;
}

h5,
h6 {
  margin-top: 2.5rem;
}



.fr-view strong {
  font-weight: 500;
}

.page-content * {
  text-wrap: wrap;
  max-inline-size: 62.5rem;
  /* needed a little more width */
}

.article-content.page-content * {
  max-inline-size: min(77ch, 48.75rem);
  /* specific so above wouldn't overwrite */
}

/* Needed this after the above to maintain the "slightly larger" callout section */
.article-content .img-text-block {
  max-width: 100%;
}

.page-content h2:first-child,
.page-content p:first-child {
  margin-top: 3rem;
}

/************************************
*     ACCESSIBILITY RESOLUTIONS     *
************************************/

/* Link adjustment - previously only distinguished by color */
.page-content a {
  font-weight: 400;
}

/* Fix accessibility contrast issues and brand colors On Locations Page */
.locations-listing .location-card:nth-child(odd) button.title,
.locations-listing .location-card:nth-child(odd) .links-container .link-wrapper a {
    color: var(--faux-blue-deux);
}
.locations-listing .location-card:nth-child(odd) .links-container .link-wrapper app-icon {
  filter: brightness(0) saturate(100%) invert(24%) sepia(87%) saturate(1677%) hue-rotate(188deg) brightness(92%) contrast(103%);
}
.locations-listing .location-card address {
  color: #464b4b;
}


/****************************
/*     Editor Overrides     *
/***************************/
/* These don't appear to work, likely need to put somewhere else */

.ktc-rich-text-wrapper * {
  text-wrap: wrap;
}

.ktc-rich-text-wrapper .show-nicely {
  opacity: 1 !important;
}

/*****************************
/*          Heros            *
/****************************/

/* "Shorter" hero images for things like Privacy Policy Page */
.hero-alt-1 {
  max-height: 45vh;
  min-height: 335px;
}

.hero-alt-1 .content-shaper .content[style] {
  margin-top: 115px;
}


/*****************************
/*     UCX Values Widget     *
/****************************/

.values-banner.alt-banner .values dl dt {
  margin-bottom: clamp(15px, 0.5vw + 15px, 25px);
}

.values-banner.alt-banner .values dl dd {
  margin-bottom: clamp(25px, 1vw + 25px, 40px);
}

.values-banner.alt-banner ul li,
.values-banner.alt-banner ol li {
  font-size: clamp(18px, 0.28vw + 16.94px, 21px);
  line-height: 1.6;
}


/*********************************
*     CTA - Featured Content     *
*********************************/

.featured-content .content .description {
  font-size: clamp(16px, 0.19vw + 15.3px, 18px);
  font-weight: 300;
}

.featured-content .content .description p {
  line-height: 2;
}


/*****************************
/*        Event Pages        *
/****************************/

.event-detail .button {
  color: #ffffff;
}


/*****************************
/*       Article Pages       *
/****************************/

app-table-of-contents .menu ol {
  color: var(--faux-blue-deux);
}

.hero.article-banner .splash {
  max-height: 650px;
}

/* Quick fix for header images growing too tall (photographic masked element) */
.hero .content-shaper .shape img {
  max-height: 650px;
}

.article-content ul {
  padding-left: 3rem;
}


/*******************************
*     CTA - Careers Banner     *
*******************************/

.careers-banner picture img {
  max-height: 800px;
  object-fit: cover;
}


/*********************
*       Footer       *
/********************/

/* Color of social icons on hover */
body>footer ul.social-links>li>a:is(:hover, :focus-visible) svg {
  fill: var(--faux-blue);
}

/***************************
*     Scroll Up Button     *
/**************************/

/* This positions the scroll to top button to align nicely with accessiBe icon */
app-scroll-to-top>button {
  position: fixed;
  bottom: 4.45rem;
  right: 1rem;
}

@media (min-width: 1023px) {
  app-scroll-to-top>button {
    bottom: 5.5rem;
    right: 2.2rem;
  }
}


/***********************************
*     REMOVING ROUNDED CORNERS     *
***********************************/

/* Site Search */
app-search>.dialog,
app-search>.dialog>form,
app-search>.dialog>form>input {
  border-radius: 0;
  color: #464b4b;
}

app-search>.dialog>form>input:focus,
app-search>.dialog>form>input:focus-visible {
  outline: solid 2px #25282a;
}

/* FORsights/Events Search And Filters */
app-listing-filter .search-form-top input,
app-listing-filter .search-form-bottom .filters .filter-group .dropdown-select,
app-listing-filter .search-form-bottom .filters .filter-group .dropdown-menu,
app-listing-filter .search-form-bottom .sorting .sort-group .dropdown-select,
app-listing-filter .search-form-bottom .sorting .sort-group .dropdown-menu {
  border-radius: 0;
}

/* Locations Page */
.locations-component .locations-panel .locations-filter .geo-search input,
.locations-component .locations-panel .locations-filter .radius-select .locations-radius-select .dropdown-select,
.locations-component .locations-panel .locations-filter .radius-select .locations-radius-select .dropdown-menu {
  border-radius: 0;
}

@media (min-width: 992px) {
  .locations-component .locations-panel .locations-filter .radius-select .locations-radius-select .dropdown-select {
    height: 40px;
  }
}



/****************************
*       Marketo Forms       *
****************************/

app-button-modal .modal {
  max-width: 53.0625rem;
}

/* Test other sizes on different screen sizes */

.mktoFieldDescriptor.mktoFormCol {
  margin: initial;
}

.mktoForm fieldset.mktoFormCol>.mktoFormRow .mktoFormCol:nth-child(n+2 of .mktoFormCol),
.mktoForm fieldset.mktoFormCol>.mktoFormRow .mktoFormCol:nth-last-child(n+2 of .mktoFormCol) {
  max-width: none;
}

/* Style multi-select boxes for Subscription form */
.mktoForm fieldset.mktoFormCol>.mktoFormRow .mktoFormCol .mktoFieldWrap {
  justify-content: start;
}
.mktoForm fieldset.mktoFormCol>.mktoFormRow .mktoFormCol .mktoFieldWrap label {
  padding-left: 3px;
}
/* End styling for multi select boxes */

.mktoForm label {
  font-weight: bold;
  text-align: left;
  margin-left: 0;
  color: #464b4b;
}

.mktoForm textarea,
.mktoForm input,
.mktoForm .mktoFieldWrap select.mktoField {
  width: 100%;
  color: #464b4b !important;
}

.mktoForm input,
.mktoForm select,
.mktoForm textarea {
  border-radius: 0 !important;
}

.mktoForm textarea {
  padding: 1rem;
  font-size: clamp(16px, 0.19vw + 15.3px, 18px);
  line-height: 1.25rem;
}

.mktoForm> :nth-last-child(1 of .mktoFormRow) .mktoFieldDescriptor .mktoFieldWrap {
  flex-direction: row;
}

.mktoForm> :nth-last-child(1 of .mktoFormRow) .mktoFieldDescriptor .mktoFieldWrap .mktoLogicalField {
  margin-right: 20px;
}

.mktoForm> :nth-last-child(1 of .mktoFormRow) .mktoFieldDescriptor .mktoFieldWrap label {
  font-weight: normal;
  font-size: 1rem;
  line-height: 1.5;
}

/* Unbold labels in fieldsets */
fieldset.mktoFormCol label {
  font-weight: normal;
}

.mktoForm h1,
.mktoForm h2,
.mktoForm h3,
.mktoForm h4,
.mktoForm h5,
.mktoForm h6 {
  color: #464b4b;
}

/* Make Privacy Policy link in modal pop up Marketo forms accessible */
.modal .mktoForm a {
  color: var(--faux-blue-deux);
}

.mktoForm .mktoButtonRow .mktoButtonWrap .mktoButton:hover {
  background-color: #0072ce;
  border-color: #0072ce;
}

/**********************************************/
/*    Marketo Overrides for Specific Forms    */
/**********************************************/

/* Main Subscription Form - aligns consent checkbox with multi-select boxes */
#mktoForm_1010 .mktoFormRow .mktoFormCol .mktoFieldWrap #Lblcrm_consenttodataprocessingdateresponse {
  padding-inline: 0 10px;
}
#mktoForm_1010 input#crm_consenttodataprocessingdateresponse {
  margin-right: 20px;
}
/* End Main Subscription Form (consent checkbox alignment style) */


/* Undo the Consent (i.e. - last label) styling */
/* Unsubscribe Form */
#mktoForm_1023.mktoForm> :nth-last-child(1 of .mktoFormRow) .mktoFieldDescriptor .mktoFieldWrap {
  flex-direction: column;
}

#mktoForm_1023.mktoForm> :nth-last-child(1 of .mktoFormRow) .mktoFieldDescriptor .mktoFieldWrap label {
  font-weight: bold;
  font-size: clamp(16px, 0.19vw + 15.3px, 18px);
  line-height: 2;
}


/* Extra checkbox (not in a fieldset) before the consent checkbox */
/* 2023 Rural Telecommunications Benchmark Study Gated Content */
#mktoForm_1043.mktoForm> :nth-last-child(2 of .mktoFormRow) .mktoFieldDescriptor .mktoFieldWrap {
  flex-direction: row;
  align-items: center;
}

#mktoForm_1043.mktoForm> :nth-last-child(2 of .mktoFormRow) .mktoFieldDescriptor .mktoFieldWrap .mktoLogicalField {
  margin-left: 0;
  margin-right: 20px;
}

#mktoForm_1043.mktoForm> :nth-last-child(2 of .mktoFormRow) .mktoFieldDescriptor .mktoFieldWrap .mktoLabel {
  width: 100%;
}