/* ============================================================================
   Hodgson Russ LLP - hoja de estilos base
   Compartida por todas las paginas. Cada plantilla anade despues su
   propia hoja (home, static, bio-listing, area-listing, item-listing,
   office-listing o detail), igual que en el sitio original.

   Paleta   --main-dark #070707   --medium-blue #023998
            --baby-blue #AFCCFE   --warm-gray  #7D7373   --rules #D6CFCF
   Tipos    DM Sans (texto)  ·  DM Serif Display (titulares)  ·  Roboto (UI)
   ============================================================================ */

/* ============================================================================
   TIPOGRAFIAS  ·  @font-face
   Roboto, DM Sans y DM Serif Display
   ============================================================================ */


@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 100;
  src:
    url(../assets/fonts/roboto/Roboto-Thin-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/Roboto-Thin-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 100;
  src:
    url(../assets/fonts/roboto/Roboto-ThinItalic-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/Roboto-ThinItalic-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 300;
  src:
    url(../assets/fonts/roboto/Roboto-Light-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/Roboto-Light-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 300;
  src:
    url(../assets/fonts/roboto/Roboto-LightItalic-webfont.woff2)
      format("woff2"),
    url(../assets/fonts/roboto/Roboto-LightItalic-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src:
    url(../assets/fonts/roboto/Roboto-Regular-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/Roboto-Regular-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 400;
  src:
    url(../assets/fonts/roboto/Roboto-Italic-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/Roboto-Italic-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  src:
    url(../assets/fonts/roboto/Roboto-Medium-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/Roboto-Medium-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 500;
  src:
    url(../assets/fonts/roboto/Roboto-MediumItalic-webfont.woff2)
      format("woff2"),
    url(../assets/fonts/roboto/Roboto-MediumItalic-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src:
    url(../assets/fonts/roboto/Roboto-Bold-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/Roboto-Bold-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 700;
  src:
    url(../assets/fonts/roboto/Roboto-BoldItalic-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/Roboto-BoldItalic-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 900;
  src:
    url(../assets/fonts/roboto/Roboto-Black-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/Roboto-Black-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 900;
  src:
    url(../assets/fonts/roboto/Roboto-BlackItalic-webfont.woff2)
      format("woff2"),
    url(../assets/fonts/roboto/Roboto-BlackItalic-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto-Condensed";
  font-style: normal;
  font-weight: 300;
  src:
    url(../assets/fonts/roboto/Roboto-Condensed-Light-webfont.woff2)
      format("woff2"),
    url(../assets/fonts/roboto/Roboto-Condensed-Light-webfont.woff)
      format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto-Condensed";
  font-style: italic;
  font-weight: 300;
  src:
    url(../assets/fonts/roboto/Roboto-Condensed-LightItalic-webfont.woff2)
      format("woff2"),
    url(../assets/fonts/roboto/Roboto-Condensed-LightItalic-webfont.woff)
      format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto-Condensed";
  font-style: normal;
  font-weight: 400;
  src:
    url(../assets/fonts/roboto/Roboto-Condensed-Regular-webfont.woff2)
      format("woff2"),
    url(../assets/fonts/roboto/Roboto-Condensed-Regular-webfont.woff)
      format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto-Condensed";
  font-style: italic;
  font-weight: 400;
  src:
    url(../assets/fonts/roboto/Roboto-Condensed-Italic-webfont.woff2)
      format("woff2"),
    url(../assets/fonts/roboto/Roboto-Condensed-Italic-webfont.woff)
      format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto-Condensed";
  font-style: normal;
  font-weight: 700;
  src:
    url(../assets/fonts/roboto/Roboto-Condensed-Bold-webfont.woff2)
      format("woff2"),
    url(../assets/fonts/roboto/Roboto-Condensed-Bold-webfont.woff)
      format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto-Condensed";
  font-style: italic;
  font-weight: 700;
  src:
    url(../assets/fonts/roboto/Roboto-Condensed-BoldItalic-webfont.woff2)
      format("woff2"),
    url(../assets/fonts/roboto/Roboto-Condensed-BoldItalic-webfont.woff)
      format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto-Slab";
  font-style: normal;
  font-weight: 100;
  src:
    url(../assets/fonts/roboto/RobotoSlab-Thin-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/RobotoSlab-Thin-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto-Slab";
  font-style: normal;
  font-weight: 300;
  src:
    url(../assets/fonts/roboto/RobotoSlab-Light-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/RobotoSlab-Light-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto-Slab";
  font-style: normal;
  font-weight: 400;
  src:
    url(../assets/fonts/roboto/RobotoSlab-Regular-webfont.woff2)
      format("woff2"),
    url(../assets/fonts/roboto/RobotoSlab-Regular-webfont.woff) format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto-Slab";
  font-style: normal;
  font-weight: 700;
  src:
    url(../assets/fonts/roboto/RobotoSlab-Bold-webfont.woff2) format("woff2"),
    url(../assets/fonts/roboto/RobotoSlab-Bold-webfont.woff) format("woff");
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 100;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-100-normal.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  font-style: italic;
  font-weight: 100;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-100-italic.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 300;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-300-normal.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  font-style: italic;
  font-weight: 300;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-300-italic.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-400-normal.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  font-style: italic;
  font-weight: 400;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-400-italic.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 500;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-500-normal.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  font-style: italic;
  font-weight: 500;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-500-italic.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-700-normal.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  font-style: italic;
  font-weight: 700;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-700-italic.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 900;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-900-normal.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  font-style: italic;
  font-weight: 900;
  src: url("../assets/fonts/dm-sans/dm-sans-latin-900-italic.woff") format("woff");
  font-display: swap;
}
/* Generated by Font Squirrel (https://www.fontsquirrel.com) on December 18, 2023 */
@font-face {
  font-display: swap;
  font-family: "DM Serif Display";
  src: url("../assets/fonts/dm-serif-display/dmserifdisplay-italic-webfont.woff2")
    format("woff2");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-display: swap;
  font-family: "DM Serif Display";
  src: url("../assets/fonts/dm-serif-display/dmserifdisplay-regular-webfont.woff2")
    format("woff2");
  font-weight: 400;
  font-style: normal;
}

/* ============================================================================
   BOTONES DE COMPARTIR
   ============================================================================ */


[class^="addthis_button_"] .defaultShareIcon,
[class^="socialshare_button_"] .defaultShareIcon {
  width: 16px;
  height: 16px;
  vertical-align: middle;
  position: relative;
  top: -0.1em;
}
.blogPosts .addthis [class^="addthis_button_"] .defaultShareIcon,
.blogPosts .socialshare [class^="socialshare_button_"] .defaultShareIcon {
  display: inline-block;
}
#socialShareList {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.8em 1.3em;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.2);
  border-radius: 0 2px 2px 2px;
  line-height: 1.8;
  z-index: 999999;
  width: auto;
  margin: 0;
  text-align: left;
  min-width: 147px;
}
#socialShareList img {
  filter: grayscale(100%);
}
#socialShareList a {
  color: #595959;
}
#socialShareList.buttonHovered,
#socialShareList.hasFocus {
  display: block;
}
#socialShareList.hasHover {
  background: red;
}
#socialShareList.dropUp {
  box-shadow: 0 -1px 3px 1px rgba(0, 0, 0, 0.2);
  border-radius: 2px 2px 2px 0;
}
#socialShareList.dropRight {
  border-radius: 2px;
}
#socialShareList {
  white-space: nowrap;
}
#socialShareList.fixWhiteLinks a {
  color: #333;
}
#socialShareList img {
  display: inline-block;
  height: 1em;
  width: 1em;
  vertical-align: baseline;
  border-radius: 3px;
  margin-right: 0.5em;
  position: relative;
  top: 0.15em;
}
.addthis_toolbox > a,
.socialshare_toolbox > a {
  margin-bottom: 5px;
  line-height: initial;
}
.addthis_pill_style,
.socialshare_pill_style {
  background: #ef7945;
  color: white;
  display: inline-block;
  border-radius: 2px;
  padding: 3px 3px 2px 0;
  box-sizing: border-box;
  vertical-align: top;
  text-decoration: none;
  font-size: 11px;
  text-align: center;
}
.addthis_pill_style .defaultShareIcon,
.socialshare_pill_style .defaultShareIcon {
  height: 14px;
  width: 14px;
  vertical-align: middle;
  background: red;
  position: relative;
  top: -0.1em;
}

/* ============================================================================
   BASE  ·  reset, variables, tipografia fluida, listas y enlaces
   ============================================================================ */


html {
  max-width: 320px;
  overflow-y: scroll;
  overflow-x: visible;
  font-family: "DM Sans", Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;
  --min-font-size: 16;
  --max-font-size: 20;
  --fluid-start: 767;
  --fluid-end: 1500;
  --main-dark: #070707;
  --dark-blue: #023998;
  --medium-blue: #023998;
  --baby-blue: #afccfe;
  --warm-gray: #7d7373;
  --rules: #d6cfcf;
  color: var(--main-dark);
}
html,
h1,
h2,
h3,
h4,
h5,
h6,
.title,
p,
li,
.section,
#homeAnimationSearchJump a,
#bannerExtrasForm form > div > div label,
#practiceSearch form > div > div > label,
.letterLinks a,
.letterLinks span,
.position,
.phone,
.email,
.info,
#bannerSectionTitle,
#officeAddress,
#itemsection,
.section,
#itemDate,
.publication,
.location,
button.toggleExpand,
p.expandButton button,
#headerTitle,
#subContent .expandableHeading,
#staggeredSpotlights .content,
.blogPosts .byline {
  font-size: calc(var(--max-font-size) * 1px);
  font-size: max(
    var(--min-font-size) * 1px,
    min(
      var(--max-font-size) * 1px,
      var(--min-font-size) * 1px + (var(--max-font-size) - var(--min-font-size)) *
        ((100vw - var(--fluid-start) * 1px) / (var(--fluid-end) - var(--fluid-start)))
    )
  );
  margin-top: max(
    var(--min-margin-top) * 1px,
    min(
      var(--max-margin-top) * 1px,
      var(--min-margin-top) * 1px + (var(--max-margin-top) - var(--min-margin-top)) *
        ((100vw - (var(--fluid-start) * 1px)) / (var(--fluid-end) - var(--fluid-start)))
    )
  );
  margin-bottom: max(
    var(--min-margin-bottom) * 1px,
    min(
      var(--max-margin-bottom) * 1px,
      var(--min-margin-bottom) * 1px + (var(--max-margin-bottom) - var(--min-margin-bottom)) *
        ((100vw - (var(--fluid-start) * 1px)) / (var(--fluid-end) - var(--fluid-start)))
    )
  );
  padding-top: max(
    var(--min-padding-top) * 1px,
    min(
      var(--max-padding-top) * 1px,
      var(--min-padding-top) * 1px + (var(--max-padding-top) - var(--min-padding-top)) *
        ((100vw - (var(--fluid-start) * 1px)) / (var(--fluid-end) - var(--fluid-start)))
    )
  );
  padding-bottom: max(
    var(--min-padding-bottom) * 1px,
    min(
      var(--max-padding-bottom) * 1px,
      var(--min-padding-bottom) * 1px + (var(--max-padding-bottom) - var(--min-padding-bottom)) *
        ((100vw - (var(--fluid-start) * 1px)) / (var(--fluid-end) - var(--fluid-start)))
    )
  );
  --min-font-size: max(16, calc(var(--max-font-size) * 0.7));
  --min-margin-bottom: max(10, calc(var(--max-margin-bottom) * 0.5));
  --min-margin-top: max(10, calc(var(--max-margin-top) * 0.5));
}
html:not([data-whatintent="keyboard"]) *:focus {
  outline: 0;
}
@media (min-width: 321px) {
  html {
    max-width: unset;
    overflow-x: hidden;
  }
}
body {
  position: relative;
  min-width: 320px;
  max-width: 1646px;
  overflow-x: hidden;
  margin: 0 auto;
  padding: 112px 16px 0 16px;
  background: #fff;
  box-sizing: border-box;
}
@media (min-width: 920px) {
  body {
    padding: 112px 44px 0 44px;
  }
}
@media (min-width: 1025px) {
  body {
    overflow-x: unset;
  }
}
@media (min-width: 1350px) {
  body {
    padding: 112px 80px 0 80px;
  }
}
p {
  margin: 14px 0 28px;
  font-weight: 300;
}
td p:first-child {
  margin-top: 0;
  padding-top: 0;
}
td p:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
b,
strong {
  font-weight: bolder;
}
b b,
strong strong,
strong b,
b strong {
  font-weight: inherit;
}
p[style*="padding-left: 30px"],
td p[style*="padding-left: 30px"] {
  padding-right: 30px;
}
p[style*="padding-left: 60px"],
td p[style*="padding-left: 60px"] {
  padding-right: 60px;
}
p[style*="padding-left: 90px"],
td p[style*="padding-left: 90px"] {
  padding-right: 90px;
}
sup,
sub {
  line-height: 0;
}
a {
  color: var(--warm-gray);
  text-decoration: none;
}
a:hover,
a:focus {
  color: var(--medium-blue);
}
p a,
p u {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
p a:is(:hover, :focus) {
  text-decoration: none;
}
mark {
  background: #0a80ca;
  color: white;
}
main,
nav,
footer {
  display: block;
}
a[href^="tel:"] {
  color: inherit !important;
  text-decoration: inherit !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  color: var(--main-dark);
  line-height: 1.25;
  font-weight: 400;
}
h1,
#bannerSectionTitle {
  --max-margin-bottom: 30;
  --max-font-size: 60;
  --max-margin-top: 70;
  font-family: "DM Serif Display";
  font-weight: 400;
}
h1#contentTitle {
  --min-font-size: 32;
  --max-font-size: 44;
}
h1#pageTitle,
#bannerSectionTitle {
  margin: 0 0 50px;
  font-family: "DM Serif Display";
}
h1#pageTitle::after {
  display: none;
}
h2 {
  --max-margin-top: 70;
  --min-margin-bottom: 17;
  --max-margin-bottom: 17;
  --min-font-size: 36;
  --max-font-size: 48;
  font-family: "DM Serif Display";
}
h2::after,
h1#contentTitle::after,
.blogPosts.singlePost div.postDetail > div.title::after {
  display: block;
  content: "";
  width: 50%;
  max-width: 65px;
  height: 1px;
  margin: 15px 0 30px;
  background: var(--medium-blue);
}
h2[style*="text-align: center;"]::after {
  position: relative;
  left: calc(50% - 32px);
}
#subContent h2 {
  --min-margin-top: 30;
  --max-margin-top: 35;
  text-transform: uppercase;
  --min-font-size: 17;
  --max-font-size: 17;
  letter-spacing: 1px;
  color: var(--medium-blue);
  font-family: "Roboto";
}
#subContent h2::after {
  display: none;
}
.results-criteria-wrapper h2 {
  font-weight: bold;
  font-size: 1.1em;
}
#subContent li,
#subContent p {
  margin-bottom: 14px;
}
h3 {
  --max-margin-top: 70;
  --max-margin-bottom: 30;
  --min-font-size: 26;
  --max-font-size: 36;
  font-family: "DM Serif Display";
}
h4,
#emailSignupForm h2 {
  --max-margin-top: 30;
  margin-bottom: 10px;
  --min-font-size: 20;
  --max-font-size: 26;
  color: #333232;
  font-family: "DM Serif Display";
  text-transform: none;
}
h5 {
  --max-margin-top: 30;
  margin-bottom: 10px;
  text-transform: uppercase;
  --min-font-size: 16;
  --max-font-size: 18;
  letter-spacing: 2px;
}
h6 {
  font-weight: bolder;
  --max-margin-top: 30;
  --min-font-size: 14;
  --max-font-size: 22;
}
ul,
ol {
  margin: 0 0 1em 0;
  padding: 0;
}
ol {
  padding-left: 1em;
}
li,
.attachment_wrapper div {
  margin: 12px 0em 12px 1.25em;
  padding: 0;
  font-weight: 300;
}
li ~ li,
.attachment_wrapper div {
  margin-top: 15px;
}
p li {
  font-weight: 300;
}
::marker {
  color: var(--medium-blue);
}
ol ol,
ul ul {
  margin: 0.5em 0 0 0;
  padding: 0;
}
ol > ol,
ul > ul {
  margin-left: 1.5em;
}
li > p {
  margin: 0;
  padding: 0;
}
img {
  border: 0;
}
:not(td) > p img,
:not(td) > h1 img,
:not(td) > h2 img,
:not(td) > h3 img,
:not(td) > h4 img,
:not(td) > h5 img,
:not(td) > h6 img {
  max-width: 100%;
  height: auto;
}
#content > *:not(#bottomContent) > :first-child:not(#bottomSpotlights),
#content > *:not(#bottomContent) > :first-child:not(#bottomSpotlights) > :first-child,
#bio_content > :first-child,
#area_content > :first-child,
.newsList:first-child > :first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  #mainContent table[style*="width"] {
    width: 100% !important;
    height: auto !important;
  }
}
@media (max-width: 500px) {
  p > img,
  p > a:not(sp_pencil) > img {
    float: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 10px 0 18px 0 !important;
  }
}
@media (min-width: 920px) {
  h1#pageTitle,
  #bannerSectionTitle {
    margin-bottom: 20px;
  }
}
#footer::before,
#homeNewsHeader::before,
#bannerExtras::before,
#bottomSpotlights::before,
#bottomContent::before,
.bottomContentText::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  background: inherit;
}
#logo svg,
#banner,
.letterLinks > *,
.bioList > ul > li,
#homeNewsHeader,
#footerSocial {
  transition-property:
    top, right, bottom, left, width, height, max-width, max-height, min-width, min-height, padding,
    margin;
  transition-duration: 500ms;
  transition-timing-function: ease;
}
.errors,
.mandatory {
  color: #c33;
}
.search_form label .mandatory {
  color: inherit;
  padding-left: 0.2em;
}
.errors a {
  color: inherit;
  text-decoration: underline;
}
table.results_list {
  border-collapse: collapse;
  width: 100%;
}
table.results_list th {
  text-align: left;
}
table.results_list td:not(:last-child) {
  padding-right: 10px;
}
@media (max-width: 767px) {
  table.results_list,
  table.results_list td,
  table.results_list tr {
    display: block;
  }
  table.results_list th {
    display: none;
  }
}
#captcha_wrapper {
  grid-column-start: 1;
  clear: both;
  float: none;
  height: auto;
}
#captcha_wrapper img {
  display: inline-block;
  margin: 2px 10px 0 0;
}
#captcha_wrapper button.reloadCode {
  display: inline-block;
  position: relative;
  margin: 12px 0 0 0;
  padding: 0.25em;
  width: 2.25em;
  height: 2.25em;
  background: transparent;
  box-sizing: border-box;
  border: 0;
  font-size: 12px;
  vertical-align: top;
  -webkit-appearance: none;
  appearance: none;
}
.reloadCode.loading {
  animation: reloadRotate 600ms linear 10;
}
@keyframes reloadRotate {
  100% {
    transform: rotate(360deg);
  }
}
.reloadCode:before,
.reloadCode:after {
  content: "";
  display: block;
}
.reloadCode:before {
  width: 1.5em;
  height: 1.5em;
  border: 0.125em solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  transform: rotate(45deg);
}
.reloadCode:after {
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 0;
  border-width: 0.3125em 0 0.3125em 0.5em;
  border-style: solid;
  border-color: transparent transparent transparent currentColor;
}
.itemList ul,
.itemList ul li {
  list-style: none;
  margin-left: 0;
}
.itemList > ul li,
.attachment_wrapper div {
  margin: 0em 0em 0.8em 0em;
}
#resultPageLinks {
  margin: 1em 0;
}
#resultPageLinks a,
#resultPageLinks span {
  margin-left: 7px;
  padding: 0 3px 2px;
}
#resultPageLinks span {
  border-bottom: 2px solid #333;
}
.expandButton button,
.collapseButton button {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none;
  color: inherit;
  font: inherit;
  text-transform: inherit;
  text-align: inherit;
  cursor: pointer;
}
.expandButton button,
.collapseButton button {
  color: #0a80ca;
  text-decoration: none;
  cursor: pointer;
}
.expandButton:hover,
.expandButton:focus,
.collapseButton:hover,
.collapseButton:focus {
  color: #888;
}
.expandButton.expanded {
  display: none;
}
.expandableContent {
  display: none;
  overflow: hidden;
  padding: 10px 0;
}
h2.expandableHeading + .expandableContent {
  padding: 20px 30px;
}
.extraItems {
  display: none;
  overflow: hidden;
}
.contentJump {
  display: block;
  position: absolute;
  z-index: 999;
  top: 5px;
  right: 50%;
  padding: 5px 15px;
  background: white;
}
.contentJump:not(:focus),
.contentJump:not(:focus)::selection {
  z-index: -1;
  color: transparent !important;
  background: transparent !important;
  pointer-events: none;
}

