/* COMMON */
body {
  /* 333333 = 333 */
  color: #333;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  font-family: "Nanum Gothic", sans-serif;
  /* height: 3000px; */
}
img {
  display: block;
}
a {
  text-decoration: none;
}
.inner {
  width: 1100px;
  margin: 0 auto;
  position: relative;
}

/*BUTTON*/
.btn {
  width: 130px;
  padding: 10px;
  border: 2px solid #333;
  border-radius: 4px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box; /* 패딩, 보더 들어간만큼 요소 커지지 않도록 */
  /* a태그나 span태그에 버튼클래스를 부여했을때 정상적으로 나오게 */
  display: block;
  transition: 0.4s;
}
.btn:hover {
  background-color: #333;
  color: #fff;
}
.btn.btn--reverse {
  /* reverse상태일때. 20점, 위에는10점 상태를 정의하면 덮어써짐.*/
  background-color: #333;
  color: #fff;
}
.btn.btn--reverse:hover {
  background-color: transparent;
  color: #333;
}
.btn.btn--brown {
  border-color: #592b18;
  color: #592b18;
}
.btn.btn--brown:hover {
  background-color: #592b18;
  color: #fff;
}
.btn.btn--gold {
  border-color: #d9aa8a;
  color: #d9aa8a;
}
.btn.btn--gold:hover {
  background-color: #d9aa8a;
  color: #fff;
}
.btn.btn--white {
  border-color: #fff;
  color: #fff;
}
.btn.btn--white:hover {
  background-color: #fff;
  color: #333;
}
.back-to-position {
  opacity: 0; /* 완전투명 */
  transition: 1s;
}
.back-to-position.to-right {
  /* 왼->오 원래상태로 돌아오는 것을 전제. */
  transform: translateX(-150px); /* x축(수평)으로 -150px으로이동 */
}
.back-to-position.to-left {
  /* 오->왼 */
  /* 원래 위치보다 오른쪽에 있을테니 원래상태로 돌아온다면 오른쪽에서 왼쪽으로 이동하는 것 처럼 보임 */
  transform: translateX(150px);
}
.show .back-to-position {
  /* show의 후손이면 보이고 원래 위치로 돌아와 */
  opacity: 1; /* 불투명 보여지게 */
  transform: translateX(0);
}
.show .back-to-position.delay-0 {
  transition-delay: 0s; /* 명시적 */
}
.show .back-to-position.delay-1 {
  transition-delay: 0.3s;
}
.show .back-to-position.delay-2 {
  transition-delay: 0.6s;
}
.show .back-to-position.delay-3 {
  transition-delay: 0.9s;
}

