/* Infopanel */

.infopanel { position: relative; }
.infopanel h2 { padding: 0; font-family: JMBProBo,sans-serif; font-size: 2.2rem; line-height: 3rem; margin-bottom: 20px; }
.infopanel dl { padding: 0; }
.infopanel dt { font-size: 1.6rem; line-height: 2.2rem; font-family: JMBProBo, sans-serif; display: block; margin-bottom: 8px; }
.infopanel dd { font-size: 1.6rem; line-height: 2.2rem; margin-bottom: 8px; }
.infopanel dd + dt { margin-top: 24px; }
.infopanel__content { position: relative; padding: 30px; border: 1px solid #000; }
.infopanel__open { display: none; position: absolute; height: 100%; width: 100%; top: 0; left: 0; min-width: 100%; overflow: hidden; }
.infopanel__open svg { position: absolute; top: 35px; right: 30px; width: 16px; height: 16px; transform: rotate(90deg); transition: opacity 0.3s, transform 0.3s; }
.infopanel__lists { display: grid; grid-template-columns: 1fr; gap: 30px; }
.infopanel--text2 .infopanel__lists { grid-template-columns: 1fr 1fr; }
.infopanel--text3 .infopanel__lists { grid-template-columns: 1fr 1fr 1fr; }

.infopanel--image { display: flex; }
.infopanel--image .infopanel__content { border-left: none; }
.infopanel--image.infopanel--text3 .infopanel__lists { grid-template-columns: 1fr 1fr; }

.infopanel__image { flex: 0 0 364px; position: relative; }
.infopanel__image img { position: absolute; height: 100%; width: 100%; object-fit: cover; object-position: left center; }
.infopanel__image.left-top img { object-position: left top; }
.infopanel__image.center-top img { object-position: center top; }
.infopanel__image.right-top img { object-position: right top; }
.infopanel__image.left-center img { object-position: left center; }
.infopanel__image.center-center img { object-position: center center; }
.infopanel__image.right-center img { object-position: right center; }
.infopanel__image.left-bottom img { object-position: left bottom; }
.infopanel__image.center-bottom img { object-position: center bottom; }
.infopanel__image.right-bottom img { object-position: right bottom; }

@media only screen and (max-width: 1270px) {
  .infopanel__image { flex: 0 0 300px; }
}

@media only screen and (max-width: 1080px) {
  .infopanel__image { flex: 0 0 260px; }
}

@media only screen and (max-width: 880px) {
  .infopanel__image { display: none; }
  .infopanel--text2 .infopanel__lists { grid-template-columns: 1fr; }
  .infopanel--text3 .infopanel__lists { grid-template-columns: 1fr; }
  .infopanel--image.infopanel--text3 .infopanel__lists { grid-template-columns: 1fr; }
  .infopanel--image .infopanel__content { padding: 30px; border: 1px solid #000; }
  .infopanel__open { display: block; }
  .infopanel__content .infopanel__plus { opacity: 1.0; }
  .infopanel__content .infopanel__minus { opacity: 0; }
  .infopanel__content.open dl a { position: relative; z-index: 2; }
  .infopanel__content.open .infopanel__plus { opacity: 0; transform: rotate(0); }
  .infopanel__content.open .infopanel__minus { opacity: 1.0; transform: rotate(0); }
  .infopanel__content h2 { padding-right: 30px; margin-bottom: 0; }
  .infopanel__lists { display: none; }
  .infopanel__content.open .infopanel__lists { display: block; }
  .infopanel__content.open h2 { padding-right: 30px; margin-bottom: 20px; }
  .infopanel__list:not(:first-child) dt { margin-top: 24px; }
}

/* Forced Infopanels */
.infopanel--forced { margin-bottom: 30px; }

.infopanel--forced-1270 .span12 { width: 940px; }
.infopanel--forced-1270 .span8r { width: 620px; }
.infopanel--forced-1270 .infopanel__image { flex: 0 0 300px; }

.infopanel--forced-1080 .span12 { width: 820px; }
.infopanel--forced-1080 .span8r { width: 540px; }
.infopanel--forced-1080 .infopanel__image { flex: 0 0 260px; }

.infopanel--forced-880 .span12 { width: 620px; }
.infopanel--forced-880 .span8r { width: 620px; }
.infopanel--forced-880 .infopanel__image { display: none; }
.infopanel--forced-880 .infopanel--text2 .infopanel__lists { grid-template-columns: 1fr; }
.infopanel--forced-880 .infopanel--text3 .infopanel__lists { grid-template-columns: 1fr; }
.infopanel--forced-880 .infopanel--image.infopanel--text3 .infopanel__lists { grid-template-columns: 1fr; }
.infopanel--forced-880 .infopanel--image .infopanel__content { padding: 30px; border: 1px solid #000; }
.infopanel--forced-880 .infopanel__open { display: block; }
.infopanel--forced-880 .infopanel__content .infopanel__plus { opacity: 1.0; }
.infopanel--forced-880 .infopanel__content .infopanel__minus { opacity: 0; }
.infopanel--forced-880 .infopanel__content.open .infopanel__plus { opacity: 0; transform: rotate(0); }
.infopanel--forced-880 .infopanel__content.open .infopanel__minus { opacity: 1.0; transform: rotate(0); }
.infopanel--forced-880 .infopanel__content h2 { padding-right: 30px; margin-bottom: 0; }
.infopanel--forced-880 .infopanel__lists { display: none; }
.infopanel--forced-880 .infopanel__content.open .infopanel__lists { display: block; }
.infopanel--forced-880 .infopanel__content.open h2 { padding-right: 30px; margin-bottom: 20px; }
.infopanel--forced-880 .infopanel__list:not(:first-child) dt { margin-top: 24px; }

@media only screen and (max-width: 880px) {
  .infopanel--forced .span12 { width: 620px; }
  .infopanel--forced .span8r { width: 620px; }
}

@media only screen and (max-width: 670px) {
  .infopanel--forced .span12 { width: 100%; }
  .infopanel--forced .span8r { width: 100%; }
}