/* ============================================================================
   CABECERA  ·  #header, logo, banner y acceso a busqueda
   ============================================================================ */


#header {
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  width: 100%;
  height: 112px;
  padding: 0 16px 0 16px;
  background: rgba(255, 255, 255, 1);
  box-sizing: border-box;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.11);
}
body.scrolled #header,
body.siteSearchOpen #header {
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.11);
}
#logo {
  display: inline-block;
  position: relative;
  z-index: 9999;
  width: 200px;
  margin: 40px 0 0 0;
}
#logo svg {
  display: block;
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  transition: fill 0.5s ease-out;
}
#logo svg .dark {
  fill: #000;
}
#logo svg .light {
  fill: #000;
}
@media (min-width: 768px) {
  #logo {
    width: 275px;
    margin: 35px 0 0 0;
  }
}
@media (min-width: 920px) {
  #header {
    padding: 0 44px 0 44px;
  }
}
@media (min-width: 1120px) {
  #logo svg {
    max-width: unset;
  }
}
@media (min-width: 1350px) {
  #header {
    padding: 0 80px 0 80px;
  }
}
@media (max-width: 919px) {
  body.mobileActive #logo svg path {
    fill: #fff;
  }
}
#banner {
  position: relative;
  height: 275px;
  margin-bottom: max(50px, min(82px, 50px + (82 - 50) * ((100vw - 767px) / (1600 - 767))));
  background: #000;
}
body.noBannerMargin #banner {
  margin-bottom: 0;
}
#bannerImage {
  position: relative;
  left: calc(50% - 50vw);
  width: 100vw;
  height: 100%;
  background: #000;
}
#bannerImage::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.7) 10%, transparent 70%);
}
#bannerImage > picture > img {
  display: block;
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#bannerContent {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  color: #fff;
  font-size: 16px;
}
#bannerContent * {
  color: inherit;
}
#bannerExtras {
  position: relative;
  padding: max(30px, min(55px, 30px + (55 - 30) * ((100vw - 767px) / (1500 - 767)))) 0
    max(10px, min(25px, 10px + (25 - 10) * ((100vw - 767px) / (1500 - 767))));
  margin-bottom: 2.5rem;
  background: #f4f4f4;
}
#bannerExtras p:first-child {
  margin-top: 0;
}
#bannerExtras p:last-child {
  margin-bottom: 0;
}
#bannerTools,
#itemAccessories {
  display: flex;
}
#bannerExtras #bannerIntro {
  margin-bottom: 30px;
}
#bannerExtras #bannerIntro a {
  color: #776e6e;
}
#bannerExtras #bottomSpotlights > h2 {
  margin-top: 0;
}
#bannerTools > *:not(:last-child),
#itemAccessories > *:not(:last-child) {
  margin-right: 15px;
}
#blogSocialLinks,
#blogSocialLinks li {
  list-style: none;
  margin: 0;
}
#blogSocialLinks {
  display: flex;
  margin-bottom: 40px;
}
#blogSocialLinks li:not(:last-child) {
  margin-right: 16px;
}
#bannerTools svg .svgCircle,
#freeFormText svg .svgCircle,
#itemAccessories svg .svgCircle,
#slickNav svg .svgCircle,
#blogSocialLinks svg .svgCircle,
.blog #subContent #emailSignupForm svg .svgCircle,
#oipContainer #subContent #emailSignupForm svg .svgCircle {
  fill: var(--medium-blue);
}
#bannerTools svg .svgInnards,
#freeFormText svg .svgInnards,
#itemAccessories svg .svgInnards,
#slickNav svg .svgInnards,
#blogSocialLinks svg .svgInnards,
.blog #subContent #emailSignupForm svg .svgInnards,
#oipContainer #subContent #emailSignupForm svg .svgInnards {
  fill: var(--warm-gray);
}
#bannerTools svg .svgBackground,
#freeFormText svg .svgBackground,
#itemAccessories svg .svgBackground,
#slickNav svg .svgBackground,
#blogSocialLinks svg .svgBackground,
.blog #subContent #emailSignupForm svg .svgBackground,
#oipContainer #subContent #emailSignupForm svg .svgBackground {
  fill: none;
}
#bannerTools a:is(:hover, :focus) svg .svgBackground,
#freeFormText a:is(:hover, :focus) svg .svgBackground,
#itemAccessories a:is(:hover, :focus) svg .svgInnards,
#itemAccessories a:is(:hover, :focus) svg .svgBackground,
#slickNav button:is(:hover, :focus) svg .svgInnards,
#slickNav button:is(:hover, :focus) svg .svgBackground,
#blogSocialLinks a:is(:hover, :focus) svg .svgInnards,
#blogSocialLinks a:is(:hover, :focus) svg .svgBackground,
.blog #subContent #emailSignupForm button:is(:hover, :focus) svg .svgBackground,
#oipContainer #subContent #emailSignupForm button:is(:hover, :focus) svg .svgBackground {
  fill: var(--medium-blue);
}
#bannerTools a:is(:hover, :focus) svg .svgInnards,
#freeFormText a:is(:hover, :focus) svg .svgInnards,
#itemAccessories a:is(:hover, :focus) svg .svgInnards,
#slickNav button:is(:hover, :focus) svg .svgInnards,
#blogSocialLinks a:is(:hover, :focus) svg .svgInnards,
.blog #subContent #emailSignupForm button:is(:hover, :focus) svg .svgInnards,
#oipContainer #subContent #emailSignupForm button:is(:hover, :focus) svg .svgInnards {
  fill: #fff;
}
#oipContainer #subContent #emailSignupForm button {
  position: absolute;
  right: 0;
  top: -5px;
  background: none;
  width: 35px;
  padding: 0;
}
#oipContainer #subContent #emailSignupForm button svg {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  #bannerExtras {
    display: flex;
    justify-content: space-between;
  }
  #bannerExtras #bannerIntro {
    flex: 0 1 1100px;
    margin-right: 40px;
  }
}
#searchJump {
  display: block;
  position: absolute;
  z-index: 10000;
  width: 30px;
  height: 30px;
  top: 41px;
  right: 77px;
  line-height: 1;
  cursor: pointer;
}
body.mobileActive #searchJump {
  top: 40px;
  right: 85px;
}
#searchJump svg {
  display: block;
  display: block;
  width: 100%;
  height: auto;
  fill: var(--main-dark);
}
body.mobileActive #searchJump svg {
  fill: #fff;
}
#searchJump:hover svg,
#searchJump:focus svg {
  fill: var(--medium-blue);
}
body.mobileActive #searchJump:hover svg,
body.mobileActive #searchJump:focus svg {
  opacity: 0.7;
}
@media (min-width: 920px) {
  #searchJump {
    right: 105px;
  }
}
@media (min-width: 1350px) {
  #searchJump {
    width: 37px;
    height: 37px;
    top: 41px;
    right: 80px;
  }
}

/* ============================================================================
   BUSCADOR  ·  overlay a pantalla completa y autocompletado
   ============================================================================ */