/* HEADER */
header {
  /* fixed와 앱솔루트는 최소한으로 줄어드려고 하기 때문에 추가 */
  width: 100%;
  /* position: relative; */
  background-color: #f6f5f0;
  border-bottom: 1px solid #c8c8c8;
  position: fixed;
  top: 0;
  /* 맨 위로 올라온다, 큰값 */
  z-index: 9;
}
/* header .inner { common에 inner을 추가하면서 바로 자식의 inner만 적용되게 `>` 변경(아래) */
header > .inner {
  /* margin 0과 auto를 통해 가운데 정렬 */
  /* width: 1100px; /common의 inner와 중복 제거 */
  height: 120px;
  /* margin: 0 auto; /common의 inner와 중복 제거 */
  /* background-color: orange; */
  /* position: relative; /common의 inner와 중복 제거 */
}
header .logo {
  height: 75px;
  position: absolute;
  top: 0;
  bottom: 0;
  /* 왼쪽에 있긴 하지만 왼쪽에 붙어있다 명시. */
  left: 0;
  margin: auto;
  /* 임시로 사라지게. */
  /* display: none; */
}
header .sub-menu {
  position: absolute;
  /* 오른쪽에 붙여주자 */
  top: 10px;
  right: 0;
  display: flex;
}
header .sub-menu ul.menu {
  font-family: Arial, sans-serif;
  display: flex;
}
header .sub-menu ul.menu li {
  position: relative;
}
/* 구분선 만들기 */
header .sub-menu ul.menu li::before {
  content: "";
  /* display: block;  -> position absolute, fixed display가 자동으로 block으로 바뀐다. */
  width: 1px;
  height: 12px;
  background-color: #e5e5e5;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
header .sub-menu ul.menu li:first-child::before {
  /* 첫번째 자식 값 없게 */
  display: none;
}
header .sub-menu ul.menu li a {
  /* background-color: red; */
  font-size: 12px;
  padding: 11px 16px;
  display: block;
  color: #656565;
}
header .sub-menu ul.menu li a:hover {
  color: #000;
}
header .sub-menu .search {
  /* background-color: red; */
  height: 34px;
  position: relative;
}
header .sub-menu .search input {
  width: 36px;
  height: 34px;
  padding: 4px 10px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  border-radius: 5px;
  outline: none;
  background-color: #fff;
  color: #777;
  font-size: 12px;
  transition: width 0.4s;
}
header .sub-menu .search input:focus {
  width: 190px;
  border-color: #669900;
}
header .sub-menu .search .material-icons {
  height: 24px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5px;
  margin: auto;
  /* 자연스럽게 */
  transition: 0.4s;
}
/* .search.focused < 는 일치선택자이어야 함. focused는 붙고 빠지니까..  */
header .sub-menu .search.focused .material-icons {
  opacity: 0;
}
header .main-menu {
  position: absolute;
  bottom: 0;
  right: 0;
  /* 배지 영역이 잘 가려질수 있도록 쌓임순서 정해줌. */
  z-index: 1;
  /* 수평 */
  display: flex;
}
header .main-menu .item {
}
header .main-menu .item .item__name {
  padding: 10px 20px 34px 20px;
  font-family: Arial, sans-serif;
  font-size: 13px;
}
header .main-menu .item:hover .item__name {
  background-color: #2c2a29;
  color: #669900;
  border-radius: 6px 6px 0 0;
}
header .main-menu .item .item__contents {
  /* top이나 bottom 속성을 사용하지 않아 수직 위치 값이 없다면, 요소의 원래 위치를 그대로 사용.
  만약 position: absolute;를 사용했다면, (위치상) 부모 요소를 기준으로 하므로 화면의 뷰포트 좌우 끝까지 늘어날 수 없게 됩니다. */
  width: 100%;
  position: fixed;
  left: 0;
  display: none;
}
header .main-menu .item:hover .item__contents {
  display: block;
}
header .main-menu .item .item__contents .contents__menu {
  background-color: #2c2a29;
  /* height: 200px; 컨텐츠 메뉴안에 컨텐츠를 넣었으니 삭제, 내용만큼 높이를 차지하도록 만듬 */
}
header .main-menu .item .item__contents .contents__menu > ul {
  /* 수평정렬  */
  display: flex;
  padding: 20px 0;
}
header .main-menu .item .item__contents .contents__menu > ul > li {
  width: 220px;
}
header .main-menu .item .item__contents .contents__menu > ul > li h4 {
  padding: 3px 0 12px 0;
  font-style: 14px;
  color: #fff;
}
header .main-menu .item .item__contents .contents__menu > ul > li ul li {
  padding: 5px 0;
  font-size: 12px;
  color: #999;
  /* 버튼에 마우스 포인트 올리면 화살표에서 손가락으로 변함 */
  cursor: pointer;
}
header .main-menu .item .item__contents .contents__menu > ul > li ul li:hover {
  color: #669900;
}
header .main-menu .item .item__contents .contents__texture {
  padding: 26px 0;
  font-size: 12px;
  background-image: url("../images/main_menu_pattern.jpg");
}
header .main-menu .item .item__contents .contents__texture h4 {
  color: #999;
  font-weight: 700;
  /* font-size: 12px; 중복이므로 부모요소한테 주고 상속 */
}
header .main-menu .item .item__contents .contents__texture p {
  color: #669900;
  margin: 4px 0 14px;
  /* font-size: 12px; 중복이므로 부모요소한테 주고 상속 */
}
header .badges {
  /* 얘 부모는 header */
  position: absolute;
  top: 132px;
  right: 12px;
}
header .badges .badge {
  /* 모서리 둥글게 */
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 12px;
  /* 그림자 */
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.15);
  cursor: pointer;
}

