:host { display: block; } .hy-accordion__item { margin-bottom: 1rem; &__is-open { border-bottom: 2px solid var(--grayscale-medium); border-left: 1px solid var(--grayscale-medium); border-right: 1px solid var(--grayscale-medium); border-top: 2px solid var(--grayscale-medium); box-shadow: 0 2px 12px 1px rgba(#000000, 10%); .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(22px, 28px); align-items: flex-start; border: none; background-color: var(--grayscale-background-box); color: var(--brand-main-nearly-black); display: flex; flex-direction: row; font-family: var(--main-font-family); font-weight: bold; height: 100%; justify-content: flex-start; letter-spacing: -0.7px; padding: 1.125rem 1rem 1.125rem 1rem; transition: all 0.35s ease-in; width: 100%; &:hover { cursor: pointer; } @include breakpoint($narrow) { @include font-size(26px, 32px); letter-spacing: -0.8px; padding: 1rem 2rem 1rem 1.25rem; } &[aria-expanded='true'] { background: none; } span { text-align: left; } // When accordion item is open. &[aria-expanded='true'] { position: relative; &:after { background: linear-gradient(to right, var(--grayscale-medium), var(--grayscale-white)); bottom: 0; content: ''; height: 2px; left: 0; position: absolute; width: 100%; } } } .hy-accordion--heading__icon { margin-right: 0.5rem; margin-top: 4px; z-index: 0; @include breakpoint($narrow) { margin-right: 1rem; margin-top: 6px; } svg { fill: var(--brand-main); @include breakpoint($narrow) { height: 24px; width: 24px; } } } } .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; transition: all 0.25s ease-in-out; &--inner-wrapper { display: block; padding: 20px 16px 0; @include breakpoint($narrow) { padding: 20px 24px 0; } @include breakpoint($extrawide) { // there is a sidebar &--common { padding: 20px 24px 0; } // without sidebar &--large { padding: 24px 32px 0; } } @include breakpoint($xlarge) { padding: 24px 32px 0; } &--mini { padding: 0; .course-heading { h4 { padding-top: 0 !important; } } } } }