#siteSearch,
#hubSearch {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  z-index: 9999;
  top: 112px;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.9) !important;
  height: 0;
  overflow: hidden;
  transition:
    opacity 0.25s,
    height 0s 1s,
    visibility 0s 1s;
}
#siteSearch:target,
#siteSearch.target,
#hubSearch:target,
#hubSearch.target {
  opacity: 1;
  visibility: visible;
  height: 100vh;
  transition:
    opacity 0.25s,
    height 0s;
}
#siteSearch > div,
#hubSearch > div {
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 70vw;
  min-width: 290px;
  max-width: 1500px;
  margin: 20vh auto auto auto;
  border-bottom: 2px solid white !important;
}
#siteSearch div > *:not(label),
#hubSearch div > *:not(label) {
  display: block;
  overflow: hidden;
  margin: 0;
  background: none;
}
#siteSearch div button,
#hubSearch div button {
  position: static;
  margin-left: 2px;
  padding: 10px;
  border: 0;
  cursor: pointer;
}
#siteSearch div button img,
#hubSearch div button img {
  height: 25px;
}
#siteSearch input#searchtext2,
#hubSearch input#searchtext3 {
  flex-grow: 1;
  width: 80%;
  min-height: auto;
  padding: 2px 2px 2px 5px;
  border: 0;
  color: white;
  font: inherit;
  font-size: 21px;
  font-weight: bold;
}
#searchClose {
  display: none;
}
#searchClose {
  display: block;
  position: absolute;
  top: 15px;
  right: 10px;
  width: 0;
  height: 0;
  overflow: hidden;
  padding: 28px 28px 0 0;
  background: none !important;
  border: none;
  box-sizing: border-box;
  color: inherit;
  font: inherit;
  font-size: 0;
  text-align: inherit;
  text-transform: inherit;
  cursor: pointer;
}
#searchClose::after,
#searchClose::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  bottom: -2px;
  left: 50%;
  width: 0;
  border: 1px solid white;
  border-radius: 4px;
  transform: rotate(-45deg);
}
#searchClose::before {
  transform: rotate(45deg);
}
#searchPopup {
  display: block;
  position: fixed;
  overflow: auto;
  z-index: 10000;
  top: calc(20vh + 166px);
  left: calc(50% - 145px);
  width: calc(70vw);
  min-width: 290px;
  max-width: 2000px;
  max-height: calc(70vh - 84px);
  background: white;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
}
.searchPopup > * {
  display: block;
  width: 100%;
  margin: 0;
  padding: 12px 32px;
  box-sizing: border-box;
  font-size: 16px !important;
  line-height: 1.4;
}
.searchPopup * p {
  margin: 0;
  padding: 0;
}
.searchPopup .link {
  font-weight: bold;
}
.searchPopup .selectable {
  border-bottom: 1px solid #ddd;
}
.searchPopup .selected,
.searchPopup .selectable:hover {
  position: relative;
  background: #ebebeb;
  color: inherit;
}
.searchPopup .selected::after {
  content: "»";
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 1.3em;
  height: 1.3em;
  background: white;
  border-radius: 50%;
  box-shadow: 0 0 1px black;
  color: #999;
  line-height: 1.3em;
  text-align: center;
}
#inlineSearchPopup {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  max-height: 350px;
}
.searchPopup {
  display: block;
  position: fixed;
  z-index: 10000;
  top: calc(20vh + 54px);
  left: calc(50% - 145px);
  width: calc(70vw);
  min-width: 290px;
  max-width: 2000px;
  max-height: calc(70vh - 84px);
  overflow: auto;
  background: white;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
}
.searchPopup a {
  background: none;
  color: black;
  font-weight: normal;
  text-shadow: none;
}
.searchPopup .popupHeader,
#allSearch {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0;
  margin-top: 0;
  background: var(--warm-gray);
  color: white;
  font-size: 18px !important;
  z-index: 1;
}
.searchPopup .popupHeader a {
  display: block;
}
.searchPopup .popupHeader:not(.selected) a,
#allSearch:not(.selected) a {
  color: inherit;
}
.acBio {
  padding: 0;
}
.acBio .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 0;
}
.acBio .results_list > div {
  display: flex;
}
.acBio a {
  font-weight: 600;
}
.acBio .photo {
  padding: 0 34px 0 0;
}
.acBio .photo img {
  display: block;
  max-width: 131px;
  max-height: 94px;
  border: 1px solid #ccc;
}
#allSearch {
  top: auto;
  bottom: 0;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  width: 100%;
  margin: 0px;
  padding: 10px 38px;
  background: var(--warm-gray);
  font-size: 16px !important;
}
#allSearch a {
  color: white !important;
}
#allSearch a:hover,
#allSearch a:focus {
  text-decoration: underline;
}
@media (min-width: 501px) {
  #searchPopup,
  .searchPopup {
    left: calc(50% - 50vw + 15vw);
  }
}

/* ============================================================================
   NAVEGACION  ·  #mainNav, submenus, menu movil y subnav
   ============================================================================ */


#mainNav {
  position: relative;
  line-height: normal;
}
#mainNav ul,
#mainNav li {
  list-style: none;
  position: relative;
  margin: 0;
  padding: 0;
  text-align: left;
}
#mainNav > ul {
  width: 100%;
}
#mainNav a {
  color: #000;
  text-decoration: none;
}
#mainNav li > a {
  display: block;
}
#mainNav li li:hover > a,
html[data-whatintent="keyboard"] #mainNav li li:focus-within > a {
  color: var(--baby-blue);
  text-decoration: none;
}
#mainNav ul,
#mainNav ul li {
  background: inherit;
  font-size: inherit;
}
#mainNav > ul ul {
  display: none;
  position: absolute;
}
@media (min-width: 1350px) {
  #mainNav {
    display: flex;
    position: absolute;
    z-index: 9999;
    top: 34px;
    right: 136px;
  }
  #mainNav > ul,
  #mainNav > ul > li {
    display: inline-block;
    background: none;
  }
  html:not([data-whatintent="touch"]) #mainNav > ul :hover > ul,
  #mainNav > ul .touchOpen > ul,
  #mainNav > ul .keepOpen > ul {
    display: block;
  }
  #mainNav > ul .keepOpen > ul:focus-within {
    display: block;
  }
  #mainNav > ul > li:nth-last-child(-n + 2):hover > ul ul {
    left: inherit;
    right: 100%;
  }
  #mainNav > ul ul {
    left: calc(50% - 120px);
    width: 410px;
    background: #3b2b3a;
    padding: 40px 72px 50px;
    box-sizing: border-box;
  }
  #mainNav > ul > li > a {
    white-space: nowrap;
    font-size: 24px;
    padding: 10px 15px 39px;
    font-weight: 500;
  }
  #mainNav > ul > li:nth-child(n + 4) > a {
    padding-bottom: 41px;
    text-transform: uppercase;
    font-size: 17px;
    letter-spacing: 1px;
    color: var(--warm-gray);
    font-weight: 400;
  }
  #mainNav > ul > li.current:nth-child(n + 4) > a {
    color: #333232;
  }
  #mainNav > ul > li:nth-child(3) {
    margin-right: 30px;
  }
  #mainNav > ul > li:nth-child(3)::after {
    position: absolute;
    right: -15px;
    top: 10px;
    content: "";
    display: block;
    width: 1px;
    height: 32px;
    background: var(--rules);
  }
  #mainNav > ul > li > a:hover,
  #mainNav > ul > li > a:focus {
    background: none;
    color: var(--medium-blue);
  }
  #mainNav > ul > li.current > a {
    color: var(--medium-blue);
  }
  #mainNav li li > a {
    color: #fff;
    font-size: 19px;
    font-weight: 400;
  }
  #mainNav li li:not(:last-child) {
    margin-bottom: 20px;
  }
  #mainNav > ul > li > ul .current > a:not(:hover):not(:focus) {
    color: var(--baby-blue);
    background: none;
  }
  #mainNav > ul + ul > li.current > a:not(:hover):not(:focus) {
    background: none;
    color: #888;
  }
  #mainNav .subNavHeader,
  #subNavBack {
    display: none;
  }
  #mainNav > ul li > ul ul {
    display: none !important;
    top: 0;
    left: 100%;
  }
  #mainNav > ul:not(:only-child) {
    display: flex;
    justify-content: flex-end;
  }
  #mainNav > ul + ul {
    position: absolute;
    right: 2.8vw;
    top: -50px;
    width: auto;
  }
  #mainNav > ul + ul ul {
    display: none !important;
  }
  #mainNav > ul + ul > li {
    margin-right: 2.2vw;
  }
  #mainNav > ul + ul > li > a {
    padding: 3px 0;
  }
  #mainNav > ul + ul > li > a:first-child::after {
    left: 0;
    right: 0;
  }
  #mainNav > ul + ul > li:focus-within > a {
    background: none !important;
  }
  button#navToggle {
    display: none;
  }
}
@media (max-width: 1349px) {
  #mainNav,
  #mainNav li ul {
    position: fixed;
    display: block;
    visibility: hidden;
    z-index: 9998;
    top: 0;
    right: -100vw;
    left: auto;
    width: 100vw;
    max-width: 543px;
    height: 100vh;
    padding: 100px 85px 120px;
    background: #3b2b3a;
    box-sizing: border-box;
    box-shadow: 0 0 200px 15px rgba(0, 0, 0, 0.8);
    transition: right 0.7s;
    overflow: auto;
  }
  #mainNav {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  #mainNav::before {
    display: none;
  }
  #mainNav > ul {
    position: relative;
    padding-top: 50px !important;
  }
  #mainNav ul ul {
    padding-top: 170px !important;
  }
  #mainNav > ul::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background: #d6cfcf;
    z-index: 9999;
  }
  #mainNav.target,
  #mainNav.target li ul {
    left: auto !important;
  }
  html[data-whatintent="keyboard"] #mainNav li:not(.touchOpen) > ul {
    visibility: hidden;
  }
  #mainNav li ul {
    box-shadow: none;
  }
  #mainNav.target,
  #mainNav li.touchOpen > ul {
    visibility: visible;
    right: 0;
  }
  #mainNav ul,
  #mainNav li {
    display: block;
    margin: 0;
    padding: 0;
  }
  #mainNav a {
    color: #fff;
  }
  #mainNav li.current > a {
    color: var(--baby-blue);
  }
  #mainNav > ul > li {
    margin-bottom: 25px;
    font-size: 32px;
    font-weight: 500;
  }
  #mainNav > ul > li a {
    padding: 0;
  }
  #mainNav > ul > li:nth-child(3) {
    margin-bottom: 45px;
  }
  #mainNav > ul > li:nth-child(n + 4) {
    margin-bottom: 25px;
    font-size: 19px;
    text-transform: uppercase;
  }
  #mainNav > ul > li:nth-child(n + 4) li.subNavHeader {
    text-transform: initial;
  }
  #mainNav > ul > li:nth-child(n + 4) > a {
    color: #d6cfcf;
  }
  #mainNav > ul > li:hover > a,
  html[data-whatintent="keyboard"] #mainNav > ul > li:focus-within > a {
    background: none;
    color: var(--baby-blue);
  }
  #mainNav > ul ul > li:not(.subNavHeader) {
    margin: 0 0 15px;
    font-size: 20px;
    text-transform: none;
  }
  #mainNav li li:hover > a,
  html[data-whatintent="keyboard"] #mainNav li li:focus-within > a {
    background: none;
    color: var(--baby-blue);
  }
  #mainNav #subNavBack {
    position: absolute;
    top: 123px;
  }
  #mainNav #subNavBack a {
    position: relative;
    padding-left: 20px;
    margin-left: 1px;
  }
  #mainNav #subNavBack a::before {
    content: "‹";
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 30px;
    font-weight: 300;
    line-height: 0.85rem;
  }
  #mainNav ul ul li.subNavHeader {
    margin-bottom: 20px;
    font-size: 32px;
    font-weight: 500;
  }
  #mainNav > ul > li:nth-child(n + 4) li.subNavHeader {
    margin-bottom: 25px;
    font-size: 19px;
    text-transform: uppercase;
    color: #d6cfcf;
  }
  #mainNav #navButton-professionals ul li#megaSearch {
    display: none !important;
  }
  button#navToggle {
    display: block;
    position: absolute;
    z-index: 9999;
    top: calc(50% - 14px);
    right: 40px;
    font-size: 0;
  }
  .mobileNav {
    display: inline-block;
    overflow: visible;
    margin: 0;
    padding: 4px;
    background-color: transparent;
    border: 0;
    color: inherit;
    font: inherit;
    text-transform: none;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: 0.15s;
    transition-property: opacity, filter;
  }
  button#navToggle.mobileNav.isActive {
    position: fixed;
    top: 42px;
    right: 128px;
  }
  .mobileNav.isActive:hover,
  .mobileNav.isActive:focus,
  .mobileNav:hover,
  .mobileNav:focus {
    opacity: 0.7;
  }
  .mobileNavBox {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 22px;
  }
  .mobileNavBox span {
    display: block;
    top: 50%;
    margin-top: -2px;
  }
  .mobileNavBox span {
    position: absolute;
    top: 10px;
    width: 40px;
    height: 4px;
    background-color: #000;
    border-radius: 4px;
    transition-timing-function: ease;
    transition-duration: 0.15s;
    transition-property: transform;
  }
  .mobileNav.isActive .mobileNavBox span {
    width: 38px;
    height: 2px;
    background-color: #fff;
  }
  .mobileNavBox span:first-child {
    top: 0;
  }
  .mobileNavBox span:last-child {
    top: 20px;
  }
  .mobileNavLabel {
    display: none;
  }
  .mobileNavSpring .mobileNavBox span {
    top: 0px;
  }
  .mobileNavSpring .mobileNavBox :first-child {
    top: 10px;
    transition:
      top 0.1s cubic-bezier(0.33333, 0.66667, 0.66667, 1) 0.2s,
      transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  .mobileNavSpring .mobileNavBox :last-child {
    top: 20px;
    transition:
      top 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1) 0.2s,
      transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  .mobileNavSpring.isActive .mobileNavBox :nth-child(2) {
    transition-delay: 0.22s;
    background-color: transparent !important;
  }
  .mobileNavSpring.isActive .mobileNavBox :first-child {
    top: 0;
    transition:
      top 0.1s cubic-bezier(0.33333, 0, 0.66667, 0.33333) 0.15s,
      transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
    transform: translate3d(0, 10px, 0) rotate(45deg);
  }
  .mobileNavSpring.isActive .mobileNavBox :last-child {
    top: 0;
    transition:
      top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333),
      transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
    transform: translate3d(0, 10px, 0) rotate(-45deg);
  }
}
@media (max-width: 919px) {
  button#navToggle.mobileNav.isActive {
    right: 78px;
  }
  body.mobileActive #searchJump {
    right: 35px;
  }
  #mainNav,
  #mainNav li ul {
    max-width: unset;
  }
  #mainNav > ul,
  #mainNav li ul {
    width: 100%;
    margin-left: 0px;
  }
  #mainNav,
  #mainNav li ul {
    padding-right: 30px;
    padding-left: 30px;
  }
  #mainNav li > a:first-child:not(:last-child)::after {
    top: 2px;
  }
  #mainNav ul ul li.subNavHeader {
    margin-top: 10px;
    font-size: 1.6rem;
  }
  button#navToggle {
    right: 12px;
  }
}
ul.subNavList {
  font-size: 17px;
  text-transform: uppercase;
}
ul.subNavList li {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  letter-spacing: 1.5px;
  font-weight: 400;
  font-size: 17px;
}
ul.subNavList li.here a,
ul.subNavList li.hereParent a {
  color: var(--medium-blue) !important;
}
@media (min-width: 920px) {
  #subNav {
    padding: 0 !important;
    margin: 0 !important;
  }
  ul.subNavList {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 10px;
  }
  ul.subNavList li:not(:last-child) {
    margin-right: max(30px, min(50px, 30px + (50 - 30) * ((100vw - 920px) / (1500 - 920))));
  }
  ul.subNavList li.here a,
  ul.subNavList li.hereParent a {
    color: #ada9a9 !important;
  }
  ul.subNavList li a:hover,
  ul.subNavList li a:focus {
    color: var(--baby-blue) !important;
  }
}

