:host { display: block; } .hy-accordion__item { margin-bottom: 12px; &__is-open { border: 1px solid var(--grayscale-dark); .hy-accordion--heading { margin: 0 auto; .hy-accordion--heading__icon { transform: rotateX(180deg); } } } } .hy-accordion__item.mini { margin-bottom: 1rem; margin-top: 1rem; } .hy-accordion__item__is-open.mini { margin-bottom: 0; margin-top: 0; .hy-accordion__item--container { border-bottom: 1px solid var(--grayscale-medium-dark); border-top: 1px solid var(--grayscale-medium-dark); padding-top: 16px; padding-bottom: 32px; margin-top: -1px; transition: padding 0.5s ease-in-out; @include breakpoint($narrow) { padding-top: 28px; padding-bottom: 30px; } @include breakpoint($wide) { padding-top: 32px; padding-bottom: 40px; } } } .hy-accordion__item.hy-accordion__item__is-open.mini { background-color: var(--grayscale-white); border: none; box-shadow: 0 -10px 10px -10px rgba(0, 49, 70, 0.05); } .hy-accordion--heading { justify-content: flex-start; letter-spacing: -0.69px; line-height: 28px; margin: 0 auto; transition: all 0.25s ease-in-out; width: 100%; .hy-accordion__link { text-decoration: none; &:hover { text-decoration: none; } } .hy-accordion__button { @include font-size(18px, 22px); @include font-weight($bold); align-items: flex-start; background-color: var(--grayscale-background-box); border: none; color: var(--brand-main-nearly-black); display: flex; flex-direction: row; font-family: var(--main-font-family); height: 100%; justify-content: flex-start; letter-spacing: -0.45px; padding: 13px 20px 13px 16px; transition: all 0.35s ease-in; width: 100%; &:hover { cursor: pointer; } @include breakpoint($narrow) { padding: 1rem 2rem 1rem 1.25rem; } @include breakpoint($xlarge) { @include font-size(20px, 24px); letter-spacing: -0.5px; } &--large { @include breakpoint($extrawide) { @include font-size(20px, 24px); letter-spacing: -0.5px; } .hy-accordion--heading__icon svg { @include breakpoint($extrawide) { height: 20px; width: 20px; } } } &[aria-expanded='true'] { background: none; } span { text-align: left; } // When accordion item is open. &[aria-expanded='true'] { position: relative; &:after { background-color: var(--grayscale-medium-dark); bottom: 0; content: ''; height: 1px; left: 16px; position: absolute; right: 20px; } } } .hy-accordion--heading__icon { align-items: center; display: inline-flex; height: 22px; // Same as text line-height. margin-right: 8px; z-index: 0; svg { fill: var(--brand-main); @include breakpoint($narrow) { height: 18px; width: 18px; } @include breakpoint($xlarge) { height: 20px; width: 20px; } } } } .hy-accordion--heading.mini { // accordion clickable header .hy-accordion__button { @include font-size(18px, 22px); background-color: var(--grayscale-white); color: var(--link-blue); letter-spacing: -0.56px; padding: 0; @include breakpoint($narrow) { @include font-size(22px, 28px); letter-spacing: -0.69px; padding: 0; } &[aria-expanded='true'] { color: var(--grayscale-black); margin-bottom: 20px; @include breakpoint($narrow) { margin-bottom: 28px; } @include breakpoint($wide) { margin-bottom: 32px; } } } //accordion arrow .hy-accordion--heading__icon { margin-right: 0.5rem; z-index: 0; @include breakpoint($narrow) { margin-right: 10px; } svg { fill: var(--brand-main-light); height: 14px; width: 14px; @include breakpoint($narrow) { height: 16px; width: 16px; } } } } .hy-accordion__content { display: block; height: 0; padding: 0; overflow: hidden; transition: all 0.25s ease-in-out; &--inner-wrapper { display: block; padding: 16px 12px; @include breakpoint($narrow) { padding: 15px 16px; } @include breakpoint($wide) { padding: 16px; } @include breakpoint($extrawide) { // without sidebar &--large { padding: 24px 20px; } } @include breakpoint($xlarge) { padding: 24px 20px; } &--mini { padding: 0; .course-heading { h4 { padding-top: 0 !important; } } } } }