@charset "UTF-8"; @use "sass:math"; @font-face { font-family: 'AudiType'; src: url('/fonts/AudiTypeVF.woff2') format('woff2-variations'); font-display: swap; font-style: normal; font-stretch: 130%; } // Utility classes for padding and margin (1-100) @for $i from 1 through 200 { // Padding .pt--#{$i} { padding-top: #{$i}px !important; } .pr--#{$i} { padding-right: #{$i}px !important; } .pb--#{$i} { padding-bottom: #{$i}px !important; } .pl--#{$i} { padding-left: #{$i}px !important; } .p--#{$i} { padding: #{$i}px !important; } // Margin .mt--#{$i} { margin-top: #{$i}px !important; } .mr--#{$i} { margin-right: #{$i}px !important; } .mb--#{$i} { margin-bottom: #{$i}px !important; } .ml--#{$i} { margin-left: #{$i}px !important; } .m--#{$i} { margin: #{$i}px !important; } @media (max-width: 720px) { .pt--#{$i} { padding-top: #{math.div($i, 2)}px !important; } .pr--#{$i} { padding-right: #{math.div($i, 2)}px !important; } .pb--#{$i} { padding-bottom: #{math.div($i, 2)}px !important; } .pl--#{$i} { padding-left: #{math.div($i, 2)}px !important; } .p--#{$i} { padding: #{math.div($i, 2)}px !important; } .mt--#{$i} { margin-top: #{math.div($i, 2)}px !important; } .mr--#{$i} { margin-right: #{math.div($i, 2)}px !important; } .mb--#{$i} { margin-bottom: #{math.div($i, 2)}px !important; } .ml--#{$i} { margin-left: #{math.div($i, 2)}px !important; } .m--#{$i} { margin: #{math.div($i, 2)}px !important; } } } @for $i from 14 through 40 { .ft--#{$i} {font-size : #{$i}px !important;} } html { scroll-behavior: smooth; } :root { --max-content-width: 1920px; --page-margin: 16px; @media (min-width: 375px) { --page-margin: 28px; } @media (min-width: 768px) { --page-margin: 40px; } @media (min-width: 1024px) { --page-margin: 60px; } @media (min-width: 1440px) { --page-margin: 96px; } @media (min-width: 1920px) { --page-margin: 96px; } @property --gradient-start { syntax: ''; initial-value: transparent; inherits: false; } @property --gradient-end { syntax: ''; initial-value: transparent; inherits: false; } --spacing-relative-2xs: 4px; --spacing-relative-xs: 8px; --spacing-relative-sm: 12px; --spacing-relative-md: 16px; --spacing-relative-lg: 24px; --spacing-relative-xl: 28px; --spacing-relative-2xl: 36px; --spacing-relative-3xl: 40px; --spacing-relative-4xl: 48px; --spacing-relative-5xl: 64px; --spacing-relative-6xl: 80px; --spacing-relative-7xl: 96px; --spacing-relative-8xl: 120px; @media (min-width: 768px) { --spacing-relative-3xl: 48px; --spacing-relative-4xl: 64px; --spacing-relative-5xl: 72px; --spacing-relative-6xl: 88px; --spacing-relative-7xl: 104px; --spacing-relative-8xl: 136px; } @media (min-width: 1024px) { --spacing-relative-2xl: 40px; --spacing-relative-3xl: 56px; --spacing-relative-4xl: 72px; --spacing-relative-5xl: 88px; --spacing-relative-6xl: 104px; --spacing-relative-7xl: 128px; --spacing-relative-8xl: 168px; } @media (min-width: 1440px) { --spacing-relative-xl: 32px; --spacing-relative-2xl: 56px; --spacing-relative-3xl: 72px; --spacing-relative-4xl: 88px; --spacing-relative-5xl: 104px; --spacing-relative-6xl: 120px; --spacing-relative-7xl: 160px; --spacing-relative-8xl: 216px; } @media (min-width: 1920px) { --spacing-relative-xl: 40px; --spacing-relative-2xl: 72px; --spacing-relative-3xl: 88px; --spacing-relative-4xl: 104px; --spacing-relative-5xl: 120px; --spacing-relative-6xl: 136px; --spacing-relative-7xl: 176px; --spacing-relative-8xl: 248px; } } //풀사이즈 레이아웃 구성 .detail--container--full{ .thumb--solo{ overflow: hidden; border-radius: 20px; img{ width:100%; max-width:100%; } } .inner--wrapper{ padding:0 var(--spacing-relative-3xl); .service--detail{ padding:45px 0px; h1{ margin: 0 0 var(--spacing-relative-md) 0; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 28px; line-height: 40px; font-stretch: 130%; @media (min-width: 1024px) { font-size: 36px; line-height: 52px; } @media (min-width: 1440px) { font-size: 40px; line-height: 60px; } @media (min-width: 1920px) { font-size: 44px; line-height: 64px; } } h2{ margin: 0 0 var(--spacing-relative-md) 0; color: rgb(252, 252, 253); font-family: AudiType, sans-serif; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 24px; line-height: 36px; font-stretch: 130%; &.middle{ font-size:26px; } @media (min-width: 1024px) { font-size: 28px; line-height: 40px; } @media (min-width: 1440px) { font-size: 32px; line-height: 44px; } @media (min-width: 1920px) { font-size: 36px; line-height: 52px; } } h3{ margin: 20px 0 var(--spacing-relative-md) 0; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } >h4{ margin: 0 0 var(--spacing-relative-md) 0; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 130%; @media (min-width: 1440px) { font-size: 18px; line-height: 28px; } @media (min-width: 1920px) { font-size: 20px; line-height: 32px; } } >p{ margin: 0px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } .service--process--list{ padding-top:80px; >li{ position: relative; padding-left:20px; margin-bottom:80px; &.not--before{ padding-left:0px; &::before{ display: none; } } &::before{ content: ">"; display: block; width: 100%; height: 100%; background-size: contain; position: absolute; top: 0; left: 0; } >p{ margin: 0 0 var(--spacing-relative-md) 0; color: rgba(252, 252, 253, 0.7); font-family: AudiType, sans-serif; letter-spacing: 0px; font-weight: 400; } } } .data--table--wrap{ @media (min-width: 768px) { table tbody tr:first-child th, table tbody tr:first-child td { border-top: 1px solid rgb(255, 255, 255) !important; border-right-color: rgb(255, 255, 255) !important; border-bottom-color: rgb(255, 255, 255) !important; border-left-color: rgb(255, 255, 255) !important; } } table{ display: block; width: 100%; border-spacing: 8px 0px; border-collapse: separate; @media (min-width: 768px) { width: 100%; } @media (min-width: 768px) { display: table; } tbody{ @media (min-width: 768px) { display: table-row-group; thead{ display: table-header-group; } } td{ letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; color: rgba(252, 252, 253, 0.7); padding: 16px 4px 8px; vertical-align: top; display: table-cell; border-bottom: 1px solid rgb(252, 252, 253); @media (min-width: 768px) { padding: 12px 4px 24px; } &:not(:last-child) { margin-bottom: 4px; } } } } } .desc--caution--text{ margin: 0px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } } } } /*================================================= |컴포넌트 별 css |START =================================================*/ //풀사이즈 배너 텍스트1 형 .img--section--full{ width:100%; position: relative; &.mask--hidden{ &:before{ display: none; } } &[data-type="cover"] { >div { position: relative; height:100vh; overflow: hidden; } img{ object-fit: cover; height:auto; position: absolute; top:50%; transform: translateY(-50%); } } &:before{ content:''; display: block; width:100%; height:100%; position: absolute; z-index: 2; pointer-events: none; inset: 0px; z-index: 1; background: linear-gradient(rgba(0, 0, 0, 0) 46.66%, rgb(0, 0, 0) 100%); } img{ width:100%; max-width:100%; height:100vh; } &[data-text-location="topright"]{ &:before{ background: linear-gradient(rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 50%); } .alt--text{ bottom:auto; left:auto; right:0px; top:40px; } .sub--title{ bottom:auto; left:auto; right:0px; top:90px; } .btn--wrapper{ bottom:auto; left:auto; right:0px; top:150px; } } &[data-text-location="top"]{ &:before{ background: linear-gradient(rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 50%); } .alt--text{ bottom:auto; top:40px; } .sub--title{ bottom:auto; top:90px; } .btn--wrapper{ bottom:auto; top:150px; } } .alt--text{ color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 28px; line-height: 40px; position: absolute; bottom:40px; left:0px; overflow: hidden; padding: 0 96px; white-space: pre-wrap; z-index: 2; } .sub--title{ position: absolute; bottom:40px; left:0px; margin: 0px; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 130%; padding: 0 96px; z-index: 2; @media (min-width: 1440px) { font-size: 18px; line-height: 28px; } @media (min-width: 1920px) { font-size: 20px; line-height: 32px; } } .btn--wrapper{ position: absolute; bottom:150px; left:0px; padding: 0 96px; z-index: 2; display: flex; gap:10px; } } //풀사이즈 패럴렉스 1형 .prallax--banner--wrapper{ position: relative; overflow: hidden; height:1000px; .prallax--banner{ position: absolute; width: 100%; height: 120%; transform: translate3d(0, 0, 0); // 초기값 GPU 레이어 생성 -webkit-transform: translate3d(0, 0, 0); backface-visibility: hidden; -webkit-backface-visibility: hidden; //perspective: 1000px; //-webkit-perspective: 1000px; position: absolute; top: -17%; left: 50%; will-change: transform; backface-visibility: hidden; picture { width: 100%; height: 100%; display: block; } img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: translateZ(0); // GPU 가속 -webkit-transform: translateZ(0); } } .text--box--wrapper{ position: absolute; backface-visibility: hidden; -webkit-backface-visibility: hidden; width: 100%; top:147px; left: 0px; z-index: 1; will-change: transform, opacity; transform: translate3d(0, 0, 0); // 초기값 GPU 레이어 생성 -webkit-transform: translate3d(0, 0, 0); display: flex; -webkit-box-pack: center; justify-content: center; transition: opacity 0.1s ease-out; perspective: 1000px; -webkit-perspective: 1000px; .text--container{ max-width:50%; position: relative; box-sizing: border-box; background: linear-gradient(134deg, rgb(44, 52, 63) 0%, rgb(35, 42, 52) 100%); backdrop-filter: blur(60px); display: flex; flex-direction: column; gap: 24px; flex-shrink: 0; flex-basis: 86%; margin: 88px auto 0 auto; padding: 40px; border-radius: 20px; left: 4%; flex-basis: 44%; h2{ margin: 0px; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 24px; line-height: 36px; font-stretch: 130%; } p{ margin: 0px; color: rgba(252, 252, 253, 0.7); font-family: AudiType, sans-serif; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } a{ transition-timing-function: cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; transition-property: color, text-decoration-color; display: inline-flex ; -webkit-box-align: center; align-items: center; font-family: AudiType, sans-serif; letter-spacing: 0px; font-weight: 400; text-decoration: underline 1px rgb(252, 252, 253); font-size: 16px; line-height: 24px; font-stretch: 105%; color: rgb(252, 252, 253); box-sizing: border-box; text-underline-offset: 7px; padding-bottom: 2px; min-height: 24px; } } } } //Swiper 배너 컴포넌트 (30% + 70% 레이아웃) .swiper--banner--wrapper { width: 100%; padding: 40px 96px; &[data-fit="contain"]{ .swiper--banner--container{ .swiper--banner--section{ .swiper--container{ .swiper-slide{ .slide--image{ img{ object-fit: contain; } } } } } } } &[data-type="vertical"]{ padding:0px; .swiper--banner--container{ flex-direction: column-reverse; height:auto; .swiper--controls--section{ flex-direction: row-reverse; @media(min-width:768px){ padding: 0px 96px; } @media(min-width:1024px){ padding: 0px 96px; } @media(min-width:1440px){ padding: 0px 96px; } @media(min-width:1920px){ padding:24px 96px; } .text--content{ width:100%; .main--title{ margin: 0px; color: rgb(252, 252, 253); font-family: AudiType, sans-serif; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 20px; line-height: 32px; font-stretch: 130%; @media(min-width:1440px){ font-size: 24px; line-height: 36px; } } .sub--title{ margin: 0px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } } } > div{ width:100%; max-height:100vh; .swiper--container { .swiper-slide { .slide--image { border-radius: 0px; } } } } } } .swiper--banner--container { max-width: 1920px; height: 70vh; margin: 0 auto; display: flex; min-height: 600px; // 30% 영역: 컨트롤 및 텍스트 .swiper--controls--section { width: 30%; padding: 40px; display: flex; flex-direction: column; justify-content: flex-end; .controls--top { margin-bottom: 40px; .pagination--nav--wrapper { display: flex; align-items: flex-start; justify-content: flex-start; flex-direction: column; gap: 20px; .swiper-pagination { position: relative; width: auto; display: flex; justify-content: center; align-items: center; gap: 12px; .swiper-pagination-bullet { width: 24px; height: 24px; background: transparent; border-radius: 50%; color: rgba(255, 255, 255, 0.6); font-size: 14px; font-weight: 400; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; opacity: 1; margin:0px; &:hover { background:rgba(252,252,253,.3)!important; color: rgba(255, 255, 255, 0.8); } &.swiper-pagination-bullet-active { background: transparent; color: #fff; font-weight: 600; } } } .navigation--buttons { display: flex; align-items: center; justify-content: center; gap: 16px; .swiper-pagination{ top:0px; bottom:0px; } .swiper-button-prev{ background: url(/img/ico--back--s.svg) no-repeat center; } .swiper-button-next{ background: url(/img/ico--forward--s.svg) no-repeat center; } .swiper-button-prev, .swiper-button-next { position: relative; width: 24px; height: 24px; border-radius: 50%; color: white; margin: 0; transition: all 0.3s ease; cursor: pointer; &:hover{ background:rgba(252,252,253,.3) ; } &.swiper-button-disabled { opacity: 0.3; cursor: not-allowed; &:hover { transform: none; } } } } } } .text--content { text-align: center; height:60%; .text--slider { position: relative; overflow: hidden; height:100%; .text--slide { position: absolute; top: 0; left: 0; width: 100%; opacity: 0; transform: translateX(-100%); transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); text-align: left; visibility: hidden; &.active { opacity: 1; transform: translateX(0); visibility: visible; position: relative; // 활성 슬라이드는 relative로 높이 확보 } // 이전 슬라이드는 오른쪽으로 사라짐 &:not(.active) { transform: translateX(-100%); position: absolute; // 비활성 슬라이드는 absolute로 겹침 } } } .main--title { margin:0px; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 20px; line-height: 32px; font-stretch: 130%; padding-bottom:12px; } .sub--title { margin: 0px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } .desc--title{ margin-top:25px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 15px; line-height: 24px; font-stretch: 105%; } .caution--title{ margin-top:25px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 24px; font-stretch: 105%; } .notice--text { margin-top: 40px; padding-top: 20px; // border-top: 1px solid rgba(255, 255, 255, 0.1); text-align: left; p { margin: 0; color: rgba(252, 252, 253, 0.5); font-size: 14px; line-height: 20px; font-style: italic; } } } } // 70% 영역: 단일 배너 .swiper--banner--section { width: 70%; position: relative; overflow: hidden; .swiper--container { width: 100%; height: 100%; .swiper-slide { .slide--image { width: 100%; height: 100%; border-radius: 20px; overflow: hidden; img { width: 100%; height: 100%; max-height:100vh; object-fit: cover; object-position: center; transition: transform 0.8s ease; } } &.swiper-slide-active { .slide--image img { //transform: scale(1.02); } } } } } } // 반응형 처리 @media (max-width: 1024px) { .swiper--banner--container { flex-direction: column; .swiper--controls--section { width: 100%; order: 2; padding: 30px 20px; } .swiper--banner--section { width: 100%; height: 400px; order: 1; } } } @media (max-width: 768px) { padding: 40px 0; .swiper--banner--container { .swiper--controls--section { padding: 20px; .text--content { .text--slider { height: 100px; // 모바일에서는 높이 조정 } .main--title { font-size: 24px; line-height: 32px; } .sub--title { font-size: 16px; line-height: 22px; } } } .swiper--banner--section { height: 300px; } } } } .title--visual { position: relative; width: 100%; overflow: hidden; padding:40px 0px; &[data-type="small"] { .title--visual--wrapper{ max-width:100%; padding:0px 96px; .title--visual--content{ h2{ color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 24px; line-height: 36px; font-stretch: 130%; @media (max-width: 1024px) { font-size: 20px; line-height: 40px; } } } } } &[data-type="middle"] { .title--visual--wrapper{ max-width:100%; padding:0px 96px; .title--visual--content{ h2{ color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 24px; line-height: 36px; font-stretch: 130%; @media (min-width: 1024px) { font-size: 28px; line-height: 40px; } @media (min-width: 1440px) { font-size: 32px; line-height: 44px; } @media (min-width: 1920px) { font-size: 36px; line-height: 52px; } } } } } // 테마별 스타일 &[data-theme="dark"] { color: rgb(252, 252, 253); .title--description { color: rgba(252, 252, 253, 0.8); } } &[data-theme="light"] { background: rgb(252, 252, 253); color: #000; .title--description { color: rgba(0, 0, 0, 0.7); } } .title--visual--wrapper { margin: 0 auto; padding: 0 60px; align-content: center; box-sizing: content-box; display: grid; grid-template-columns: 100%; padding-bottom: 0px; padding-top: 0px; @media (min-width:1920px){ margin: 0 auto; max-width:1248px; } @media (max-width: 1024px) { padding: 0 40px; } @media (max-width: 768px) { padding: 0 20px; } } .title--visual--content { margin: 0 auto; &[data-align="left"] { margin-left: 0; text-align: left; .title--main{ text-align: left; } } &[data-align="center"] { text-align: center; } &[data-align="right"] { margin-right: 0; margin-left: auto; text-align: right; .title--main{ text-align: right; } } // 애니메이션 상태 &[data-animated="true"] { opacity: 0; transform: translateY(40px); transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); &.visible { opacity: 1; transform: translateY(0); } } } .title--main { margin: 0 0 24px 0; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 36px; line-height: 52px; font-stretch: 130%; overflow-wrap: break-word; text-align: center; @media (max-width: 1920px) { font-size: 72px; line-height: 100px; } @media (max-width: 1440px) { font-size: 60px; line-height: 84px; } @media (max-width: 1024px) { font-size: 52px; line-height: 76px; } @media (max-width: 768px) { font-size: 44px; line-height: 60px; } } .sub--title{ margin: 0 0 var(--spacing-relative-md) 0; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 130%; display: flex; padding-bottom:20px; @media (min-width: 1440px) { font-size: 18px; line-height: 28px; } @media (min-width: 1920px) { font-size: 20px; line-height: 32px; } } .title--description { margin: 0; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } .title--additional { margin-top: 40px; @media (max-width: 768px) { margin-top: 32px; } } } .caution--text--wrapper{ padding:120px 96px; p{ margin: 0 0 26px 0; color: rgba(252, 252, 253, 0.7); font-family: AudiType, sans-serif; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } } //좌우 2배열 배너 .grid--banner--type2{ width: 100%; padding:0 var(--spacing-relative-3xl); @media(min-width:1024px){ padding:0 var(--spacing-relative-xl); } @media(min-width:1440px){ padding:0 var(--spacing-relative-2xl); } @media(min-width:1920px){ padding:0 var(--spacing-relative-3xl); } >ul{ width:100%; display: flex; flex-wrap: wrap; gap:16px; >li{ width:calc( (100% - 16px)/2); padding-bottom:40px; @media(max-width:720px){ width:100%; } .thumb{ border-radius: 20px; overflow: hidden; img{ width: 100%;; object-fit: cover; } } .desc--wrapper{ @media screen and (min-width: 768px) { padding-block-start: var(--spacing-relative-lg); padding-inline-end: var(--spacing-relative-xl); } @media screen and (min-width: 1920px) { padding-block-start: var(--spacing-relative-lg); padding-inline-end: var(--spacing-relative-xl); } h2{ margin: 0px; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 20px; line-height: 32px; font-stretch: 130%; @media(min-width:1440px){ font-size: 24px; line-height: 36px; } } h3{ margin: var(--spacing-relative-xs) 0 0 0; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } } } } } .row--block--wrapper{ &[data-type-row="3"]{ >div{ >ul{ > li{ width:calc( (100% - 40px) / 3); .thumb{ img{ width:100%; object-fit: cover; } } } } } } > div{ padding:0 var(--spacing-relative-3xl); >ul { display: flex; flex-wrap: wrap; gap:20px; > li{ width:calc(50% - 10px); padding-bottom:40px; .thumb{ border-radius: 20px; position: relative; height:0px; overflow: hidden; padding-top:56.25%; img{ position: absolute; height:100%; inset: 0px; } } .desc--wrap{ @media screen and (min-width: 768px) { padding-block-start: var(--spacing-relative-lg); padding-inline-end: var(--spacing-relative-xl); } @media screen and (min-width: 1920px) { padding-block-start: var(--spacing-relative-lg); padding-inline-end: var(--spacing-relative-xl); } .title{ margin: 0px; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 20px; line-height: 32px; font-stretch: 130%; @media (min-width: 1440px) { font-size: 24px; line-height: 36px; } } .captions{ margin: var(--spacing-relative-xs) 0 0 0; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } .small--text{ color: rgba(252, 252, 253, 0.7); font-size:12px; white-space: pre-line; padding-top:20px; } .captions--text{ padding-top:30px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; color: rgba(252, 252, 253, 0.7); } } } } } } // FAQ Accordion Styles .faq--accordion--wrapper { max-width: 1920px; margin: 0 auto; padding: 40px 96px; @media (max-width: 1024px) { padding: 32px 60px; } @media (max-width: 768px) { padding: 24px 40px; } @media (max-width: 375px) { padding: 20px 28px; } } .faq--accordion--container { display: flex; flex-direction: column; border-top: 1px solid rgba(101, 112, 129, 0.3); } .faq--accordion--item { border-bottom: 1px solid rgba(101, 112, 129, 0.3); } .faq--accordion--header { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 12px 0; background: transparent; border: none; cursor: pointer; transition: all 0.3s ease; &:hover { .faq--question { color: rgba(252, 252, 253, 0.8); } } &.active { background-color: rgb(64, 74, 89); color: rgba(252, 252, 253, 0.7); .faq--question { color: rgb(252, 252, 253); font-weight: 500; } .faq--toggle--icon { color: rgb(252, 252, 253); } } } .faq--question { flex: 1; text-align: left; font-size: 18px; line-height: 1.5; color: rgba(252, 252, 253, 0.7); transition: all 0.3s ease; padding-right: 24px; padding-left:20px; @media (max-width: 768px) { font-size: 16px; } } .faq--toggle--icon { font-size: 28px; font-weight: 300; color: rgba(252, 252, 253, 0.5); transition: all 0.3s ease; min-width: 32px; text-align: center; margin-right:20px; } .faq--accordion--content { overflow: hidden; animation: slideDown 0.3s ease; } .faq--answer { padding: 20px 50px 32px 20px; font-size: 16px; line-height: 1.7; color: rgba(252, 252, 253, 0.8); @media (max-width: 768px) { font-size: 14px; padding: 0 0 24px 0; } } @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } .etronms--thumb--wrap{ padding:0 var(--spacing-relative-3xl); .thumb{ overflow: hidden; border-radius: 20px; } .small--text{ margin: 0px; color: rgb(255, 255, 255); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 32px; font-stretch: 130%; } .caution--text{ margin: 0 0 var(--spacing-relative-md) 0; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } .btn--wrapper{ display: flex; align-items: center; justify-content: center; } } .etron--card{ padding:0 var(--spacing-relative-3xl); > ul{ display: flex; flex-wrap:wrap; gap:20px; li{ width:calc( (100% - 40px) / 3); .thumb{ position: relative; height: 0px; overflow: hidden; border-radius: 20px; padding-top: 56.25%; img{ position: absolute; inset: 0px; height: 100%; } } .desc--wrap{ padding-top:30px; h2{ margin: 0px; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 20px; line-height: 32px; font-stretch: 130%; @media (min-width: 1440px) { font-size: 24px; line-height: 36px; } } h3{ margin: var(--spacing-relative-xs) 0 0 0; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } } } } } /*================================================= |컴포넌트 별 css |END =================================================*/ // 로그인 폼 기본 디폴트 디자인 .admin--login { min-height: 100vh; background: #000000; display: flex; align-items: center; justify-content: center; font-family: 'AudiType', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; .login--container { width: 100%; max-width: 480px; padding: 20px; } .login--box { background: #0a0a0a; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 60px 40px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8); } .login--logo { text-align: center; margin-bottom: 50px; h1 { font-size: 48px; font-weight: 700; color: #ffffff; letter-spacing: 8px; margin: 0; font-stretch: 130%; } .subtitle { color: rgba(255, 255, 255, 0.4); font-size: 14px; text-transform: uppercase; letter-spacing: 3px; margin-top: 10px; } } .login--form { .form--group { margin-bottom: 24px; } .form--input { width: 100%; height: 52px; background: #000000; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 8px; padding: 0 20px; font-size: 15px; color: #ffffff; transition: all 0.3s ease; &::placeholder { color: rgba(255, 255, 255, 0.6); } &:focus { outline: none; border-color: rgba(255, 255, 255, 0.4); background: rgba(255, 255, 255, 0.02); } &:hover { border-color: rgba(255, 255, 255, 0.25); } } .form--options { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; .checkbox--label { display: flex; align-items: center; cursor: pointer; color: rgba(255, 255, 255, 0.6); font-size: 14px; input[type="checkbox"] { width: 18px; height: 18px; margin-right: 10px; background: #000000; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 4px; cursor: pointer; accent-color: #ffffff; } &:hover { color: rgba(255, 255, 255, 0.8); } } .forgot--password { color: rgba(255, 255, 255, 0.6); font-size: 14px; text-decoration: none; transition: color 0.3s ease; &:hover { color: #ffffff; } } } .login--button { width: 100%; height: 52px; background: #ffffff; color: #000000; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; letter-spacing: 1px; cursor: pointer; transition: all 0.3s ease; &:hover { background: rgba(255, 255, 255, 0.9); transform: translateY(-2px); box-shadow: 0 10px 30px rgba(255, 255, 255, 0.2); } &:active { transform: translateY(0); } } } .login--footer { text-align: center; margin-top: 40px; p { color: rgba(255, 255, 255, 0.3); font-size: 12px; letter-spacing: 0.5px; } } } //자세히 보기 .more--detail--href{ display: inline-flex; align-items: center; position: relative; letter-spacing: 0px; font-weight: 400; font-size: 14px; min-height:24px; &:after{ content:''; display: block; width:calc(100% - 24px); height:1px; background: rgb(252, 252, 253); position: absolute; bottom:0px; left:0px; } .ico{ width: 24px; height: 24px; background-image: url(/img/ico--arrow.svg); } } //탭 링크 .text--tab--layout{ display: flex; background: linear-gradient(134deg, rgb(44, 52, 63) 0%, rgb(35, 42, 52) 100%); position: sticky; top: 0; z-index: 100; @media(min-width:1440px){ display: grid; grid-auto-flow: column; grid-template-columns: max-content 1fr auto; gap: 28px; width: 100%; box-sizing: border-box; overflow: hidden; } @media(min-width:1025px){ padding-block:12px; } ul{ display: flex; position: relative; padding-inline:96px; -webkit-box-align: center; align-items: center; -webkit-box-pack: justify; justify-content: space-between; li { &.anch--location{ a{ margin-left:-12px; pointer-events: inherit!important; } } &:first-child{ &.link--force{ a{ pointer-events: inherit!important; } } a{ margin-left:-12px; pointer-events: none; } } a{ cursor: pointer; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; text-decoration: none; border-radius: 10px; background: rgba(44, 52, 63, 0); box-shadow: rgba(219, 223, 230, 0) 0px 0px 0px 1px inset; outline-offset: -3px; box-sizing: border-box; transition-timing-function: cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; transition-property: color, background, box-shadow; min-height: 48px; min-width: 64px; color: rgba(252, 252, 253, 0.7); padding: 0px 16px; text-align: center; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 14px; line-height: 20px; font-stretch: 105%; &.actv, &:hover{ color:rgb(252,252,253)!important; background-color: rgb(44,52,63)!important; box-shadow: rgba(219, 223,230, .2) 0px 0px 0px 1px inset!important; } } } } } .inner--link--contents { width: 100%; padding: 40px 0; ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 24px; width: 100%; padding:0 96px; li { width:calc( (100% - 48px) / 3); --gradient-start: hsla(216, 20%, 17%, 1); --gradient-end: hsla(216, 21%, 12%, 1); transition-timing-function: cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; transition-property: --gradient-start, --gradient-end, box-shadow; padding:28px 16px; overflow: hidden; border-radius: 20px; border: none; cursor: pointer; box-shadow: rgb(44, 52, 63) 0px 0px 0px 1px inset; backdrop-filter: blur(40px); background: linear-gradient(180deg, var(--gradient-start) 0%, var(--gradient-end) 100%); display: flex; text-decoration: none; &:hover{ --gradient-start: hsla(216, 18%, 21%, 1); --gradient-end: hsla(216, 18%, 21%, 1); box-shadow: rgb(42,57,64) 0px 0px 0px 1px inset; } a { display: inline-flex; align-items: center; color: rgba(252, 252, 253, 0.7);; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 24px; font-stretch: 105%; padding-left:40px; position: relative; width:100%; >span{ position: absolute; top:50%; left:0px; transform: translateY(-50%); } > svg{ position: absolute; top:50%; transform: translateY(-50%); right:0px; } } } } } .product--card--wrapper{ margin: auto; max-width: var(--max-content-width); padding: var(--spacing-relative-xl) var(--spacing-relative-md); padding-inline: var(--page-margin); padding-block-end: var(--spacing-relative-2xl); @media (min-width: 375px) { padding-inline: var(--page-margin); } @media (min-width: 768px) { padding-inline: var(--page-margin); } @media (min-width: 1024px) { padding-inline: var(--spacing-relative-3xl); padding-block-end: var(--spacing-relative-2xl); } @media (min-width: 1440px) { padding-inline: var(--page-margin); padding-block-end: var(--spacing-relative-2xl); } &[data-type="square"] { max-height:100%!important; .product--card{ max-height:100%!important; .product--card--thumb{ max-height: 100%!important; padding-top:50%; .product--card--thumb--inner{ position: absolute; inset: 0px; height: 100%; img{ position: relative; } } } } } .product--card { display: flex; overflow: hidden; max-height: 50vh; // 가로 레이아웃 &[data-layout="horizontal"] { flex-direction: row; align-items: center; .product--card--thumb { flex: 0 0 40%; max-width: 600px; } .product--card--content { flex: 1; } // 이미지 오른쪽 배치 &[data-image-position="right"] { flex-direction: row-reverse; } @media (max-width: 1024px) { flex-direction: column; .product--card--thumb { flex: 1; max-width: 100%; } .product--card--content { padding-left: 0; padding-right: 0; padding-top: 20px; } // 모바일에서는 이미지 위치 상관없이 세로 배치 &[data-image-position="right"] { flex-direction: column; .product--card--content { padding-right: 0; padding-top: 20px; } } } } // 세로 레이아웃 &[data-layout="vertical"] { flex-direction: column; max-width: 600px; .product--card--thumb { width: 100%; } .product--card--content { padding-top: 24px; } } .product--card--thumb { background: rgba(255, 255, 255, 0.05); min-width:50%; position: relative; max-height: 50vh; border-radius: 20px; position: relative; overflow: hidden; .product--card--thumb--inner{ height:100%; min-height:50vh; img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; position: absolute; height: 100%; } &:hover img { transform: scale(1.05); } } } .product--card--content { display: flex; flex-direction: column; gap: 16px; @media screen and (min-width: 320px) { padding-block-start: var(--spacing-relative-lg); } @media screen and (min-width: 1024px) { -webkit-box-pack: center; justify-content: center; align-items: flex-start; padding-inline-start: var(--spacing-relative-2xl); padding-inline-end: var(--spacing-relative-2xl); padding-block-start: 0px; } } .product--card--title { margin: 0px; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 24px; line-height: 36px; font-stretch: 130%; @media (min-width: 1024px) { font-size: 28px; line-height: 40px; } @media (min-width: 1440px) { font-size: 32px; line-height: 44px; } @media (min-width: 1920px) { font-size: 36px; line-height: 52px; } } .product--card--smalltitle { margin: 0px; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 20px; line-height: 32px; font-stretch: 130%; @media (min-width: 1440px) { font-size: 24px; line-height: 36px; } } .product--card--subtitle { margin: 0; color: rgba(252, 252, 253, 0.8); font-size: 16px; line-height: 24px; } .product--card--description { margin-top: 8px; p { margin: 0px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; } } .product--card--small--description{ margin-top:20px; p { margin: 0px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 20px; font-stretch: 105%; } } .product--card--actions { margin-top: 24px; display: flex; gap: 16px; flex-wrap: wrap; } @media (max-width: 768px) { padding: 24px; gap: 24px; } } } .radius--img--wrap{ overflow: hidden; border-radius: 20px; } // 딜러 검색 드롭다운 스타일 .dealer--search--section { width: 100%; max-width: 1920px; margin: 0 auto; padding: 80px 96px; background-color: hsla(216, 23%, 8%, 1); } .dealer--search--container { display: flex; flex-direction: column; gap: 48px; border-top: 1px solid rgba(252, 252, 253, 0.15); } .dealer--category--wrap { display: flex; flex-direction: column; } .dealer--category--title { font-size: 28px; font-weight: 600; margin: 0 0 24px 0; color: rgb(252, 252, 253); padding-bottom: 16px; border-bottom: 2px solid rgba(252, 252, 253, 0.3); } .dealer--region--item { border-bottom: 1px solid rgba(252, 252, 253, 0.15); } .dealer--region--header { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; background-color: transparent; border: none; color: rgb(252, 252, 253); cursor: pointer; transition: all 0.3s ease; &:hover { background-color: rgba(252, 252, 253, 0.05); } &.active { background-color: rgba(252, 252, 253, 0.08); } } .dealer--region--name { font-size: 18px; font-weight: 500; } .dealer--toggle--icon { font-size: 28px; line-height: 1; transition: transform 0.3s ease; } .dealer--list--content { padding: 0 24px 24px; animation: slideDown 0.3s ease; } @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } .dealer--list { list-style: none; padding: 0; padding-left:10px; margin: 0; display: flex; flex-direction: column; gap: 0px; li { margin: 0; position: relative; &:before{ content:'>'; font-size:12px; margin-right:10px; } a{ text-decoration: underline; } } } .dealer--link { display: inline-block; color: rgba(252, 252, 253, 0.7); text-decoration: none; font-size: 16px; transition: all 0.2s ease; padding: 8px 0; &:hover { color: rgb(252, 252, 253); text-decoration: underline; } } // 반응형 처리 @media (max-width: 1024px) { .dealer--search--section { padding: 60px 48px; } .dealer--search--container { gap: 40px; } .dealer--category--title { font-size: 24px; margin-bottom: 20px; padding-bottom: 12px; } .dealer--region--header { padding: 16px 20px; } .dealer--region--name { font-size: 16px; } .dealer--list--content { padding: 0 20px 20px; } .dealer--list { gap: 6px; } } @media (max-width: 768px) { .dealer--search--section { padding: 40px 24px; } .dealer--search--container { gap: 32px; } .dealer--category--title { font-size: 20px; margin-bottom: 16px; padding-bottom: 10px; } .dealer--region--header { padding: 14px 16px; } .dealer--region--name { font-size: 15px; } .dealer--toggle--icon { font-size: 24px; } .dealer--list--content { padding: 0 16px 16px; } .dealer--list { gap: 6px; } .dealer--link { font-size: 14px; padding: 6px 0; } } // 딜러 검색 페이지 스타일 .dealer--search--section{ padding: 64px 96px; .dealer--search--container{ margin: 0 auto; } .dealer--category--wrap{ display: flex; flex-direction: column; //gap: 16px; } .dealer--region--item{ border-bottom: 1px solid rgba(252, 252, 253, 0.1); } .dealer--region--header{ width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 24px 0; background: transparent; border: none; color: #fcfcfd; font-size: 24px; font-family: 'AudiType'; font-weight: 400; transition: all 0.3s; &:hover{ color: rgba(252, 252, 253, 0.7); } &.active{ color: #fcfcfd; } } .dealer--region--name{ font-size: 24px; } .dealer--toggle--icon{ font-size: 32px; line-height: 1; font-weight: 300; } .dealer--list--content{ padding-bottom: 24px; } .dealer--list{ display: flex; flex-direction: column; gap: 16px; >li{ list-style: none; } } .dealer--link{ display: inline-block; color: rgba(252, 252, 253, 0.7); font-size: 16px; text-decoration: underline; text-underline-offset: 4px; transition: all 0.3s; background: transparent; border: none; font-family: 'AudiType'; font-weight: 400; padding: 0; cursor: pointer; &:hover{ color: #fcfcfd; } } } // 딜러 팝업 스타일 .dealer--popup--overlay{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(2, 2, 3, 0.85); display: flex; justify-content: center; align-items: center; z-index: 9999; padding: 20px; } .dealer--popup--container{ position: relative; background-color: #1a1d23; border-radius: 20px; max-width: 1024px; width: 100%; max-height: 90vh; overflow-y: auto; box-shadow: 0 24px 48px rgba(0, 0, 0, 0.4); &::-webkit-scrollbar{ width: 8px; } &::-webkit-scrollbar-track{ background: transparent; } &::-webkit-scrollbar-thumb{ background: rgba(252, 252, 253, 0.2); border-radius: 4px; &:hover{ background: rgba(252, 252, 253, 0.3); } } @media (min-width: 320px) { padding: 16px; } @media (min-width: 375px) { padding: 28px; } @media (min-width: 768px) { padding: 48px; } @media (min-width: 1024px) { padding: 56px; } @media (min-width: 1440px) { padding: 64px; } } .dealer--popup--close{ position: absolute; top: 24px; right: 24px; width: 40px; height: 40px; background: transparent; border: none; cursor: pointer; z-index: 1; display: flex; justify-content: center; align-items: center; border-radius: 50%; transition: all 0.3s; &:hover{ background-color: rgba(252, 252, 253, 0.1); } .close--icon{ width: 24px; height: 24px; position: relative; &::before, &::after{ content: ''; position: absolute; top: 50%; left: 50%; width: 20px; height: 2px; background-color: #fcfcfd; } &::before{ transform: translate(-50%, -50%) rotate(45deg); } &::after{ transform: translate(-50%, -50%) rotate(-45deg); } } } .dealer--popup--content{ margin: auto; max-width: var(--max-content-width); display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr; grid-template-areas:"media" "textarea"; padding: var(--spacing-relative-xl) var(--spacing-relative-md); @media (min-width: 1024px) { grid-template-columns: 1fr 1fr; grid-template-areas: "media textarea"; } @media (min-width: 1440px) { grid-template-columns: 1fr 1fr; grid-template-areas: "media textarea"; } .dealer--thumb--wrap{ border-radius: 20px; overflow: hidden; } .dealer--infos--wrap{ grid-area: textarea; align-self: center; @media screen and (min-width: 320px) { padding-block-start: var(--spacing-relative-lg); } @media screen and (min-width: 1024px) { display: flex; flex-direction: column; -webkit-box-pack: center; justify-content: center; align-items: flex-start; padding-inline-start: var(--spacing-relative-2xl); padding-inline-end: var(--spacing-relative-2xl); padding-block-start: 0px; } } } .dealer--popup--header{ .dealer--name{ margin: 0px; color: rgb(252, 252, 253); font-family: AudiType, sans-serif; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 24px; line-height: 36px; font-stretch: 130%; @media (min-width: 1024px) { font-size: 28px; line-height: 40px; } @media (min-width: 1440px) { font-size: 32px; line-height: 44px; } @media (min-width: 1920px) { font-size: 36px; line-height: 52px; } } .dealer--type{ display: inline-block; font-size: 14px; color: rgba(252, 252, 253, 0.7); padding: 4px 12px; background-color: rgba(252, 252, 253, 0.1); border-radius: 100px; } } .dealer--popup--body{ display: flex; flex-direction: column; gap: 8px; padding-top:8px; } .dealer--info--section{ display: flex; flex-direction: column; gap: 8px; .info--label{ margin: 0px; color: rgba(252, 252, 253, 0.7); font-family: AudiType, sans-serif; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; a{ word-break: break-all; } } .phone--link, .email--link, .website--link{ color: #fcfcfd; text-decoration: underline; text-underline-offset: 4px; transition: all 0.3s; &:hover{ color: rgba(252, 252, 253, 0.7); } } .business--hours--item{ line-height: 1.8; } } .dealer--popup--footer{ margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(252, 252, 253, 0.1); display: flex; justify-content: center; } .dealer--popup--empty{ padding: 80px 48px; text-align: center; >p{ font-size: 16px; color: rgba(252, 252, 253, 0.7); } } // 팝업 페이드 애니메이션 .dealer--popup--fade-enter-active, .dealer--popup--fade-leave-active{ transition: opacity 0.3s ease; .dealer--popup--container{ transition: transform 0.3s ease, opacity 0.3s ease; } } .dealer--popup--fade-enter-from, .dealer--popup--fade-leave-to{ opacity: 0; .dealer--popup--container{ transform: scale(0.95); opacity: 0; } } .dealer--popup--fade-enter-to, .dealer--popup--fade-leave-from{ opacity: 1; .dealer--popup--container{ transform: scale(1); opacity: 1; } } /*================================================= |버튼 리스트 css |START =================================================*/ .light--gray--btn{ border: 0px; flex-direction: column; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; transition-timing-function:cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; border-radius: 999px; cursor: pointer; display: inline-flex; box-sizing: border-box; text-align: center; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 16px; font-stretch: 105%; padding: 8px 16px; min-height: 36px; background: rgb(101, 112, 129); color: rgb(252, 252, 253); box-shadow: rgba(101, 112, 129, 0) 0px 0px 0px 1px inset; &:hover{ color:rgb(252,252,253); background-color: rgb(44,52,63); box-shadow: rgba(219, 223,230, .2) 0px 0px 0px 1px inset; } } .default--round--btn { flex-direction: column; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; transition-timing-function: cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; border-radius: 999px; cursor: pointer; display: inline-flex; border: 0px; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 14px; line-height: 20px; font-stretch: 105%; padding: 12px 24px; min-height: 48px; background-color: rgb(24, 29, 37); color: rgb(252, 252, 253); box-shadow: rgb(44, 52, 63) 0px 0px 0px 1px inset; transition-property: color, box-shadow, background-color; &.reverse{ background: rgba(44,52,63); box-shadow: rgba(219,223,230, .2) 0px 0px 0px 1px inset; &:hover { background-color: rgb(24, 29, 37); color: rgb(252, 252, 253); box-shadow: rgb(44, 52, 63) 0px 0px 0px 1px inset; } } &:hover { background: rgba(44,52,63); box-shadow: rgba(219,223,230, .2) 0px 0px 0px 1px inset; } &:active { transform: translateY(0); } } /*================================================= |버튼 리스트 css |end =================================================*/ /*================================================= |모델 리스트 css |start =================================================*/ .models--page{ .type--carousel{ padding:40px 0px; .models--filter--section{ box-sizing: border-box; padding: 0 var(--page-margin); position: sticky; top: 0px; z-index: 85; .filter--group{ .filter--dropdown--list{ >h2{ margin: 0 0 var(--spacing-relative-2xs) 0; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 20px; font-stretch: 105%; padding-bottom:12px; } .filter--dropdown{ display: flex; gap:10px; flex-wrap:wrap; margin-bottom:30px; button{ border-radius: 10px; box-sizing: border-box; display: inline-flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; gap: 8px; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 14px; line-height: 20px; font-stretch: 105%; padding: 4px 12px; transition-timing-function: cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; transition-property: background-color, box-shadow, color; min-height: 36px; cursor: pointer; background-color: rgb(24, 29, 37); color: rgb(252, 252, 253); box-shadow: rgb(44, 52, 63) 0px 0px 0px 1px inset; &.active{ background-color: rgb(64, 74, 89); color: rgb(252, 252, 253); box-shadow: rgba(219, 223, 230, 0.2) 0px 0px 0px 1px inset; } } } } } } .models--list--wrap{ .all--models--wrap{ padding: 0px var(--page-margin); display: flex; align-items: center; justify-content: space-between; margin: 0 0 var(--spacing-relative-2xs) 0; .all--models{ color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 20px; font-stretch: 105%; padding-bottom:12px; } .nav--btn--wrap{ display: flex; align-items: center; gap:20px; button{ &.nav--prev--btn{ transform: rotate(180deg); } &.swiper-button-disabled{ opacity: .2; cursor: not-allowed; } } } } .models--list{ width:100%; display: flex; flex-wrap:wrap; gap:10px; > .swiper{ width:100%; padding: 0 0 0 var(--page-margin); } .model--item{ --gradient-start: hsla(216, 20%, 17%, 1); --gradient-end: hsla(216, 21%, 12%, 1); transition-timing-function: cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; transition-property: --gradient-start, --gradient-end, box-shadow; padding: 16px; overflow: hidden; border-radius: 20px; border: none; cursor: pointer; box-shadow: rgb(44, 52, 63) 0px 0px 0px 1px inset; backdrop-filter: blur(40px); background: linear-gradient(180deg, var(--gradient-start) 0%, var(--gradient-end) 100%); text-align: left; max-width:220px; &.active{ --gradient-start: hsla(216, 16%, 30%, 1); --gradient-end: hsla(216, 16%, 30%, 1); transition-timing-function: cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; transition-property: --gradient-start, --gradient-end, box-shadow; padding: 16px; overflow: hidden; border-radius: 20px; border: none; cursor: pointer; box-shadow: rgba(219, 223, 230, 0.2) 0px 0px 0px 1px inset; backdrop-filter: blur(40px); background: linear-gradient(180deg, var(--gradient-start) 0%, var(--gradient-end) 100%); text-align: left; .model--info--wrap{ .ico{ transform: rotate(-90deg); } } } .model--name{ position: relative; margin: 0px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; letter-spacing: -1px; display: flex; align-items: center; justify-content: space-between; .etron--wrap{ min-height:28px; .etron{ margin: 0px; border-radius: 10px; box-sizing: border-box; display: inline-flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; gap: 8px; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 16px; font-stretch: 105%; padding: 4px 12px; transition-timing-function:cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; transition-property: background-color, box-shadow, color; min-height: 28px; background-color: rgba(154, 163, 177, 0.1); color: rgb(252, 252, 253); box-shadow: rgba(128, 128, 128, 0) 0px 0px 0px 1px inset; } } } .model--image--wrap{ display: block; aspect-ratio: 7 / 3; overflow: hidden; padding: 0px; margin-bottom:20px; img{ width: 100%; height: 100%; object-fit: cover; } } .model--info--wrap{ margin: 0px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 20px; font-stretch: 105%; display: flex; align-items: center; justify-content: space-between; .ico{ width: 24px; height: 24px; background-image: url(/img/ico--arrow.svg); transform: rotate(90deg); } } } } .models--list--car{ height: 0px; overflow: hidden; padding: 0px; z-index: 1; &.active{ height: 488px; overflow: hidden; padding: 28px var(--page-margin); z-index: 1; } @media (min-width: 768px) { transition-property: height; transition-duration: 0.2s; transition-timing-function: ease-in-out; } .car--list{ .car--item{ max-width: 332px; min-width: 285px; } } } } } .models--container{ position: relative; background-color: rgb(16, 19, 25); @media (min-width: 1024px) { display: grid; grid-template-columns: 1fr 3fr; } .models--filter--section{ box-sizing: border-box; padding: 0 var(--page-margin); position: sticky; top: 0px; z-index: 85; background-color: rgb(44, 52, 63); @media (min-width: 1024px) { background-color: transparent; height: calc(100vh); min-width: 320px; padding: var(--spacing-relative-2xl) 0 var(--spacing-relative-2xl) var(--page-margin); overflow-y: auto; z-index: auto; } @media (min-width: 1280px) { min-width: 388px; } @media (min-width: 1440px) { min-width: auto; } .filter--group{ .filter--dropdown--list{ >h2{ margin: 0 0 var(--spacing-relative-2xs) 0; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 20px; font-stretch: 105%; padding-bottom:12px; } .filter--dropdown{ display: flex; gap:10px; flex-wrap:wrap; margin-bottom:30px; button{ border-radius: 10px; box-sizing: border-box; display: inline-flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; gap: 8px; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 14px; line-height: 20px; font-stretch: 105%; padding: 4px 12px; transition-timing-function: cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; transition-property: background-color, box-shadow, color; min-height: 36px; cursor: pointer; background-color: rgb(24, 29, 37); color: rgb(252, 252, 253); box-shadow: rgb(44, 52, 63) 0px 0px 0px 1px inset; &.active{ background-color: rgb(64, 74, 89); color: rgb(252, 252, 253); box-shadow: rgba(219, 223, 230, 0.2) 0px 0px 0px 1px inset; } } } } } } .models--list--wrap{ @media (min-width: 1024px) { padding: var(--spacing-relative-2xl) var(--page-margin) var(--spacing-relative-2xl) 0; } .all--models{ margin: 0 0 var(--spacing-relative-2xs) 0; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 20px; font-stretch: 105%; padding-bottom:12px; } .models--list{ width:100%; display: flex; flex-wrap:wrap; gap:20px; .model--item{ --gradient-start: hsla(216, 20%, 17%, 1); --gradient-end: hsla(216, 21%, 12%, 1); transition-timing-function: cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; transition-property: --gradient-start, --gradient-end, box-shadow; padding: 16px; overflow: hidden; border-radius: 20px; border: none; cursor: pointer; box-shadow: rgb(44, 52, 63) 0px 0px 0px 1px inset; backdrop-filter: blur(40px); background: linear-gradient(180deg, var(--gradient-start) 0%, var(--gradient-end) 100%); text-align: left; max-width:calc( (100% - 60px) / 4); .model--name{ position: relative; margin: 0px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 105%; display: flex; align-items: center; justify-content: space-between; .etron--wrap{ min-height:28px; .etron{ margin: 0px; border-radius: 10px; box-sizing: border-box; display: inline-flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; gap: 8px; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 16px; font-stretch: 105%; padding: 4px 12px; transition-timing-function:cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; transition-property: background-color, box-shadow, color; min-height: 28px; background-color: rgba(154, 163, 177, 0.1); color: rgb(252, 252, 253); box-shadow: rgba(128, 128, 128, 0) 0px 0px 0px 1px inset; } } } .model--image--wrap{ display: block; aspect-ratio: 7 / 3; overflow: hidden; padding: 0px; margin-bottom:20px; img{ width: 100%; height: 100%; object-fit: cover; } } .model--info--wrap{ margin: 0px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 20px; font-stretch: 105%; display: flex; align-items: center; justify-content: space-between; .ico{ width: 24px; height: 24px; background-image: url(/img/ico--arrow.svg); } } } } } } .models--list--car{ .all--car--title{ margin: 0px; color: rgba(252, 252, 253, 0.7); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 20px; font-stretch: 105%; padding-bottom:12px; margin: 0 0 var(--spacing-relative-2xs) 0; } .car--list{ display: flex; flex-wrap: wrap; gap:20px; .car--item{ width:calc( (100% - 40px) / 3 ); overflow: hidden; height: calc(100% - var(--spacing-relative-lg)); background-color: rgba(154, 163, 177, 0.1); border-radius: 20px; padding-top:24px; padding-bottom:24px; .car--image{ img{ width:100%; } } .car--info{ padding-top:24px; padding-left: 24px; padding-right: 24px; .car--link{ margin: 0px 0px 12px; margin-top:24px; border: 0px; flex-direction: column; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; transition-timing-function: cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; border-radius: 999px; cursor: pointer; display: inline-flex; box-sizing: border-box; text-align: center; font-family: AudiType, sans-serif; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 14px; line-height: 20px; font-stretch: 105%; padding: 12px 24px; min-height: 48px; width: 100%; background: rgb(101, 112, 129); color: rgb(252, 252, 253); box-shadow: rgba(101, 112, 129, 0) 0px 0px 0px 1px inset; transition-property: color, background, box-shadow; } .car--name{ margin: 0px; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 700; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 130%; min-height:64px; @media (min-width: 1440px) { font-size: 18px; line-height: 28px; } @media (min-width: 1920px) { font-size: 20px; line-height: 32px; } } } .bedge--wrap{ display: flex; padding-left: 24px; padding-right: 24px; gap: var(--spacing-relative-2xs); min-height:28px; .etron{ margin: 0px; border-radius: 10px; box-sizing: border-box; display: inline-flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; gap: 8px; letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 12px; line-height: 16px; font-stretch: 105%; padding: 4px 12px; transition-timing-function: cubic-bezier(0.75, 0.02, 0.5, 1); transition-duration: 250ms; transition-property: background-color, box-shadow, color; min-height: 28px; background-color: rgba(154, 163, 177, 0.1); color: rgb(252, 252, 253); box-shadow: rgba(128, 128, 128, 0) 0px 0px 0px 1px inset; letter-spacing: -1px; } } } } } } header{ width: 100%; .header--wrap{ background-color: #020203; max-width: 1920px; width: 100%; margin: 0 auto; height: 72px; padding: 0 96px; display: flex; align-items: center; .header--logo--wrap{ margin-right: 40px; a{ strong{ clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute; width: 1px; } } } } .header--menu--wrap{ display: flex; gap: 24px; >a{ color: #fcfcfdb2; &:hover{ color: hsla(216, 33%, 99%, 1); } } } .header--search--wrap{ margin-left: auto; .search--btn{ border-radius: 50%; padding: 0; background-image: url(/img/ico--search.svg); background-repeat: no-repeat; background-position: center; background-color: transparent; width: 48px; height: 48px; } } } footer{ width: 100%; //--one-footer-color-black: hsla(216, 26%, 1%, 1); --one-footer-color-white: hsla(216, 33%, 99%, 1); --one-footer-neutral-5: hsla(216, 26%, 1%, 0.6); --one-footer-neutral-10: hsla(216, 17%, 26%, 1); --one-footer-neutral-20: hsla(216, 14%, 35%, 1); --one-footer-neutral-70: hsla(216, 33%, 99%, 0.6); --one-footer-side-spacing: 16px; --one-footer-space-xs: var(--spacing-relative-xs); --one-footer-space-s: var(--spacing-relative-sm); --one-footer-space-m: var(--spacing-relative-md); --one-footer-space-l: var(--spacing-relative-lg); --one-footer-space-xl: var(--spacing-relative-xl); --one-footer-space-xxl: var(--spacing-relative-2xl); --one-footer-space-xxxl: var(--spacing-relative-3xl); background: var(--one-footer-color-black); box-sizing: border-box; color: var(--one-footer-color-white); @media (min-width: 375px) { --one-footer-side-spacing: 28px; } @media (min-width: 768px) { --one-footer-side-spacing: 40px; } @media (min-width: 1024px) { --one-footer-side-spacing: 60px; } .footer--wrap{ background-color: #020203; max-width: 1920px; width: 100%; margin: 0 auto; padding: 40px 96px; display: flex; flex-direction: column; .footer--site--map{ width:100%; >ul{ display: block; list-style: none; margin: 0 0 var(--one-footer-space-xxl) calc(-1 * var(--one-footer-side-spacing)); padding: 0px; width: calc(100% + 2 * var(--one-footer-side-spacing)); @media (min-width: 768px) { display: flex; flex-flow: wrap; margin: 28px auto; width: 100%; } >li{ margin-bottom: -1px; @media (min-width: 768px) { margin: 0px 24px 40px 0px; width: calc(33% - var(--one-footer-space-xl) * 2 / 3); &:first-of-type { margin-top: 0px; } } >ul{ >li{ padding: 0 var(--one-footer-side-spacing); @media (min-width: 768px) { padding: 0 0 var(--one-footer-space-s); } } } @media (min-width: 1440px) { margin: 0px 24px 0px 0px; width: calc(20% - var(--one-footer-space-xl) * 4 / 5); } >h2{ color: var(--one-footer-color-white); display: flex; flex-flow: row; -webkit-box-pack: justify; justify-content: space-between; padding: var(--one-footer-space-m) 0; width: 100%; margin: 0px; color: rgb(252, 252, 253); letter-spacing: 0px; font-weight: 400; text-decoration: none; font-size: 16px; line-height: 24px; font-stretch: 130%; margin-bottom: 24px; @media (min-width: 768px) { padding: 0px; width: auto; } @media (min-width: 1440px) { font-size: 18px; line-height: 28px; } @media (min-width: 1920px) { font-size: 20px; line-height: 32px; } } } } } } }