/* ============================================================================
   SECCIONES Y LAYOUT  ·  acordeones, pestanas, columnas
   ============================================================================ */


.expandableHeading,
h2.sectionTitle {
  position: relative;
  margin: 4px 0;
  text-transform: uppercase;
  cursor: pointer;
  font-family: "Roboto";
  font-size: 17px;
  color: var(--medium-blue);
}
h2.expandableHeading::after {
  display: none;
}
.expandableHeading button {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 34px 80px 34px 34px !important;
  background: #f4f4f4 !important;
  border: none;
  color: inherit;
  font: inherit;
  text-transform: inherit;
  text-align: inherit;
  cursor: pointer;
  letter-spacing: 1px;
}
#bottomContent :not(#lowerContent) .expandableHeading button {
  background: #fff !important;
}
.expandableHeading button:is(:hover, :focus),
#bottomContent :not(#lowerContent) .expandableHeading button:is(:hover, :focus) {
  background: #d7e5ff !important;
}
.expandableHeading button::after,
h2.sectionTitle::after {
  position: absolute;
  right: 35px;
  top: calc(50% - 18px);
  display: block;
  content: "";
  width: 38px;
  height: 38px;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOC4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSIzOC4ycHgiIGhlaWdodD0iMzcuNHB4IiB2aWV3Qm94PSIwIDAgMzguMiAzNy40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzOC4yIDM3LjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOm5vbmU7fQ0KCS5zdDF7ZmlsbDpub25lO3N0cm9rZTojMDI1RjhCO30NCgkuc3Qye2ZpbGw6IzhBODE4MDt9DQo8L3N0eWxlPg0KPGcgaWQ9IkVsbGlwc2VfMjkiPg0KCTxlbGxpcHNlIGNsYXNzPSJzdDAiIGN4PSIxOS4xIiBjeT0iMTguNyIgcng9IjE5LjEiIHJ5PSIxOC43Ii8+DQoJPGVsbGlwc2UgY2xhc3M9InN0MSIgY3g9IjE5LjEiIGN5PSIxOC43IiByeD0iMTguNiIgcnk9IjE4LjIiLz4NCjwvZz4NCjxwYXRoIGlkPSJQYXRoXzIxMCIgY2xhc3M9InN0MiIgZD0iTTE5LjEsMjMuNUwxOS4xLDIzLjV6IE0yNS45LDE1LjlMMTkuMSwyMmwtNi44LTYuMWwtMC43LDAuOGw3LjEsNi40bDAuNCwwLjNsMC40LTAuM2w3LjEtNi40DQoJTDI1LjksMTUuOXoiLz4NCjwvc3ZnPg0K)
    no-repeat;
}
.expandableHeading.expanded button,
h2.sectionTitle.isOpen,
#bottomContent .expandableHeading.expanded button,
#bottomContent :not(#lowerContent) .expandableHeading.expanded button {
  color: #fff;
  background: var(--medium-blue) !important;
}
.expandableHeading.expanded button::after,
h2.sectionTitle.isOpen::after,
#bottomContent .expandableHeading.expanded button::after {
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOC4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSIzOC4ycHgiIGhlaWdodD0iMzcuNHB4IiB2aWV3Qm94PSIwIDAgMzguMiAzNy40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzOC4yIDM3LjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOiNGRkZGRkY7fQ0KCS5zdDF7ZmlsbDojRkZGRkZGO3N0cm9rZTojMDI1RjhCO30NCgkuc3Qye2ZpbGw6IzhBODE4MDt9DQo8L3N0eWxlPg0KPGcgaWQ9IkVsbGlwc2VfMjkiPg0KCTxlbGxpcHNlIGNsYXNzPSJzdDAiIGN4PSIxOS4xIiBjeT0iMTguNyIgcng9IjE5LjEiIHJ5PSIxOC43Ii8+DQoJPGVsbGlwc2UgY2xhc3M9InN0MSIgY3g9IjE5LjEiIGN5PSIxOC43IiByeD0iMTguNiIgcnk9IjE4LjIiLz4NCjwvZz4NCjxwYXRoIGlkPSJQYXRoXzIxMCIgY2xhc3M9InN0MiIgZD0iTTE5LjEsMTQuOUwxOS4xLDE0Ljl6IE0xMi4zLDIyLjVsNi44LTYuMWw2LjgsNi4xbDAuNy0wLjhsLTcuMS02LjRsLTAuNC0wLjNsLTAuNCwwLjNsLTcuMiw2LjQNCglMMTIuMywyMi41eiIvPg0KPC9zdmc+DQo=)
    no-repeat;
}
#tabLinks {
  display: none;
}
h2.sectionTitle {
  display: block;
}
.contentSection {
  display: block !important;
}
.contentSection > * {
  display: none;
  padding: 10px 0 10px 0;
}
#tabLinks a#tabViewAll {
  display: none;
}
#subContent .expandableHeading button {
  padding: 0 !important;
  background: none !important;
}
#subContent .expandableHeading.expanded button {
  color: unset;
}
#subContent h2.expandableHeading + .expandableContent {
  padding: 0;
}
.itemTile .results_list {
  position: relative;
}
.itemTile .results_list > * {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  margin: 0 0 20px 0;
  box-sizing: border-box;
  color: #fff;
}
.itemTile .results_list > * > a:not(.sp_pencil) {
  display: block;
  flex: 1 0 auto;
  padding: 20px;
  background: #ccc;
  color: #fff;
}
.itemTile .results_list > * > a:not(.sp_pencil):hover,
.itemTile .results_list > * > a:not(.sp_pencil):focus {
  background: #bbb;
  text-decoration: none;
}
.itemTile .results_list > * .title {
  color: #0a80ca;
  font-weight: 700;
  font-size: 24px;
}
@media (min-width: 501px) {
  .itemTile .results_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .itemTile .results_list > * {
    width: calc(50% - 10px);
  }
}
#content {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 350px;
  margin: 0 auto;
}
main {
  order: 1;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0 0 0.5rem 0;
  box-sizing: border-box;
}
#subNav {
  order: 4;
  position: relative;
  width: 100%;
  margin: 1rem 0 0 0;
  padding: 1rem 0 0.5rem 0;
  box-sizing: border-box;
}
#bottomContent {
  order: 3;
  margin-top: 40px;
}
@media (min-width: 768px) {
  body:not(.columnedContent) #mainContentWrapper {
    display: flex;
  }
  body:not(.columnedContent) #mainContent {
    flex: 1 1 670px;
    margin-right: 84px;
  }
  body:not(.columnedContent) #mainContent:only-child {
    width: 100%;
    margin-right: 0;
  }
  body:not(.columnedContent) #subContent {
    flex: 1 1 730px;
  }
}
@media (min-width: 920px) {
  #content {
    display: block;
  }
  #content::after {
    content: "";
    clear: both;
    display: block;
  }
  body.columnedContent #mainContentWrapper,
  #searchInfo {
    display: flex;
    justify-content: space-between;
  }
  body.columnedContent #mainContent:not(:only-child),
  #searchInfo #numResults {
    flex: 0 1 925px;
    margin-right: 80px;
  }
  body.columnedContent #subContent:not(:only-child),
  #searchInfo #searchOptions {
    flex: 0 1 402px;
  }
}
div.texthtml {
  margin: 5px 0 8px 0;
}
.texthtml p {
  padding: 0 0 8px 0;
}
ul.none {
  list-style: none;
  margin: 5px 0 8px 0;
}
ul.none li {
  padding: 0;
  margin: 0 0 8px 0;
}
.expandableList .results_list > li:nth-last-child(n + 10) ~ li:nth-child(n + 8) {
  display: none;
}
.expandableFullList .results_list > li {
  display: none;
}
.popupPlayerPlaylist .expandableList,
.popupPlayerPlaylist .expandableList li {
  display: block;
}
#subContent .itemSection:not(#bio_education) ul,
#subContent .itemSection:not(#bio_education) ul li {
  list-style: none;
  margin-left: 0;
}
#subContent .itemSection a:is(:hover, :focus) {
  text-decoration: underline;
  text-decoration-thickness: 0.5px;
  text-underline-offset: 4px;
}
#mainContent .itemSection ul.results_list {
  margin-bottom: 0em;
}
#area_bio ul.results_list,
#industry_bio ul.results_list,
#office_bio ul.results_list {
  margin: 0 0 8px 0;
}
.itemSection ~ .itemSection > .extraItems > ul > li {
  margin-top: 0;
}
.view_more {
  margin-top: 38px;
}
.view_more a,
.blog #historyLinks a {
  display: inline-block;
  width: auto;
  padding: 10px 20px;
  margin: 0 0 28px 0;
  border: 1px solid var(--medium-blue);
  vertical-align: middle;
  line-height: 1;
  font-size: 17px;
  letter-spacing: 1.5px;
  font-weight: 400;
  text-decoration: none;
  text-transform: uppercase;
}
.bottomContentText .view_more a:not(:hover):not(:focus) {
  color: #756c6c;
}
.view_more a:hover,
.view_more a:focus {
  background: #3b2b3a;
  color: #fff;
  text-decoration: none;
}
.rsvpButton {
  text-transform: uppercase;
  margin: 10px 0 0 0;
}

/* ============================================================================
   FORMULARIOS  ·  campos, etiquetas, selects y validacion
   ============================================================================ */


form {
  position: relative;
  margin: 0;
  padding: 0;
}
#contentForm form > div {
  display: grid;
  grid-gap: 35px;
}
form > div > div {
  position: relative;
  min-width: 0;
}
#subContent form > div > div {
  width: auto;
  margin-right: 0;
  margin-bottom: 30px;
}
#subContent > div.search_form:not(#practiceSearch) form button {
  display: flex;
  align-items: center;
  background: none;
  border: none;
  color: var(--warm-gray);
  text-transform: uppercase;
  font-size: 17px;
  line-height: 1;
  letter-spacing: 1.5px;
  cursor: pointer;
}
#subContent > div.search_form:not(#practiceSearch) form button svg {
  position: relative;
  top: -2px;
  display: block;
  width: 25px;
  height: auto;
  fill: var(--medium-blue);
  margin-right: 18px;
}
#subContent > div.search_form:not(#practiceSearch) form button:is(:hover, :focus) {
  color: var(--medium-blue);
}
form > div > div.textarea_wrapper {
  grid-column-start: 1;
  width: calc(100% - 12px);
}
form > div > div.checkbox_wrapper {
  grid-column-start: 1;
  width: 100%;
  padding: 5px 0 10px 0;
}
form > div > div.checkbox_wrapper > div > div {
  display: flex;
  margin: 0 0 10px 0;
}
#subContent div.search_form {
  margin-bottom: 46px;
}
#subscribeLink,
#areaBrochure a {
  display: block;
  padding: 21px;
  text-align: center;
  text-transform: uppercase;
  line-height: 1;
  background: #f4f4f4;
  color: var(--medium-blue);
  letter-spacing: 1px;
}
#areaBrochure a {
  font-size: 18px;
}
#areaBrochure {
  margin-top: 46px;
}
#subscribeLink:is(:focus, :hover),
#areaBrochure a:is(:focus, :hover) {
  color: #fff;
  background: #3b2b3a;
}
label {
  display: block;
}
input + label {
  display: inline;
}
label p {
  margin: 0;
  padding: 0;
}
form > div > div.radio_wrapper > label,
form > div > div.checkbox_wrapper > label {
  display: block;
  position: relative;
  padding: 0 0 10px 0;
  line-height: 1.3;
}
form > div > div.checkbox_wrapper > div {
  line-height: 1.4;
}
form > div > div.checkbox_wrapper > div > div > input {
  align-self: flex-start;
  margin: 6px 6px 0 0;
  padding: 0;
}
form > div > div.checkbox_wrapper > div > div > label {
  max-width: calc(100% - 30px);
}
form > div > div.radio_wrapper {
  width: 100%;
  padding: 10px 0 0 0;
}
form > div > div.radio_wrapper > div {
  display: flex;
}
form > div > div.radio_wrapper > div > div {
  padding-right: 12px;
}
form > div > div.radio_wrapper > div > div > label {
  display: inline-block;
  padding: 2px 0 0 4px;
  vertical-align: middle;
}
#submit_wrapper {
  grid-column-start: 1;
  width: 100%;
}
form > p {
  width: 100%;
}
form > div > div.hasValue > label[style] {
  visibility: visible;
}
input[type="submit"],
button,
::-webkit-file-upload-button {
  border-radius: 0;
  font: inherit;
  -webkit-appearance: none;
}
input[type="file"] {
  font: inherit;
}
input:not([type]),
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
textarea,
select,
.customSelect,
.linkSelect {
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 14px 7px 0 5px;
  background: none;
  border: none;
  border-bottom: 1px solid var(--rules);
  border-radius: 0;
  box-sizing: border-box;
  color: #666766;
  font-size: 17px;
  line-height: 1.8;
  vertical-align: top;
}
textarea {
  min-height: 6.5em;
}
.search_form form > div > div > label,
.linkSelect h2 {
  display: block !important;
  position: absolute;
  padding: 14px 7px 0 5px;
  color: var(--medium-blue);
  font-size: 17px;
  line-height: 1.8;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.search_form form > div > div.hasFocus > label,
.linkSelect:is(.open, .hasValue) h2 {
  display: block !important;
  z-index: 5;
  top: -10px;
  left: 8px;
  padding: 2px 4px 0 2px;
  border-radius: 3px;
  font-size: 0.6rem !important;
  line-height: 1;
  transition: all 0.3s ease;
}
select {
  color: #fff;
}
.customSelect,
.linkSelect {
  display: inline-block !important;
  position: relative;
  overflow: hidden;
  padding-right: 40px;
}
.customSelect::after,
.linkSelect::after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 20px;
  width: 10px;
  height: 10px;
  border-right: 1px solid var(--medium-blue);
  border-bottom: 1px solid var(--medium-blue);
  transform: rotate(45deg);
}
select {
  width: 100% !important;
  box-sizing: border-box;
  text-transform: none;
}
select.hasCustomSelect {
  z-index: 1;
  padding: 5px 15px;
  color: #666766;
}
option {
  color: inherit;
  font-size: 16px;
}
.customSelectInner,
.linkSelect li,
.linkSelect h2 {
  display: block !important;
  width: 100% !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-transform: uppercase;
  color: var(--medium-blue);
  letter-spacing: 1px;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
.customSelectFocus,
.linkSelect.open {
  background-color: #eee;
}
.errors + div > form input:not([type="radio"]):invalid,
.errors + div > form textarea:invalid,
.errors + div > form select[data-invalid],
.errors + div > form select[data-invalid] + .customSelect,
form div.invalid {
  background-color: #fee;
}
.errors + div > form input:not([type="radio"]):invalid:focus,
.errors + div > form textarea:invalid:focus,
.errors + div > form select[data-invalid]:focus,
.errors + div > form select[data-invalid] + .customSelect:focus {
  background-color: #fcc;
}
div.required.invalid {
  padding-left: 5px;
}
input[type="submit"],
button[type="submit"],
.standardButton,
.packetButton,
::file-selector-button,
::-webkit-file-upload-button,
a.viewAll,
.reviseButton a {
  align-items: center;
  display: inline-flex;
  width: auto;
  height: 52px;
  margin: 0 0 10px 0;
  padding: 1px 18px 1px 18px;
  background: #969696;
  border: 0 solid #d6d6d6;
  box-sizing: border-box;
  color: #fff;
  font-size: 16px;
  line-height: 1.8;
  cursor: pointer;
  vertical-align: top;
}
span.packetButton {
  cursor: default;
}
input[type="file"]::file-selector-button,
input[type="file"]::-webkit-file-upload-button {
  margin-right: 10px;
}
a.clearAll {
  float: right;
}
a.viewAll,
.reviseButton a {
  display: inline-flex;
  align-items: center;
}
:is(
  input[type="submit"],
  button[type="submit"],
  .standardButton,
  .packet-button,
  a.viewAll,
  .reviseButton
):is(:hover, :focus) {
  background: #868686;
  color: #fff;
  text-decoration: none;
}
#contentForm form {
  max-width: 1072px;
  margin: 0 auto;
}
@media (min-width: 600px) {
  #contentForm form > div {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 600px) {
  #contentForm form > div {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1280px) {
  #contentForm form > div {
    grid-template-columns: repeat(3, 1fr);
  }
}
#emailField {
  display: none;
}
.autocomplete-w1 {
  position: absolute;
  top: 0;
  left: 0;
  padding: 8px 0 0 6px;
}
.autocomplete {
  max-height: 350px;
  overflow: auto;
  margin: -6px 6px 6px -6px;
  background: white;
  outline: 1px solid black;
  text-align: left;
  cursor: default;
  box-shadow: 4px 4px 5px -2px rgba(0, 0, 0, 0.5);
  box-sizing: border-box;
}
.autocomplete .selected {
  background: #f0f0f0;
}
.autocomplete div {
  padding: 5px;
  line-height: 120%;
}
.autocomplete div span.autoCompleteMore {
  color: #0a80ca;
  font-size: 11px;
}
.autocomplete h2 {
  margin: 0;
  padding: 12px 5px 6px 5px;
  white-space: nowrap;
}
.autocomplete strong {
  font-weight: bolder;
  color: #0b3c5d;
}