/* VISUAL */
.visual {
  /* header의 height값, 여기헤더는 자체값이 없어서, header > .inner 값 */
  margin-top: 120px;
  background-image: url("../images/visual_bg.jpg");
  /* 정 가운데 하나만 넣겠다. inner에 높이값 추가 */
  background-position: center;
}
.visual .inner {
  height: 646px;
}
/* .visual .inner .title { inner처럼 생략하는 것도 방법.
  //너무 중복되는게 많으면 조상선택자 중 단지 감싸는 용도로 사용하거나
  { ex)main-meun }와 상관이 없는, 구조를 위해 만들었던 요소들은 생략 가능. */
.visual .title {
  position: absolute;
  top: 88px;
  left: -10px;
}
.visual .title .btn {
  position: absolute;
  top: 259px;
  left: 173px;
}
.visual .cup1.image {
  position: absolute;
  bottom: 0;
  right: -47px;
}
.visual .cup1.text {
  position: absolute;
  top: 38px;
  right: 171px;
}
.visual .cup2.image {
  position: absolute;
  bottom: 0;
  right: 162px;
}
.visual .cup2.text {
  position: absolute;
  top: 321px;
  right: 416px;
}
.visual .spoon {
  position: absolute;
  bottom: 0;
  left: 275px;
}

