Files
2026-09-15 10:35:56 +08:00

329 lines
7.1 KiB
CSS

.esun-application {
--application-green: #12ad5c;
box-sizing: border-box;
margin: 84px auto 0;
max-width: 1360px;
padding: 0 20px;
}
.esun-application *,
.esun-application *::before,
.esun-application *::after {
box-sizing: border-box;
}
.esun-application__heading {
margin-bottom: 70px;
}
.esun-application__heading h2 {
color: #303030;
font-size: 36px;
font-weight: 700;
letter-spacing: 5px;
margin: 0 0 46px;
position: relative;
text-transform: uppercase;
}
.esun-application__heading h2::after {
background: var(--application-green);
bottom: -20px;
content: "";
height: 2px;
left: 0;
position: absolute;
width: 70px;
}
.esun-application__heading-row {
align-items: center;
display: flex;
gap: 24px;
justify-content: space-between;
}
.esun-application__heading p {
color: #94a8c3;
font-size: 17px;
font-weight: 600;
margin: 0;
}
.esun-application__explore-all {
align-items: center;
color: #18a957 !important;
display: inline-flex;
flex: 0 0 auto;
font-size: 14px;
font-weight: 700;
gap: 12px;
text-decoration: none;
}
.esun-application__explore-all:hover,
.esun-application__explore-all:focus {
color: #000 !important;
text-decoration: none;
}
.esun-application__items {
display: flex;
gap: 16px;
min-height: 590px;
overflow: hidden;
}
.esun-application__item {
background: #252525;
border-radius: 34px;
flex-basis: 0;
flex-grow: 1;
flex-shrink: 1;
min-width: 0;
overflow: hidden;
position: relative;
transition:
flex-basis 0.48s ease,
flex-grow 0.48s ease,
filter 0.4s ease,
opacity 0.4s ease;
}
.esun-application__thumbnail,
.esun-application__hover-image {
height: 100%;
inset: 0;
object-fit: cover;
position: absolute;
transition:
opacity 0.4s ease,
transform 0.65s ease;
width: 100%;
}
.esun-application__hover-image {
opacity: 0;
transform: scale(1.04);
}
.esun-application__shade {
background: linear-gradient(
180deg,
rgba(0, 0, 0, 0.08) 38%,
rgba(0, 0, 0, 0.78)
);
inset: 0;
position: absolute;
transition: background 0.4s ease;
}
.esun-application__default-copy {
align-items: center;
bottom: 38px;
color: #fff;
display: flex;
flex-direction: column;
left: 16px;
position: absolute;
right: 16px;
text-align: center;
transition:
opacity 0.25s ease,
transform 0.35s ease;
z-index: 2;
}
.esun-application__icon {
align-items: center;
background: rgba(45, 45, 45, 0.38);
border: 1px solid rgba(255, 255, 255, 0.35);
border-radius: 50%;
display: flex;
height: 78px;
justify-content: center;
margin-bottom: 22px;
padding: 17px;
width: 78px;
}
.esun-application__icon img {
height: 100%;
object-fit: contain;
width: 100%;
}
.esun-application__default-copy h3,
.esun-application__hover-copy h3 {
color: #fff;
font-size: 21px;
font-weight: 700;
line-height: 1.2;
margin: 0;
}
.esun-application__hover-copy {
bottom: 48px;
left: 48px;
opacity: 0;
position: absolute;
transform: translateY(18px);
transition:
opacity 0.3s ease 0.12s,
transform 0.4s ease 0.08s;
visibility: hidden;
z-index: 3;
}
.esun-application__hover-copy h3 {
font-size: 30px;
letter-spacing: 2px;
margin-bottom: 34px;
}
.esun-application__explore {
align-items: center;
background: var(--application-green);
border-radius: 26px;
color: #fff !important;
display: inline-flex;
font-size: 15px;
font-weight: 700;
height: 52px;
justify-content: center;
min-width: 160px;
padding: 0 28px;
text-decoration: none;
}
.esun-application__explore:hover,
.esun-application__explore:focus {
background: #0c914c;
color: #fff;
text-decoration: none;
}
.esun-application__items.has-active-item .esun-application__item {
flex-basis: 0;
flex-grow: 0.48;
flex-shrink: 1;
filter: blur(2px);
opacity: 0.8;
}
.esun-application__items .esun-application__item--interactive.is-active {
flex-basis: 0;
flex-grow: 3.2;
flex-shrink: 1;
filter: none;
opacity: 1;
outline: none;
}
.esun-application__item--interactive.is-active .esun-application__thumbnail,
.esun-application__item--interactive:hover .esun-application__thumbnail,
.esun-application__item--interactive:focus .esun-application__thumbnail {
opacity: 0;
}
.esun-application__item--interactive.is-active .esun-application__hover-image,
.esun-application__item--interactive:hover .esun-application__hover-image,
.esun-application__item--interactive:focus .esun-application__hover-image {
opacity: 1;
transform: scale(1);
}
.esun-application__item--interactive.is-active .esun-application__shade,
.esun-application__item--interactive:hover .esun-application__shade,
.esun-application__item--interactive:focus .esun-application__shade {
background: linear-gradient(180deg, transparent 48%, rgba(0, 0, 0, 0.65));
}
.esun-application__item--interactive.is-active .esun-application__default-copy,
.esun-application__item--interactive:hover .esun-application__default-copy,
.esun-application__item--interactive:focus .esun-application__default-copy {
opacity: 0;
transform: translateY(20px);
}
.esun-application__item--interactive.is-active .esun-application__hover-copy,
.esun-application__item--interactive:hover .esun-application__hover-copy,
.esun-application__item--interactive:focus .esun-application__hover-copy {
opacity: 1;
transform: translateY(0);
visibility: visible;
}
@media (max-width: 1023px) {
.esun-application__items {
min-height: 520px;
overflow-x: auto;
}
.esun-application__item {
flex: 0 0 260px;
}
.esun-application__items.has-active-item .esun-application__item {
flex: 0 0 180px;
}
.esun-application__items .esun-application__item--interactive.is-active {
flex-basis: 620px;
}
}
@media (max-width: 639px) {
.esun-application {
margin-top: 56px;
padding: 0 15px;
}
.esun-application__heading {
margin-bottom: 48px;
}
.esun-application__heading h2 {
font-size: 28px;
letter-spacing: 3px;
}
.esun-application__heading-row {
align-items: flex-start;
}
.esun-application__heading p {
font-size: 15px;
}
.esun-application__explore-all {
font-size: 12px;
text-align: right;
}
.esun-application__items {
min-height: 470px;
}
.esun-application__item,
.esun-application__items.has-active-item .esun-application__item {
flex: 0 0 min(78vw, 310px);
filter: none;
opacity: 1;
}
.esun-application__items .esun-application__item--interactive.is-active {
flex-basis: min(90vw, 410px);
}
.esun-application__hover-copy {
bottom: 34px;
left: 28px;
}
.esun-application__hover-copy h3 {
font-size: 24px;
margin-bottom: 24px;
}
}