/* ============================================================================
   COMPONENTES  ·  spotlights escalonados, carrusel, bloques inferiores
   ============================================================================ */


#itemAccessories,
#itemAccessories li {
  margin: 0;
  list-style: none;
}
#itemAccessories {
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 30px;
}
#itemAccessories::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 65px;
  height: 1px;
  background: var(--rules);
}
#itemAccessories a {
  display: block;
  width: 42px;
  height: 42px;
}
#itemAccessories a svg {
  display: block;
  width: 100%;
  height: auto;
}
#staggeredSpotlights ul,
#staggeredSpotlights li {
  margin: 0;
  list-style: none;
  text-align: center;
}
#staggeredSpotlights ul {
  max-width: 730px;
  margin: 80px auto 0;
}
#staggeredSpotlights li {
  display: flex;
  margin: 0 0 80px;
}
#staggeredSpotlights li:last-child {
  margin-bottom: 0;
}
#staggeredSpotlights .info {
  min-height: 230px;
  max-width: 350px;
  margin: 0 auto;
  box-sizing: border-box;
  border: 1px solid var(--rules);
}
#staggeredSpotlights li:nth-child(even) {
  justify-content: flex-end;
}
#staggeredSpotlights .title {
  display: inline-block;
  padding: 0 20px;
  margin-top: -40px;
  background: #fff;
  --min-font-size: 60;
  --max-font-size: 80;
  line-height: 1;
  color: var(--medium-blue);
  font-family: "DM Serif Display";
}
#staggeredSpotlights .title em {
  position: relative;
  top: -22px;
  font-size: 68%;
}
#staggeredSpotlights .content {
  --min-font-size: 18;
  --max-font-size: 20;
  padding: 20px 28px 30px;
  box-sizing: border-box;
}
#staggeredSpotlights.sidestacked {
  margin: 120px 0 40px;
}
#staggeredSpotlights.sidestacked li,
#staggeredSpotlights.sidestacked li:not(:first-child) {
  display: block;
  margin: 0;
}
@media (min-width: 768px) {
  #staggeredSpotlights ul {
    margin-top: 40px;
  }
  #staggeredSpotlights.sidestacked {
    margin-bottom: 160px;
  }
  #staggeredSpotlights.sidestacked ul {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
  }
  #staggeredSpotlights.sidestacked li:nth-child(even) {
    transform: translateY(100px);
  }
}
@media (min-width: 1350px) {
  #staggeredSpotlights .info {
    width: calc(50% - 30px);
    max-width: 350px;
    margin-left: 0;
    margin-right: 0;
  }
  #staggeredSpotlights li:not(:first-child) {
    margin-top: -120px;
  }
  #staggeredSpotlights.sidestacked {
    margin-bottom: 260px;
  }
  #staggeredSpotlights.sidestacked ul {
    max-width: unset;
    flex-wrap: nowrap;
    justify-content: center;
  }
  #staggeredSpotlights.sidestacked .info {
    width: 100%;
  }
  #staggeredSpotlights.sidestacked li:nth-child(even) {
    transform: translateY(180px);
  }
}
@media (min-width: 1600px) {
  #staggeredSpotlights .title {
    margin-top: -46px;
    font-size: 105px;
  }
  #staggeredSpotlights .title em {
    top: -28px;
  }
}
.freeFormImage:not(#carouselSpotlight) {
  margin: 80px 0;
}
.freeFormImage ul,
.freeFormImage li,
#freeFormText ul,
#freeFormText li {
  margin: 0;
  list-style: none;
}
#carouselWrapper {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  margin: 80px 0;
}
.freeFormImage li,
#carouselSpotlight div.slick-slide {
  min-height: 250px;
}
#carouselSpotlight .sp_pencil {
  position: absolute !important;
  top: 0;
  left: 0;
  z-index: 20;
}
.freeFormImage a,
#carouselSpotlight div.slick-slide a {
  position: relative;
  display: flex;
  align-items: flex-end;
  height: 100%;
}
.freeFormImage a::after,
#carouselSpotlight div.slick-slide a::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, transparent 70%);
}
#carouselSpotlight div.slick-slide .image {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #000;
  overflow: hidden;
}
#carouselSpotlight div.slick-slide {
  position: relative;
  height: auto;
  background: #000;
}
#carouselSpotlight div.slick-track {
  display: flex;
}
.freeFormImage .image {
  overflow: hidden;
}
.freeFormImage .image img,
#carouselSpotlight div.slick-slide .image img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 250ms ease;
}
.freeFormImage a:is(:hover, :focus) .image img,
#carouselSpotlight div.slick-slide a:is(:hover, :focus) .image img {
  transform: scale(1.05);
}
.freeFormImage .info,
#carouselSpotlight .info {
  position: relative;
  z-index: 10;
  padding: 70px 30px 10px;
  box-sizing: border-box;
  color: #fff;
}
.freeFormImage .title,
#carouselSpotlight .type {
  text-transform: uppercase;
  --min-font-size: 16;
  --max-font-size: 18;
  color: var(--baby-blue);
  letter-spacing: 1px;
}
#carouselSpotlight:not(.freeFormImage) .title {
  --max-margin-top: 20;
  --max-margin-bottom: 20;
  --min-font-size: 22;
  --max-font-size: 26;
  font-family: "DM Serif Display";
}
.freeFormImage .content p,
#carouselSpotlight .content p {
  font-family: "DM Serif Display";
  --min-font-size: 20;
  --max-font-size: 26;
  line-height: 1.46;
}
#slickNav {
  display: flex;
  justify-content: space-between;
  margin: 20px 0;
}
#slickNav button {
  display: block;
  padding: 0;
  line-height: 1;
  border: none;
  background: none;
  cursor: pointer;
  width: 38px;
}
#slickNav button svg {
  display: block;
  width: 100%;
  height: auto;
}
#slickNav button:first-child {
  transform: rotate(180deg);
}
@media (min-width: 600px) {
  .freeFormImage ul {
    display: flex;
    gap: 16px;
  }
  .freeFormImage li {
    flex: 1 1 50%;
  }
  #carouselSpotlight div.slick-slide {
    margin: 0 8px;
  }
}
@media (min-width: 1024px) {
  .freeFormImage li,
  #carouselSpotlight div.slick-slide a {
    min-height: 445px;
  }
  #carouselWrapper {
    display: block;
    padding: 0 30px;
    width: 100%;
    left: -30px;
  }
  #slickNav {
    position: absolute;
    top: calc(50% - 38px);
    left: -10px;
    width: calc(100% + 22px);
  }
}
@media (min-width: 1350px) {
  #carouselSpotlight .info,
  .freeFormImage .info {
    padding: 70px 63px 20px;
  }
  #carouselSpotlight {
    position: relative;
    width: calc(100% + 27px);
    padding: 0;
    left: -9px;
  }
  #slickNav {
    left: -40px;
    width: calc(100% + 80px);
  }
}
@media (min-width: 1700px) {
  #slickNav {
    left: -70px;
    width: calc(100% + 140px);
  }
}
#freeFormText {
  margin: 80px 0;
}
#freeFormText ul {
  display: grid;
  grid-gap: max(50px, min(150px, 50px + (150 - 50) * ((100vw - 767px) / (1500 - 767))));
}
#freeFormText .title {
  --max-font-size: 26;
  font-family: "DM Serif Display";
  color: var(--main-dark);
}
@media (min-width: 768px) {
  #freeFormText ul {
    grid-template-columns: repeat(3, 1fr);
  }
}
#bottomSpotlights,
.bottomContentText {
  position: relative;
  padding: 15px 0 80px;
  background: #f4f4f4;
  box-sizing: border-box;
}
.bottomContentText {
  width: 100%;
  max-width: 940px;
  padding: 80px 30px;
  margin: 0 auto;
}
#bottomSpotlights h2 {
  --max-margin-top: 70;
  --max-margin-bottom: 30;
  --min-font-size: 26;
  --max-font-size: 36;
}
#bottomSpotlights h2::after {
  content: none;
}
#bottomSpotlights ul,
#bottomSpotlights li {
  margin: 0;
}
#bottomSpotlights li {
  margin-bottom: 10px;
}
#bottomSpotlights .results_list > li > a,
#bottomSpotlights li:nth-child(3) .content {
  display: block;
  padding: 54px 36px 95px;
  box-sizing: border-box;
}
#bottomSpotlights .results_list > li > a {
  position: relative;
  height: 100%;
  background: #fff;
}
#bottomSpotlights .section {
  --max-margin-bottom: 24;
  --max-font-size: 18;
  font-weight: 400;
  letter-spacing: 1px;
  color: var(--medium-blue);
  text-transform: uppercase;
}
#bottomSpotlights .title {
  --max-font-size: 26;
  font-family: "DM Serif Display";
  color: var(--main-dark);
  line-height: 1.46;
}
#bottomSpotlights .image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 722/339;
}
#bottomSpotlights li:nth-child(3) .content {
  padding-top: 24px;
}
#bottomSpotlights li:nth-child(3) a {
  padding: 0;
}
#bottomSpotlights .circlelink {
  position: absolute;
  bottom: 30px;
  left: 36px;
  display: none;
}
#bottomSpotlights .circlelink svg .svgCircle,
#bottomSpotlights .circlelink svg .svgBackground {
  fill: var(--medium-blue);
}
#bottomSpotlights .circlelink svg .svgInnards {
  fill: #fff;
}
#bottomSpotlights a:is(:hover, :focus) .circlelink {
  display: block;
}
#bottomSpotlights a:is(:hover, :focus) {
  background: #d7e5ff !important;
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.08);
}
@media (min-width: 768px) {
  #bottomSpotlights ul {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
  }
  #bottomSpotlights li {
    flex: 1 1 367px;
  }
  #bottomSpotlights li:nth-child(3) {
    flex: 0 0 70%;
  }
}
@media (min-width: 1024px) {
  #bottomSpotlights ul {
    flex-wrap: nowrap;
  }
  #bottomSpotlights li:nth-child(3) {
    flex: 1 1 733px;
  }
}

/* ============================================================================
   LISTADOS  ·  personas, noticias, tarjetas con imagen y careers
   ============================================================================ */