/* NOTICE */
.notice {
}
.notice .notice-line {
  position: relative;
}
.notice .notice-line .bg-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background-color: #333;
}
.notice .notice-line .bg-right {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background-color: #f5f5ef;
}
.notice .notice-line .inner {
  height: 62px;
  /* border: 2px solid red; */
  /* 수평 */
  /* z-index: 1; */
  display: flex;
}
.notice .notice-line .inner .inner__left {
  width: 60%;
  height: 100%;
  background-color: #333;
  /* 공지사항 수평으로 */
  display: flex;
  /* 수직 */
  align-items: center;
  overflow: hidden;
}
.notice .notice-line .inner .inner__left h2 {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  margin-right: 20px;
}
.notice .notice-line .inner .inner__left .swiper-container {
  height: 62px;
  /* background-color: orange; */
  flex-grow: 1;
}
.notice .notice-line .inner .inner__left .swiper-slide {
  height: 62px;
  display: flex;
  align-items: center;
}
.notice .notice-line .inner .inner__left .swiper-slide a {
  color: #fff;
}
.notice .notice-line .inner .inner__left .notice-line_more {
  width: 62px;
  height: 62px;
  /* 아이콘 수평 */
  display: flex;
  /* 수평 가운데 */
  justify-content: center;
  /* 수직 가운데 */
  align-items: center;
}
.notice .notice-line .inner .inner__left .notice-line_more .material-icons {
  color: #fff;
  font-size: 30px;
}
.notice .notice-line .inner .inner__right {
  width: 40%;
  height: 100%;
  /* 수평 */
  display: flex;
  /* 수평의 끝점으로 이동 ( 오른쪽 정렬 ) */
  justify-content: flex-end;
  align-items: center;
}
.notice .notice-line .inner .inner__right h2 {
  font-size: 17px;
  font-weight: 700;
}
.notice .notice-line .inner .inner__right .toggle-promotion {
  width: 62px;
  height: 62px;
  /* a태그가 아니기 때문에 커서를 주어서 사용자들이 버튼임을 알게  */
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
.notice .notice-line .inner .inner__right .toggle-promotion .material-icons {
  font-size: 30px;
}
/*PROMOTION*/
.notice .promotion {
  height: 693px;
  background-color: #f6f5ef;
  position: relative;
  transition: height 0.4s;
  overflow: hidden;
}
.notice .promotion.hide {
  /* 일치 선택자 이기 때문에 hide띄어쓰기 안함  */
  height: 0;
}
.notice .promotion .swiper-container {
  width: calc(819px * 3 + 20px);
  height: 553px;
  /* background-color: orange;
  text-align: center;
  font-size: 200px; */
  /* 가운데 */
  position: absolute;
  top: 40px;
  left: 50%;
  /* margin-left: -1238.5px; */
  margin-left: calc((819px * 3 + 20px) / -2);
}
.notice .promotion .swiper-slide {
  opacity: 0.5;
  transition: opacity 1s;
  position: relative;
}
.notice .promotion .swiper-slide-active {
  /* 정가운데만 불투명하게 보이는 */
  opacity: 1;
}
.notice .promotion .swiper-slide .btn {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.notice .promotion .swiper-pagination {
  bottom: 40px;
  left: 0;
  right: 0;
  /* bottom: 40px;
  left: 0;
  right: 0; 나는 없어도 위치 잘..?  */
}
.notice .promotion .swiper-pagination .swiper-pagination-bullet {
  background-color: transparent; /* 넣어줘야 아래 b-i먹음 */
  background-image: url("../images/promotion_slide_pager.png");
  width: 12px;
  height: 12px;
  margin-right: 6px;
  outline: none; /* 포커스, 파란색 테두리 사용 안하겠따. */
}
.notice .promotion .swiper-pagination .swiper-pagination-bullet:last-child {
  /* 마지막 동그라미 */
  /* 마지막 동그라미는 여백이 필요없음 */
  margin-right: 0;
}
.notice .promotion .swiper-pagination .swiper-pagination-bullet-active {
  background-image: url("../images/promotion_slide_pager_on.png");
}
.notice .promotion .swiper-prev,
.notice .promotion .swiper-next {
  width: 42px;
  height: 42px;
  border: 2px solid #333;
  border-radius: 50%;
  position: absolute;
  top: 300px;
  z-index: 1;
  cursor: pointer;
  outline: none;
  /* 수평(justify-content), 수직 가운데(align-items) */
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.4s;
}
.notice .promotion .swiper-prev {
  left: 50%;
  margin-left: -480px;
}
.notice .promotion .swiper-next {
  right: 50%;
  margin-right: -480px;
}
.notice .promotion .swiper-prev:hover,
.notice .promotion .swiper-next:hover {
  /* 버튼 마우스 댓을 때 */
  background-color: #333;
  color: #fff;
}

/* REWARDS */
.rewards {
  position: relative;
}
.rewards .bg-left {
  width: 50%;
  height: 100%;
  background-color: #272727;
  position: absolute; /* 얘부모는 rewards  */
  top: 0;
  left: 0;
}
.rewards .bg-right {
  width: 50%;
  height: 100%;
  background-color: #d5c798;
  position: absolute; /* 얘부모는 rewards  */
  top: 0;
  right: 0;
}
.rewards .inner {
  background-image: url("../images/rewards.jpg");
  height: 241px;
}
.rewards .btn-group {
  position: absolute; /* 부모 inner..의 전역속성에 position값있음 */
  bottom: 24px;
  right: 0;
  width: 250px;
  display: flex; /* 수평 */
  flex-wrap: wrap; /* width 넘치면 줄바꿈 허용 */
}
.rewards .btn-group .btn.sign-up {
  margin-right: 10px;
}
.rewards .btn-group .btn.sign-in {
  width: 110px;
}
.rewards .btn-group .btn.gift {
  margin-top: 10px;
  flex-grow: 1; /* display flex내부에서 최대 너비 사용 비율 */
}

/* YOUTUBE VIDEO */
.youtube {
  position: relative;
  height: 700px;
  background-color: #333;
  overflow: hidden;
}
.youtube .youtube__area {
  width: 1920px;
  /* background-color: orange; */
  /* 가운데 배치 */
  position: absolute;
  left: 50%;
  margin-left: calc(1920px / -2);
  top: 50%;
  margin-top: calc(
    1920px * 9 / 16 / -2
  ); /* 가로너비기준 16:9비율, 세로너비의 절반을 끌어올리도록 */
}
.youtube .youtube__area::before {
  /* 스타일을 위한 클래스를 만들지 않고 가상의 요소를 만들어서  */
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 56.25%; /* 16:9비율의 높이지정 안해줘도 만들어짐 */
}
.youtube .youtube__cover {
  /* 배경영상이기때문에 커버덮어주기 */
  background-image: url("../images/video_cover_pattern.png");
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#player {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.youtube .inner {
  height: 700px;
  /* background-color: royalblue; */
}
.youtube .floating1 {
  position: absolute; /* 부모요소에 없어도 공통 inner있어서 ㄱㅊ */
  top: 50px;
  left: 0;
}
.youtube .floating2 {
  position: absolute;
  top: 350px;
  left: 150;
}
/* .youtube .floating3 {
  position: absolute;
  bottom: -200px;
  right: 0;
  아래 .season-product .floating3 로 적용.
} */

/* SEASON PRODUCT */
.season-product {
  background-image: url("../images/season_product_bg.jpg");
}
.season-product .inner {
  height: 400px;
}
.season-product .floating3 {
  position: absolute;
  top: -200px;
  right: 0;
}
.season-product .text-group {
  position: absolute; /* inner에 기본 포지션값있음 */
  top: 110px;
  right: 100px;
}
.season-product .text-group .title {
  margin-bottom: 10px;
}
.season-product .text-group .description {
  margin-bottom: 15px;
}
.season-product .text-group .more {
}

/* RESERVE COFFEE */
.reserve-coffee {
  background-image: url("../images/reserve_bg.jpg");
}
.reserve-coffee .inner {
  height: 400px;
}
.reserve-coffee .reserve-logo {
  position: absolute;
  top: 110px;
  left: 0;
}
.reserve-coffee .text-group {
  position: absolute;
  top: 124px;
  left: 208px;
}
.reserve-coffee .product {
  position: absolute;
  top: 0;
  right: 0;
}

/* PICK YOUR FAVORITE */
.pick-your-favorite {
  background-image: url("../images/favorite_bg.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
  background-size: cover; /* 배경의 이미지를 뷰포트의 더 넓은 너비에 맞춰서. 패럴렉스 */
}
.pick-your-favorite .inner {
  padding: 110px 0;
}
.pick-your-favorite .text-group {
  /* background-color: orange; */
  margin-left: 100px;
  width: 362px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end; /* 끝점에 맞춰줌, 우측,  */
}
.pick-your-favorite .text-group .title {
  margin-bottom: 40px;
}
.pick-your-favorite .text-group .description {
  margin-bottom: 40px;
}

/* RESERVE STORE */
.reserve-store {
  /*  패럴렉스 */
  background-image: url("../images/reserve_store_bg.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
  background-size: cover;
}
.reserve-store .inner {
  height: 600px;
  /* 수직 수평 가운데 */
  display: flex;
  justify-content: center;
  align-items: center;
}
.reserve-store .medal {
  width: 334px;
  height: 334px;
  perspective: 600px; /* 원근거리 */
}
.reserve-store .medal .front,
.reserve-store .medal .back {
  width: 334px;
  height: 334px;
  position: absolute;
  backface-visibility: hidden;
  transition: 1s;
}
.reserve-store .medal .front {
  /* position: absolute; 백과 공통으로 쓰기 때문에 위로 올려줌  */
  transform: rotateY(0deg) /* 명시 */;
}
.reserve-store .medal:hover .front {
  transform: rotateY(180deg);
}
.reserve-store .medal .back {
  transform: rotateY(-180deg);
}
.reserve-store .medal:hover .back {
  transform: rotateY(0deg);
}
.reserve-store .medal .back .btn {
  position: absolute;
  top: 240px;
  /* 아래3개로 가운데 배치하려면 가로너비 필요. btn공용설정값으로 수평배치. */
  left: 0;
  right: 0;
  margin: auto;
}

/* FIND STORE */
.find-store {
  background-image: url("../images/find_store_bg.jpg");
}
.find-store .inner {
  height: 400px;
}
.find-store .texture1 {
  position: absolute;
  top: 0;
  left: 400px;
}
.find-store .texture2 {
  position: absolute;
  bottom: 0;
  right: 0;
}
.find-store .picture {
  position: absolute;
  border-radius: 50%;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
}
.find-store .picture1 {
  /* position: absolute; 공통 */
  top: -60px;
  left: 0;
}
.find-store .picture2 {
  /* position: absolute; 공통 */
  top: 150px;
  left: 250px;
}
.find-store .text-group {
  position: absolute;
  top: 120px;
  left: 550px;
}
.find-store .text-group .title {
  margin-bottom: 20px;
}
.find-store .text-group .description {
  margin-bottom: 20px;
}

/* AWARDS */
.awards {
  background-color: #272727;
}
.awards .inner {
  padding: 40px 0;
}
.awards .swiper-container {
  width: 100%;
  height: 40px;
  overflow: hidden;
}
.awards .swiper-prev,
.awards .swiper-next {
  width: 42px;
  height: 42px;
  border: 2px solid #fff;
  border-radius: 50%;
  outline: none;
  color: #fff;
  opacity: 0.3;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  /* 부모요소기준으로 가운데배치 너비값 필수. 수직이니까 세로너비 필수. */
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.awards .swiper-prev {
  left: -100px;
}
.awards .swiper-next {
  right: -100px;
}
.awards .swiper-prev:hover,
.awards .swiper-next:hover {
  background-color: #fff;
  color: #333;
}

/* FOOTER */
footer {
  background-color: #272727;
  border-top: 1px solid #333;
}
footer .inner {
  padding: 40px 0 60px 0;
}
footer .menu {
  display: flex;
  justify-content: center;
}
footer .menu li {
  position: relative; /* before의 부모 */
}
footer .menu li::before {
  /* before는 인라인 요소지만, 포지션 앱솔루트 혹은 픽스드 쓰면 자동으로 블럭,, 가로세로값 가질 수 있음 */
  content: "";
  width: 3px;
  height: 3px;
  background-color: #555;
  /* 수직 가운데 배치 */
  position: absolute;
  top: 0;
  bottom: 0;
  right: -1px;
  margin: auto;
}
footer .menu li:last-child::before {
  display: none;
}
footer .menu li a {
  color: #ccc;
  font-size: 12px;
  font-weight: 700;
  padding: 15px;
  display: block; /* a요소 클릭할 수 있는 범위를 늘려주기 위해.. padding쓰려면.. */
}
footer .menu li a.green {
  color: #669900;
}
footer .btn-group {
  margin-top: 20px;
  /* 수평 가운데정렬 */
  display: flex;
  justify-content: center;
}
footer .btn-group .btn {
  font-size: 12px;
  margin-right: 10px;
}
footer .btn-group .btn:last-child {
  margin-right: 0;
}
footer .info {
  margin-top: 30px;
  /* 문자가운데정렬 */
  text-align: center;
}
footer .info span {
  margin-right: 20px;
  color: #999;
  font-size: 12px;
}
footer .info span:last-child {
  margin-right: 0;
}
footer .copyright {
  color: #999;
  font-size: 12px;
  text-align: center;
  margin-top: 12px;
}
footer .logo {
  /* img요소에 전체 display:block지정했으므로 width속성 없이도 가운데 정렬 가능 */
  margin: 30px auto 0;
}

#to-top {
  width: 42px;
  height: 42px;
  background-color: #333;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  /* 수평, 수직 가운데 정렬 */
  display: flex;
  justify-content: center;
  align-items: center;
  /*  뷰포트 기준 배치*/
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 9;
}