.bioList {
  margin-top: 30px;
}
.bioList .results_list,
.bioList .results_list li {
  margin: 0;
  list-style: none;
  min-width: 0;
}
.bioList .results_list {
  display: grid;
  grid-gap: 13px;
  grid-row-gap: 40px;
}
.bioList .photo {
  overflow: hidden;
  margin-bottom: 22px;
  aspect-ratio: 362/263;
}
.bioList .photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 250ms ease;
}
.bioList .results_list li:is(:hover, :focus-within) .photo img {
  transform: scale(1.05);
}
.bioList .title {
  --min-margin-bottom: 0;
  --max-margin-bottom: 10;
  color: var(--medium-blue);
  font-family: "DM Serif Display";
  font-size: 21px;
}
.bioList .title a:not(:hover):not(:focus) {
  color: inherit;
}
.bioList .position {
  --max-margin-bottom: 13;
  font-weight: 300;
  color: var(--warm-gray);
  text-transform: uppercase;
  font-size: 17px;
  letter-spacing: 1.5px;
}
.bioList .email,
.bioList .phone {
  --max-margin-bottom: 8;
  font-size: 20px;
  font-weight: 300;
}
.bioList .phone::before {
  content: "p";
  margin-right: 8px;
}
.bioList .email a:not(:hover):not(:focus) {
  color: inherit;
}
.bioList .expandableContent {
  padding: 30px 0;
}
@media (min-width: 650px) {
  .bioList .results_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .bioList .results_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1280px) {
  .bioList .results_list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.bioXref .photo {
  width: 178px;
  margin-bottom: 15px;
}
.bioXref .photo img {
  display: block;
  width: 100%;
  height: auto;
}
.bioXref .title,
.bioXref .bioposition {
  --max-font-size: 19;
}
#subContent .bioXref li {
  margin-bottom: 30px;
}
.newsList .expandableContent {
  margin-top: 30px;
}
.newsList .podcastcode {
  margin-bottom: 20px;
}
.newsList .info,
#itemInfo {
  margin-bottom: 15px;
  --min-font-size: 16;
  --max-font-size: 18;
  letter-spacing: 1px;
  overflow: hidden;
}
#itemInfo > *,
.newsList .info > * {
  float: left;
}
.newsList .info .section,
#itemInfo #itemsection {
  text-transform: uppercase;
  color: var(--medium-blue);
  --min-font-size: 16;
  --max-font-size: 18;
}
.newsList .info > *:not(:last-child)::after,
#itemInfo > *:not(:last-child)::after {
  content: "|";
  margin: 0 15px;
  color: #ada9a9;
}
.newsList .info .publication,
.newsList .info .location,
#itemInfo .publication,
#itemInfo .location {
  letter-spacing: 0px;
  font-style: italic;
}
.newsList .title {
  --max-font-size: 26;
  line-height: 1.45;
  font-family: "DM Serif Display";
  color: #333232;
}
.newsList .title a:not(:hover):not(:focus) {
  color: inherit;
}
.newsList .abstract p:last-child {
  margin-bottom: 0;
}
.newsList li:not(:last-child) {
  padding-bottom: 40px;
  margin-bottom: 40px !important;
  border-bottom: 1px solid var(--rules);
}
.newsList .view_more {
  margin-top: 34px;
}
.imageItemList ul,
.imageItemList li {
  margin: 0;
  position: relative;
  list-style: none;
}
.imageItemList li {
  margin-bottom: 5px;
  background: #666;
}
.imageItemList li a {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  min-height: 200px;
  overflow: hidden;
  padding: 30px 48px;
  box-sizing: border-box;
}
.imageItemList li a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.8;
}
.imageItemList .title {
  position: relative;
  z-index: 10;
  font-family: "DM Serif Display";
  color: #fff;
  --max-font-size: 36;
}
.imageItemList .bannerimage img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  transition: all 250ms ease;
}
.imageItemList a:is(:hover, :focus) .bannerimage img {
  transform: scale(1.05);
}
.imageItemList li a.sp_pencil {
  position: absolute;
  z-index: 10;
  top: 10px;
}
@media (min-width: 920px) {
  .imageItemList li a {
    height: 301px;
  }
}
#bioSpotlight {
  margin: 80px 0 0;
  text-align: center;
}
#bioSpotlight ul,
#bioSpotlight li {
  margin: 0;
  list-style: none;
}
#bioSpotlight li {
  margin: 0 auto 70px;
  width: 90%;
  max-width: 400px;
}
#bioSpotlight .spotlightimage {
  width: 231px;
  height: 231px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 25px;
}
#bioSpotlight .spotlightimage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 250ms ease;
}
#bioSpotlight .title {
  --max-font-size: 26;
  font-family: "DM Serif Display";
}
#bioSpotlight .title a:not(:hover):not(:focus) {
  color: inherit;
}
#bioSpotlight a:is(:hover, :focus) img {
  transform: scale(1.05);
}
#bioSpotlight .spotlightabstract {
  padding: 0 20px;
}
#openPositionsLink {
  margin-bottom: 50px;
  text-align: center;
}
@media (min-width: 400px) {
  #subContent .bioXref ul.results_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 20px;
  }
}
@media (min-width: 600px) {
  #subContent .bioXref ul.results_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) {
  #bioSpotlight {
    margin-top: 190px;
  }
  #bioSpotlight ul.results_list {
    display: flex;
    justify-content: space-between;
  }
  #bioSpotlight li {
    margin-bottom: 0;
  }
  #bioSpotlight li:nth-child(2) {
    transform: translateY(-115px);
  }
  #openPositionsLink {
    margin-bottom: 0;
  }
  #subContent .bioXref ul.results_list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 920px) {
  #subContent .bioXref ul.results_list {
    display: block;
  }
}
body.careers.landingPage #banner {
  display: flex;
  align-items: flex-end;
  height: auto;
  min-height: 350px;
}
body.careers.landingPage #bannerContent {
  position: static;
  max-width: 702px;
  padding-top: 40px;
  padding-bottom: 40px;
  color: #fff;
  box-sizing: border-box;
}
body.careers.landingPage #banner #bannerImage {
  position: absolute;
  top: 0;
  left: calc(50% - 50vw);
  width: 100vw;
}
body.careers.landingPage #banner #subNav {
  position: absolute;
  width: 100%;
  bottom: 0;
}
@media (min-width: 768px) {
  body.careers.landingPage #bannerContent {
    width: 70%;
  }
}
@media (min-width: 920px) {
  body.careers.landingPage #banner {
    min-height: 350px;
    align-items: center;
    padding-bottom: 40px;
    box-sizing: border-box;
  }
}
@media (min-width: 1280px) {
  body.careers.landingPage #bannerContent {
    padding: 80px 0 0 0;
  }
}
@media (min-width: 1350px) {
  body.careers.landingPage #banner {
    min-height: 575px;
    padding: 0;
  }
}

/* ============================================================================
   FICHA DE DETALLE  ·  contenedor OIP, imagen y botones de articulo
   ============================================================================ */


html.oipContainerOpen {
  overflow: hidden !important;
}
html.oipContainerOpen::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.7;
}
#oipContainer {
  position: fixed;
  top: 0;
  left: -90%;
  background: #fff;
  width: 90%;
  max-width: 1486px;
  height: 100%;
  z-index: 9999;
  padding: 0 0 50px;
  box-sizing: border-box;
  --fluid-start: 1280;
  --fluid-end: 1920;
  overflow-y: scroll;
  transition: all 750ms ease 200ms;
}
#oipContainer::-webkit-scrollbar {
  display: none;
}
#oipContainer {
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding: 0 max(30px, min(95px, 30px + (95 - 30) * ((100vw - 767px) / (1800 - 767)))) 100px;
}
html.oipContainerOpen #oipContainer {
  left: 0%;
}
#oipContainer h1#contentTitle {
  margin-top: 0;
}
#oipContainer header {
  position: sticky;
  top: 0;
  left: 0;
  height: 110px;
  padding-top: 57px;
  margin-bottom: max(30px, min(50px, 30px + (50 - 30) * ((100vw - 767px) / (1600 - 767))));
  border-bottom: 1px solid #d6cfcf;
  background: #fff;
  box-sizing: border-box;
  z-index: 100;
}
#oipContainer header #headerTitle {
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--dark-blue);
}
#oipContainer nav button:not(#closeoipContainer) {
  position: relative;
  padding-right: 18px;
  background: none;
  border: none;
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
  text-transform: uppercase;
  color: var(--dark-blue);
  letter-spacing: 1px;
}
#oipContainer nav button + button:not(#closeoipContainer)::after {
  position: absolute;
  right: 0;
  top: 13px;
  content: "›";
  font-size: 30px;
  font-weight: 300;
  line-height: 0;
}
#oipContainer nav button:not(#closeoipContainer):first-child {
  padding-right: 0;
  padding-left: 18px;
}
#oipContainer nav button:not(#closeoipContainer):first-child::after {
  content: "|";
  margin: 0 10px 0 15px;
  color: #ada9a9;
}
#oipContainer nav button:not(#closeoipContainer):first-child::before {
  position: absolute;
  left: 0;
  top: 13px;
  content: "‹";
  font-size: 30px;
  font-weight: 300;
  line-height: 0;
}
#oipContainer nav {
  display: flex;
  position: absolute;
  top: 15px;
  right: 5px;
}
#oipContainer nav button#closeoipContainer {
  position: relative;
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  padding: 0;
  margin-left: 45px;
  margin-right: 12px;
  cursor: pointer;
}
button#closeoipContainer::after,
button#closeoipContainer::before {
  position: absolute;
  left: calc(50% - 15px);
  top: calc(50% - 1px);
  transform: rotate(45deg);
  content: "" !important;
  display: block;
  width: 30px;
  height: 1px;
  background: var(--dark-blue);
}
button#closeoipContainer::before {
  transform: rotate(-45deg);
}
#oipContainer #mainContentWrapper {
  padding: 0 0 200px;
}
#oipContainer .newTabLink {
  position: sticky;
  right: 0;
  bottom: 0px;
  width: calc(100% + max(30px, min(95px, 30px + (95 - 30) * ((100vw - 767px) / (1800 - 767)))));
  text-align: right;
}
#oipContainer .newTabLink a {
  padding: 12px 42px 12px 13px;
  font-size: 15px;
  line-height: 1;
  background: var(--medium-blue);
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 1px;
}
#oipContainer .newTabLink a svg {
  position: absolute;
  right: 13px;
  top: 5px;
  fill: currentColor;
}
#itemImage {
  margin: 40px 0;
}
#itemImage img {
  display: block;
  width: 100%;
  height: auto;
}
#itemButtons > .view_more,
#itemButtons > .view_more a {
  margin: 0;
}
#itemButtons {
  margin: 20px 0;
  overflow: hidden;
}
#itemButtons > div {
  float: left;
  margin-right: 10px !important;
  margin-bottom: 10px !important;
}
@media (min-width: 920px) {
  #oipContainer nav {
    top: 54px;
  }
  #oipContainer nav button#closeoipContainer {
    margin-left: 55px;
  }
}

/* ============================================================================
   PIE DE PAGINA  ·  #footer y redes sociales
   ============================================================================ */


#footer {
  position: relative;
  padding: 40px 0;
  background: #212121;
  color: #f2f2f2;
  font-size: 19px;
}
body:not(.noFooterMargin) #footer {
  margin-top: 127px;
}
#footerLeft,
#footerRight {
  width: 100%;
  margin: 0;
}
#footer a {
  color: #fff;
}
#footer a:hover,
#footer a:focus {
  color: var(--baby-blue);
}
#footer ul,
#footer ul li {
  list-style: none;
  margin: 0;
  padding: 0;
  font-weight: 700;
  --max-font-size: 19;
}
#footer ul li {
  margin-bottom: 10px;
}
#footer ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#footerSocial {
  flex: 0 0 auto;
  margin: 0 34px 15px 0;
}
#footer ul li:not(:last-child) {
  margin-right: 30px;
}
#footer #footerSocial li:not(:last-child) {
  margin-right: 20px;
}
#footerSocial .svgInnards {
  fill: #fff;
}
#footerSocial .svgBackground,
#footerSocial .svgCircle {
  fill: var(--medium-blue);
}
#footerSocial a:hover .svgInnards,
#footerSocial a:focus .svgInnards {
  fill: var(--medium-blue);
}
#footerSocial a:hover .svgBackground,
#footerSocial a:focus .svgBackground {
  fill: #fff;
}
#footerRight ul li {
  --max-font-size: 18;
  font-weight: 400;
}
#footerRight > p {
  text-align: center;
  --max-font-size: 18;
  margin: 10px 0 0 0;
}
@media (min-width: 768px) {
  #footer #innerWrapper {
    display: flex;
    align-items: center;
  }
  #footer ul {
    justify-content: unset;
  }
  #footerRight ul {
    justify-content: flex-end;
  }
  #footerRight ul li {
    margin: 0 0 0 32px !important;
  }
  #footer p {
    text-align: right;
  }
}
@media (min-width: 1600px) {
  #footer {
    width: 100vw;
    left: calc(50% - 50vw);
    padding: 60px 0;
  }
  #footer #innerWrapper {
    width: 100%;
    max-width: 1898px;
    margin: 0 auto;
    padding-left: 80px;
    padding-right: 80px;
    box-sizing: border-box;
  }
  #footerLeft {
    display: flex;
    align-items: center;
  }
  #footerSocial {
    margin-bottom: 0;
  }
  #footer #footerSocial li {
    margin-bottom: 0;
  }
}

/* ============================================================================
   MULTIMEDIA  ·  reproductor emergente, playlist y sidebar
   ============================================================================ */


#backgroundPopup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  height: 100%;
  width: 100%;
  background: #333;
  border: 1px solid #cecece;
}
.popupPlayerWrapper {
  display: flex;
  flex-wrap: wrap;
  position: fixed;
  z-index: 99999999;
  top: 50%;
  left: 50%;
  width: 60vw;
  height: auto;
  background: #fff;
  border: 3px solid #cecece;
  border-radius: 2px;
  box-sizing: border-box;
  color: #fff;
  transform: translate(-50%, -50%);
}
.inlineMultimediaPlaceholder {
  position: relative;
  z-index: 10;
  max-width: none;
  margin: 15px 0px 8px 0px;
}
.popupPlayerWrapper.inlinePlayer {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: inherit;
  top: inherit;
  left: inherit;
  width: 100%;
  height: auto;
  overflow: visible;
  margin: 0 0 1.25em 0;
  padding-bottom: 0;
  transform: none;
}
.mediaPlayer {
  position: relative;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
  box-sizing: border-box;
}
.mediaPlayer > iframe {
  position: absolute;
  z-index: 999999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.mediaPlayer > video,
.mediaPlayer > audio {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  margin: auto;
  background: #000;
  box-sizing: border-box;
}
.popupPlayerWrapper.inlinePlayer .mediaPlayer,
.popupPlayerWrapper.inlinePlayer.playerWithSidebar .mediaPlayer,
.popupPlayerWrapper.inlinePlayer.playerWithPlaylist .mediaPlayer,
.popupPlayerWrapper.inlinePlayer.playerWithPlaylist.playerWithSidebar .mediaPlayer {
  position: relative;
  width: 100% !important;
  height: 100% !important;
  padding-bottom: 56.25%;
}
.popupPlayerWrapper button.closeButton {
  z-index: 25;
  top: -15px;
  right: -15px;
}
.popupPlayerWrapper a.popupShareButton {
  z-index: 25;
  top: -15px;
  right: 15px;
}
.popupPlayerPlaylist {
  display: none;
  flex-basis: 100%;
  position: relative;
  z-index: 9;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 25%;
  max-width: 100%;
  overflow: hidden;
  background: #f0f0f0;
}
.popupPlayerWrapper.inlinePlayer .popupPlayerPlaylist,
.popupPlayerWrapper.inlinePlayer.playerWithSidebar .popupPlayerPlaylist,
.popupPlayerWrapper.inlinePlayer.playerWithPlaylist .popupPlayerPlaylist,
.popupPlayerWrapper.inlinePlayer.playerWithPlaylist.playerWithSidebar .popupPlayerPlaylist {
  position: relative;
  width: 100% !important;
  max-width: none;
  height: 100px;
}
.popupPlayerPlaylist div.results {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 10px 0 0 10px;
}
.popupPlayerPlaylist.playlistHorizontalToggles div.results {
  width: calc(100% - 30px);
  margin: 10px 0 0 30px;
}
.popupPlayerPlaylist ul {
  list-style: none;
  position: relative;
  left: 0;
  width: 100%;
  min-width: 100000px;
  height: calc(100% - 10px);
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}
.popupPlayerPlaylist ul li {
  display: block;
  float: left;
  position: relative;
  list-style: none;
  max-width: 250px;
  height: calc(100% - 10px);
  margin: 0 10px 0 0;
  padding: 0;
  box-sizing: border-box;
}
.popupPlayerPlaylist ul li .abstract,
.popupPlayerPlaylist ul li .videoMore {
  display: none;
}
.popupPlayerPlaylist ul li .photo {
  position: relative;
  height: 100%;
}
.popupPlayerPlaylist ul li a {
  display: block;
  position: relative;
  width: auto;
  height: 100%;
}
.popupPlayerPlaylist ul li a img {
  display: block;
  position: relative;
  z-index: 1;
  width: auto;
  height: 100%;
}
.popupPlayerPlaylist ul li .title {
  position: absolute;
  z-index: 5;
  top: 0;
  width: 100%;
  padding: 2px 5px;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-size: 0.8rem;
  box-sizing: border-box;
  cursor: pointer;
}
.popupPlayerPlaylist ul li .sp_pencil {
  display: none;
}
.popupPlayerPlaylist ul li .title a {
  color: #fff;
}
.popupPlayerPlaylist ul li .title a:hover,
.popupPlayerPlaylist ul li .title a:focus {
  text-decoration: none;
}
.popupPlayerPlaylist ul li .title a::after {
  content: "\00A0\25B6";
}
a#playlistPrev,
a#playlistNext {
  display: none;
  position: absolute;
  z-index: 50;
  top: 0;
  width: 25px;
  height: calc(100% - 10px);
  margin: 0;
  background: #d8d8d8;
  border-top: 5px solid #f0f0f0;
  border-bottom: 5px solid #f0f0f0;
  text-align: center;
}
.popupPlayerPlaylist.playlistHorizontalToggles a#playlistPrev,
.popupPlayerPlaylist.playlistHorizontalToggles a#playlistNext {
  display: block;
}
a#playlistPrev {
  left: 0px;
  border-left: 2px solid #f0f0f0;
  border-right: 3px solid #f0f0f0;
}
a#playlistNext {
  right: 0px;
  border-left: 3px solid #f0f0f0;
  border-right: 2px solid #f0f0f0;
}
a#playlistPrev:hover,
a#playlistPrev:focus,
a#playlistNext:hover,
a#playlistNext:focus {
  background-color: #d1d1d1;
}
a#playlistPrev span,
a#playlistNext span {
  display: inline-block;
  position: relative;
  top: 25%;
  color: #fff;
  font-size: 40px;
}
.popupPlayerSidebar {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  width: 25%;
  height: 100%;
  overflow: hidden;
  overflow-y: auto;
  background: #f5f5f5;
}
.popupPlayerWrapper.inlinePlayer .popupPlayerSidebar {
  position: relative;
  width: 100% !important;
  height: auto !important;
}
.popupPlayerSidebar > div {
  padding: 5px 10px 5px 10px;
  font-size: 0.8rem;
}
.popupPlayerSidebar > div h2,
.popupPlayerSidebar > div h2.expandableHeading {
  font-size: 0.9rem;
  margin-top: 0;
  margin-left: 0px;
  margin-right: 0px;
  padding: 6px 0 2px 0;
}
.popupPlayerSidebar h2::after {
  margin-bottom: 0;
}
.popupPlayerSidebar .expandableHeading {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: #333;
  pointer-events: none;
}
.popupPlayerSidebar .expandableHeading:hover {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: inherit;
  pointer-events: none;
}
.popupPlayerWrapper .position {
  color: #333;
}
.itemMultimediaList ul.results_list,
.itemMultimediaList ul.results_list li,
#item_itemvideo > div ul,
#item_itemvideo > div ul li,
.xrefMultimediaList ul,
.xrefMultimediaList ul li,
.popupPlayerSidebar > div ul,
.popupPlayerSidebar > div ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.itemMultimediaList ul.results_list::after,
.xrefMultimediaList ul::after {
  content: "";
}
.itemMultimediaList ul.results_list li,
.xrefMultimediaList ul li,
.itemMultimediaList ul.results_list::after,
.xrefMultimediaList ul::after {
  flex-basis: calc(100% / 3 - 20px);
  margin: 20px 0;
}
.popupPlayerSidebar > div ul li {
  margin: 3px 0 4px 0;
  font-size: 16px;
}
#mainContent .xrefMultimediaList ul li,
.itemMultimediaList ul.results_list li {
  margin: 0 0 30px 0;
}
.itemMultimediaList ul.results_list li .photo img,
#item_relatedsame ul li .photo img,
.itemMultimediaList ul li .photo img,
.xrefMultimediaList ul li .photo img {
  width: 310px;
}
#mainContent .xrefMultimediaList ul li .photo img,
.itemMultimediaList ul.results_list li .photo img {
  width: 100%;
}
#item_relatedsame ul li .photo img {
  display: block;
  width: 100%;
}
.videomore {
  font-size: 0.8rem;
}
#item_relatedsame ul li {
  margin-bottom: 18px;
}
.itemMultimediaList ul.results_list li::after,
.xrefMultimediaList ul li::after {
  content: "";
  clear: both;
  display: block;
}
#mainContent .xrefMultimediaList ul li .photo,
.itemMultimediaList ul.results_list li .photo {
  position: relative;
  z-index: 1;
  float: left;
  margin: 0 0 10px 0;
  width: 100%;
}
#subContent .xrefMultimediaList ul li .photo,
.xrefMultimediaList ul li .photo {
  float: none;
}
.xrefMultimediaList ul li .videomore,
.xrefMultimediaList ul li .title,
.xrefMultimediaList ul li .abstract {
  margin: 0;
}
#mainContent .xrefMultimediaList .title {
  font-weight: 500;
}
#mainContent .xrefMultimediaList ul li .abstract p {
  margin: 0;
  padding: 0;
}
#mainContent .xrefMultimediaList ul li .videomore {
  font-size: 0.8rem;
}
#subContent #item_relatedsame ul.results_list {
  margin: 0 0 8px 0;
}
.title .videoMore {
  margin-left: 6px;
  font-weight: 700;
}
.photo .triggerPopupPlayer,
.photo .triggerPopupPlayer img {
  display: inline-block;
  position: relative;
  max-width: 100%;
}
.popupPlayerWrapper.inlinePlayer .popupPlayerPlaylist ul li .photo a.triggerPopupPlayer img {
  width: 100%;
  object-fit: cover;
}
.photo .triggerPopupPlayer::before,
.photo .triggerPopupPlayer::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 0.5em);
  z-index: 5;
  left: calc(50% - 0.35em);
  background: rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 2px 0 black;
  color: white;
  font-size: 70px;
  transform: scale(0.5);
  opacity: 0.85;
  transition: opacity 250ms linear;
}
.photo .triggerPopupPlayer::before {
  top: calc(50% - 0.5em);
  left: calc(50% - 0.5em);
  width: 1em;
  height: 1em;
  border: 0.05em solid currentColor;
  border-radius: 50%;
  box-sizing: border-box;
  transform: none;
}
.photo .triggerPopupPlayer::after {
  width: 0;
  height: 0;
  background: none;
  border: solid transparent;
  border-left-color: currentColor;
  border-width: 0.5em 0 0.5em 0.87em;
  box-shadow: none;
}
.photo .triggerPopupPlayer:is(:hover, :focus-within)::before,
.photo .triggerPopupPlayer:is(:hover, :focus-within)::after {
  opacity: 1;
}
@media all and (orientation: portrait) {
  .popupPlayerWrapper {
    z-index: 99999999;
    top: 50%;
    left: 50%;
    width: 90vw;
    transform: translate(-50%, -50%);
  }
}
@media (min-width: 768px) {
  .popupPlayerWrapper {
    border: 12px solid #cecece;
    border-radius: 2px;
  }
  .popupPlayerWrapper.inlinePlayer {
    display: block;
    height: 100%;
    overflow: initial;
    padding-bottom: unset;
  }
  .popupPlayerWrapper.playerWithSidebar .mediaPlayer,
  .popupPlayerWrapper.inlinePlayer .mediaPlayer,
  .popupPlayerWrapper.inlinePlayer.playerWithSidebar .mediaPlayer,
  .popupPlayerWrapper.inlinePlayer.playerWithPlaylist .mediaPlayer,
  .popupPlayerWrapper.inlinePlayer.playerWithPlaylist.playerWithSidebar .mediaPlayer {
    width: 75% !important;
    padding-bottom: unset;
  }
  .popupPlayerWrapper.inlinePlayer .popupPlayerPlaylist,
  .popupPlayerWrapper.inlinePlayer.playerWithSidebar .popupPlayerPlaylist,
  .popupPlayerWrapper.inlinePlayer.playerWithPlaylist .popupPlayerPlaylist,
  .popupPlayerWrapper.inlinePlayer.playerWithPlaylist.playerWithSidebar .popupPlayerPlaylist {
    max-width: 100%;
    height: 25%;
  }
  .popupPlayerWrapper.playerWithPlaylist.playerWithSidebar .popupPlayerPlaylist,
  .popupPlayerWrapper.inlinePlayer.playerWithPlaylist.playerWithSidebar .popupPlayerPlaylist {
    width: 75%;
    max-width: 75%;
  }
  .popupPlayerSidebar > div h2,
  .popupPlayerSidebar > div h2.expandableHeading {
    padding: 12px 0 8px 0;
  }
  .popupPlayerSidebar {
    z-index: 10;
  }
  .popupPlayerWrapper.inlinePlayer .popupPlayerSidebar {
    position: absolute;
    width: 25% !important;
    height: 100% !important;
  }
  #mainContent .xrefMultimediaList ul li .photo img,
  .itemMultimediaList ul.results_list li .photo img {
    width: 310px;
  }
}
@media (min-width: 920px) {
  .itemMultimediaList ul.results_list,
  .xrefMultimediaList ul {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
  }
}
@media (min-width: 1025px) {
  #mainContent .xrefMultimediaList ul li,
  .itemMultimediaList ul.results_list li {
    margin: 0 0 10px 0;
  }
  .itemMultimediaList ul.results_list li .photo,
  #mainContent .xrefMultimediaList ul li .photo {
    float: left;
  }
}

/* ============================================================================
   DIALOGOS  ·  aviso de cookies, preferencias y popup de correo
   ============================================================================ */


#cookieBanner {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 16px;
  right: 16px;
  bottom: 0;
  max-width: 1100px;
  overflow: visible !important;
  margin: 0 auto;
  padding: 1rem 0px;
  color: white;
}
#cookieBanner::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  background: rgba(0, 0, 0, 0.85);
}
#cookieBanner > div {
  position: relative;
}
#cookieBanner > div > div {
  max-height: 70vh;
  overflow: auto;
}
#cookieBanner p {
  margin: 0 0 1em 0;
  padding: 0;
  color: inherit;
  font-size: 16px;
  line-height: 26px;
}
#cookieBanner > div > div > p {
  margin: 1em 0;
}
#cookieBanner a {
  color: inherit;
  text-decoration: underline;
}
#cookieBanner a:hover,
#cookieBanner a:focus {
  color: #1f488a;
}
#cookieBanner p + p {
  margin-top: 0.8em;
}
#cookieBanner div button {
  display: flex;
  padding: 14px 18px 14px 25px;
  margin: 10px 10px 10px 0;
  background: none;
  border: 1px solid currentColor;
  border-radius: 0;
  color: inherit;
  font-weight: 300;
  font-size: 16px;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}
#cookieBanner button:last-of-type {
  margin-right: 0;
  background: black;
}
#cookieBanner div button:after {
  content: "×";
  display: block;
  margin-left: 18px;
  font-size: 33px;
  line-height: 0.6;
}
#cookieBanner #cookieManage::after {
  content: "›";
}
#cookieBanner button:hover,
#cookieBanner button:focus {
  background: white;
  color: black;
}
@media (min-width: 920px) {
  #cookieBanner {
    left: 44px;
    right: 44px;
  }
  #cookieBanner > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #cookieBanner > div > div {
    padding-right: 40px;
  }
  #cookieBanner p {
    font-size: 18px;
    line-height: 28px;
  }
}
@media (min-width: 1350px) {
  #cookieBanner {
    left: 80px;
    right: 80px;
  }
}
#cookieOptions {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
}
#cookieOptions:not(.open) {
  display: none;
}
#cookieOptions > div {
  position: relative;
  width: calc(100vw - 40px);
  max-width: 800px;
  max-height: calc(100vh - 120px);
  overflow: auto;
  padding: 20px;
  background: white;
  border: 8px solid #999;
  box-sizing: border-box;
}
#cookieOptions h2 {
  margin-bottom: 0.5em;
  padding: 0;
  margin-top: 0;
  font-size: 1.5em;
}
#cookieOptions h2::after {
  margin-bottom: 0;
}
#cookieOptions div + div h2 {
  clear: both;
  float: left;
}
#cookieOptions .toggleGroup {
  float: right;
}
#cookieOptions p {
  clear: both;
  width: 100%;
}
.toggleGroup {
  position: relative;
  width: 85px;
  height: 28px;
  background: black;
  border-radius: 14px;
  border: 1px dashed transparent;
  color: white;
}
.toggleGroup input {
  position: absolute;
  z-index: -1;
}
.toggleGroup label {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0 45% 0 0;
  border-radius: inherit;
  font: inherit;
  font-size: 14px;
  text-transform: uppercase;
}
.toggleGroup:focus-within {
  border-color: white;
  text-decoration: underline;
}
.toggleGroup label ~ label {
  padding: 0 0 0 45%;
  color: #ccc;
  cursor: pointer;
}
.toggleGroup :checked + label {
  pointer-events: none;
}
.toggleGroup label ~ label:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 45%;
  width: 55%;
  background-color: white;
  background-clip: content-box;
  border-radius: inherit;
  border: 3px dotted transparent;
  box-sizing: border-box;
  transition: all 150ms;
}
.toggleGroup label ~ :checked + label:after {
  left: 0;
  background-color: #ccc;
}
.closeButton,
.popupShareButton {
  position: absolute;
  top: 4px;
  right: 15px;
  width: 0;
  height: 0;
  overflow: hidden;
  padding: 20px 20px 0 0;
  background-color: #ddd;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #999;
  font-size: 0;
  cursor: pointer;
}
.popupShareButton::after {
  content: "";
  opacity: 0.35;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 20px;
  height: 20px;
  background: #ddd
    url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOC4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSI0M3B4IiBoZWlnaHQ9IjQzcHgiIHZpZXdCb3g9IjAgMCA0MyA0MyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDMgNDM7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGNsYXNzPSJzdmdDaXJjbGUiIGQ9Ik0yMS41LDQzQzkuNiw0MywwLDMzLjMsMCwyMS41UzkuNiwwLDIxLjUsMFM0Myw5LjcsNDMsMjEuNVMzMy40LDQzLDIxLjUsNDN6IE0yMS41LDFDMTAuMiwxLDEsMTAuMiwxLDIxLjVTMTAuMiw0MiwyMS41LDQyDQoJUzQyLDMyLjgsNDIsMjEuNVMzMi44LDEsMjEuNSwxeiIvPg0KPGNpcmNsZSBjbGFzcz0ic3ZnQmFja2dyb3VuZCIgY3g9IjIxLjUiIGN5PSIyMS41IiByPSIyMC41Ii8+DQo8cGF0aCBpZD0iUGF0aF8yMDAiIGNsYXNzPSJzdmdJbm5hcmRzIiBkPSJNMzIuNCwxOC42YzAuMywwLjMsMC40LDAuNiwwLjQsMXMtMC4yLDAuNy0wLjQsMWwtNiw2QzI2LDI3LDI1LjYsMjcuMiwyNS4zLDI3Yy0wLjMsMC0wLjUtMC40LTAuNS0xdi00DQoJYy0xLjksMC0zLjgsMC4yLTUuNiwwLjdjLTEuNSwwLjQtMi44LDEtNC4xLDEuOGMtMS4xLDAuNy0yLDEuNi0yLjYsMi43Yy0wLjYsMS0xLDIuMS0xLjIsMy4zYzAsMC4yLTAuMiwwLjQtMC40LDAuNGwwLDBsMCwwDQoJYy0wLjIsMC0wLjQtMC4xLTAuNC0wLjRsMCwwYzAtMC40LTAuMS0wLjgtMC4xLTEuMmMwLTEuNiwwLjMtMy4zLDAuOS00LjhjMC42LTEuNSwxLjUtMi45LDIuNy00YzEuMy0xLjIsMi45LTIuMSw0LjUtMi43DQoJYzIuMS0wLjcsNC4zLTEuMSw2LjUtMXYtMy42YzAtMC42LDAuMS0wLjksMC40LTEuMWMwLjMtMC4xLDAuNywwLDEuMSwwLjRMMzIuNCwxOC42eiIvPg0KPC9zdmc+DQo=)
    center center no-repeat;
  background-size: 13px;
}
.popupShareButton:hover::after,
.popupShareButton:focus::after {
  opacity: 0.9;
}
.closeButton::before,
.closeButton::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 3px;
  width: 14px;
  height: 3px;
  background-color: currentColor;
  transform: rotate(-45deg);
}
.closeButton::after {
  transform: rotate(45deg);
}
.closeButton:hover,
.closeButton:focus {
  color: #262626;
}
.acceptButton {
  position: absolute;
  top: 15px;
  right: 15px;
  padding: 0.3vw 0.5vw;
  background-color: #ddd;
  border: 2px solid #fff;
  border-radius: 3px;
  color: #333;
  text-transform: uppercase;
  cursor: pointer;
}
.acceptButton:hover,
.acceptButton:focus {
  background-color: green;
  color: #fff;
}
@media (min-width: 768px) {
  .closeButton,
  .popupShareButton {
    top: 15px;
  }
}
#emailPopup {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(51, 51, 51, 0.7);
  transition: opacity 0.3s;
}
#emailPopup:not(.open) {
  opacity: 0;
  pointer-events: none;
}
#emailPopup > div {
  position: relative;
  background: white;
}
#emailPopupContent {
  width: calc(100vw - 40px);
  max-width: 800px;
  max-height: calc(100vh - 120px);
  overflow: auto;
  padding: 20px;
  background: white;
  border: 12px solid #cecece;
  box-sizing: border-box;
}
#emailDisclaimerButtons {
  text-align: center;
}
#emailDisclaimerButtons > * {
  display: inline-block;
  margin: 10px;
  padding: 4px 10px;
  width: auto;
  overflow: visible;
  background: #0a80ca;
  border: none;
  color: #fff;
  font: inherit;
  text-transform: inherit;
  text-align: center;
  line-height: inherit;
  -webkit-font-smoothing: inherit;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
#emailPopupClose {
  position: absolute;
  top: -12px;
  right: -12px;
}

/* ============================================================================
   PAGINA DE BUSQUEDA Y MAPA DEL SITIO
   ============================================================================ */


table.SITE_MAP {
  margin-top: 5px;
  border-collapse: collapse;
}
table.SITE_MAP th {
  padding-top: 5px;
  text-align: right;
}
table.SITE_MAP td {
  padding-top: 5px;
}
table.SITE_MAP td.h_separator {
  height: 5px;
  border-bottom: solid 1px #ccc;
}
table.SITE_MAP td.v_separator {
  padding-left: 15px;
  padding-right: 15px;
  color: #666;
  font-size: 08px;
}
@media (max-width: 767px) {
  table.SITE_MAP,
  table.SITE_MAP th,
  table.SITE_MAP td,
  table.SITE_MAP tr {
    display: block;
    padding: 0;
    text-align: left;
  }
  table.SITE_MAP td:nth-child(n + 4) {
    padding-left: 10px;
  }
  table.SITE_MAP td:nth-child(n + 6) {
    padding-left: 20px;
  }
  table.SITE_MAP .v_separator {
    display: none;
  }
}
#search form {
  margin: 0 0 2rem 0;
}
#sp_class_search form div {
  flex-basis: 100%;
  width: 100%;
}
#sp_class_search .search_text {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  margin: 1em 0 0;
}
#sp_class_search .search_text input {
  display: block;
  height: auto;
  margin: 0;
}
#sp_class_search #searchtext {
  flex-grow: 1;
  flex-basis: 0;
  width: 100%;
  margin-right: 1rem;
}
#sp_class_search p.form-section-label {
  margin: 1.5rem 0 0.5rem 0;
  padding: 0;
  font-weight: bolder;
}
#search div.form-section {
  margin-bottom: 0;
}
.search_section_wrapper {
  display: flex;
}
#sp_class_search .search_section_wrapper {
  flex-direction: column;
}
#subContent .search_section_wrapper {
  flex-direction: column;
}
#sp_class_search .sections > div,
#sp_class_search .search_type > div > div {
  display: flex;
  align-items: center;
  padding: 0 0 0.8rem 0.3rem;
}
.search_section_wrapper input[type="radio"],
.search_section_wrapper input[type="checkbox"] {
  margin: 0;
  padding: 0;
}
#sp_class_search label {
  display: flex;
  align-content: center;
  align-items: flex-end;
  padding-top: 1px;
  padding-left: 0.5rem;
  font-size: 1rem;
  line-height: 1;
}
#search .SEARCH {
  margin: 2.5rem 0 0 0;
}
#search #subContent {
  margin: 0.5rem 0 0 0;
  border: none;
}
#search #subContent form > div > div {
  flex-basis: auto;
}
#search #advSearchLink a {
  color: #888;
}
#search .search_result_date {
  color: #888;
}
.searchBioWrapper > div > div {
  flex-direction: column;
}
@media (min-width: 768px) {
  #sp_class_search .search_text {
    flex-direction: row;
    align-items: stretch;
  }
  #sp_class_search #searchtext {
    width: auto;
  }
  #sp_class_search .search_section_wrapper {
    flex-direction: row;
  }
  #search div.form-section {
    margin-bottom: 0px;
  }
  .searchBioWrapper > div > div {
    flex-direction: row;
  }
}
#search div.sections input,
#search div.search_type input {
  border: 0;
}
#search a.more {
  font-weight: bolder;
}
.searchfoundtext {
  font-weight: bolder;
}
.result-items p {
  margin-top: 2px;
  margin-bottom: 18px;
  padding-top: 0;
  padding-bottom: 0;
}
.section-header h3 {
  margin-top: 2em;
  margin-bottom: 0.5em;
  padding: 0;
  font-size: 1.3rem;
}
#search .view_more a {
  position: relative;
  padding: 7px 36px 7px 36px;
}
#search .searchHeader {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #a69e9d;
}
#search #searchTabLinks div {
  margin: 0;
  padding: 6px 0;
  border-top: 1px solid #e9e9e9;
}
#search #searchTabLinks .form-section-label {
  color: #000;
}
#search #searchTabLinks,
#search #searchTabLinks a {
  color: #0a80ca;
}
#search #searchTabLinks a span {
  color: #0a80ca;
}
#search #searchTabLinks .form-section-label {
  margin-top: 27px;
  border: none;
  font-weight: bold;
}
#searchInfo h2 {
  margin-top: 0;
  margin-bottom: 0;
}
#searchInfo h2::after {
  margin-bottom: 0.8em;
}
#search #searchResultsFor {
  font-weight: 300;
}
#search #searchResultsForAlt {
  font-size: max(0.7em, 16px);
}
#search #searchOptions {
  display: flex;
  column-gap: 1em;
  margin-bottom: 5px;
  text-transform: uppercase;
  font-weight: 300;
}
#search #searchOptions * {
  white-space: nowrap;
}
#search #searchOptions a {
  font-weight: 500;
  border-bottom: 1px solid transparent;
}
#search #searchOptions a:is(.selected, :hover, :focus) {
  border-color: var(--medium-blue);
}
.searchBioWrapper div.results_list > div {
  display: flex;
}
.searchBioWrapper .photo {
  order: 2;
  padding: 0 0 9px 0;
  margin: 0;
}
.searchBioWrapper .photo img {
  width: 220px;
  padding: 10px 0 0 0;
}
.searchBioWrapper .divider {
  display: none;
  margin: 18px 0;
  border-top: 1px solid #a69e9d;
}
.result-items > div,
.result-items > p {
  margin: 0 0 32px;
  padding: 0 0 32px;
  border-bottom: 1px solid #a69e9d;
}
@media (min-width: 768px) {
  .searchBioWrapper .photo img {
    padding: 0 0 0 32px;
  }
}
.result-items p.link {
  margin-bottom: 0;
  padding-top: 5px;
  padding-bottom: 0;
  border-bottom: none;
}
table#fontReference {
  width: 100%;
  margin: 0 0 38px 0;
  font-size: 80%;
  line-height: 1;
}
table#fontReference th,
table#fontReference td {
  padding: 6px 6px 6px 0;
}

/* ============================================================================
   VARIOS  ·  mapas, figuras, insignias y formulario de banner
   ============================================================================ */


.sp_map {
  margin: 2em 0 1em 0;
}
.printMap {
  display: inline-block;
  padding: 4px;
  background: #0a80ca;
  color: #fff;
  text-align: center;
}
.printMap:hover,
.printMap:focus {
  background: #6a747c;
  text-decoration: none;
}
button.toggleExpand,
p.expandButton button {
  margin: 0 0 1.5em 0;
  padding: 10px 20px !important;
  background: none !important;
  border: 1px solid var(--medium-blue);
  color: var(--warm-gray);
  font: inherit;
  text-align: left;
  cursor: pointer;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 17px;
  font-weight: 400;
}
button.toggleExpand:hover,
button.toggleExpand:focus,
p.expandButton button:hover,
p.expandButton button:focus {
  color: #fff;
  background: var(--medium-blue) !important;
}
div.expandableList ul.results_list {
  margin-bottom: 0;
}
div.expandableList button.toggleExpand {
  padding: 0 !important;
  margin: 0 0 10px !important;
  border: none;
  color: var(--medium-blue);
}
div.expandableList button.toggleExpand:is(:hover, :focus) {
  color: var(--warm-gray);
  background: none !important;
}
.newsletter-unsubscribe-form blockquote {
  margin-left: 0;
  margin-right: 0;
}
figure {
  margin: 0.5em 0;
}
.alignleft,
.align-left,
img[style*="float: left"] {
  float: left;
  margin: 0.5em 1.5em 0.5em 0;
}
.alignright,
.align-right,
img[style*="float: right"] {
  float: right;
  margin: 0.5em 0 0.5em 1.5em;
}
.aligncenter,
.align-center,
.alignnone {
  clear: both;
  display: block;
  margin: 0.5em auto;
}
figure.image {
  display: table !important;
  padding: 5px;
  background: transparent;
  border: 1px solid #ccc;
  box-sizing: border-box;
  text-align: center;
}
figure.image figcaption {
  clear: both;
  display: block !important;
  padding: 5px;
  font-size: 0.8rem;
}
.nowrap {
  white-space: nowrap;
}
.badgeList ul,
.badgeList ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.badgeList ul li {
  margin-right: 20px;
}
.badgeList img {
  max-width: 100px;
}
#bannerExtrasForm {
  width: 100%;
}
#bannerExtrasForm {
  max-width: 1072px;
  margin: 0 auto;
}
#bannerExtrasForm form {
  margin-bottom: 40px;
}
#bannerExtrasForm form > div {
  display: block;
}
#bannerExtrasForm form > div > div label {
  padding-top: 3px;
  font-family: "DM Serif Display";
  --min-font-size: 20;
  --max-font-size: 24;
  text-transform: none;
  color: var(--main-dark);
}
#bannerExtrasForm input {
  border: none;
  border-bottom: 1px solid var(--rules);
  background: none;
}
#bannerExtrasForm form button {
  position: absolute;
  right: 0;
  top: -45px;
  padding-right: 2px;
  border: none;
  background: none;
}
#bannerExtrasForm form button svg {
  width: 26px;
  height: 26px;
  fill: var(--medium-blue);
}
