@charset "utf-8";
/* ********************************************************************
 * name : 동아대학교 고기능성밸브 기술지원센터
 * filename : layout.css
 * author : JBieN 제이비엔
 * date : 2026-06-30
********************************************************************* */

:root {
	--main-color: #0f7dff;
	--hover-color: #00a5c8;
	--main-deep: #0054c8;
	--line-color: #e6e9ef;

	--area-width: 1320px;
	--area-padding: 30px;

	--header-height: 90px;

	--gap-size: 2.4rem;

	--ease: cubic-bezier(.19, 1, .22, 1);
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--transition-base: all 0.4s ease-in-out;
	--transition-slow: all 0.8s ease-in-out;

	--img-w: 245px; 
	--img-h: 280px; 

	--news-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (max-width: 960px) {
  :root { --gap-size: 1.8rem; }
 }

html { font-size: 10px; }

.area { max-width: var(--area-width); margin: 0 auto; }

/* Lenis 스무스 스크롤 */
html.lenis,
html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* 모바일 메뉴 / 장비 팝업이 열렸을 때 배경 스크롤 잠금 */
html.menuLock,
body.menuLock,
html.popOpen,
body.popOpen { overflow: hidden !important; overscroll-behavior: none; }
#gnbM.open,
#gnbM.open .gnbMwrap { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }


/* =============================================
   Header (PC)
============================================= */
#header {position: fixed;top: 0; left: 0;width: 100%;height: var(--header-height);z-index: 9999;transition: var(--transition-base);}
#header::before {position: absolute;content: '';top: 0; left: 0;width: 100vw;height: var(--header-height);background: rgba(0, 0, 0, 0.15);backdrop-filter: blur(2rem);transform: translateY(calc(-1 * var(--header-height)));transition: var(--transition-base);transition-property: background, transform, height;}
#header.topFixed::before { transform: translateY(0); }
.topFixed.scroll-down:not(.gnbMopen) { transform: translateY(-100%); }
#header.gnbMopen,
#header.gnbMopen.topFixed,
#header.gnbMopen.scroll-down,
#header.gnbMopen.scroll-up { transform: none !important; }

.siteHeader {position: absolute;top: 0; left: 0;width: 100%;height: var(--header-height);z-index: 9999;transition: var(--transition-base);transition-property: background-color;}
.siteHeaderInner {position: relative;display: flex;align-items: center;justify-content: space-between;height: var(--header-height);padding: 0 var(--area-padding);}
.drawLine {width: 100%;height: 1px;background: hsl(0deg 0% 100% / 27%);position: absolute;bottom: 0;z-index: 10000;pointer-events: none;user-select: none;}

.brandLogo { position: relative; z-index: 100; display: flex; align-items: center; width: clamp(290px, 17.2vw, 390px); justify-content: space-between; }
.brandSymbol {width: clamp(50px, 3.2vw, 70px);height: 100%; display: block; vertical-align: top; }
.brandText {width: clamp(230px, 13.2vw, 300px);height: 100%; display: block; vertical-align: top; filter: brightness(0) invert(1); }
.scroll-up .drawLine { display: none; }

/* headerUtil */
.UtilList { position: relative; z-index: 100; display: flex; align-items: center; gap: 1em; }
.daLogo img { filter: brightness(0) invert(1); }
.daLogo:hover img { filter: inherit; }
.langBox { position: relative; width: 56px; height: 56px; display: flex; justify-content: center; align-items: center; }
.langBtn { width: 58px; height: 58px; border-radius: 50%; background: #fff; z-index: 2; display: flex; justify-content: center; align-items: center; }
.langBtn:hover img { filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(2582%) hue-rotate(199deg) brightness(101%) contrast(102%); }
.langMenu {position: absolute;left: 0; top: 0;width: 56px; height: 56px;padding-top: 56px;border-radius: 28px;background: #fff;overflow: hidden;box-shadow: 0 2px 8px rgba(0, 0, 0, .12);opacity: 0;transform: scaleY(.45);transform-origin: top center;transition: height .35s ease, opacity .2s ease, transform .35s ease;pointer-events: none;}
.langMenu a { display: flex; align-items: center; justify-content: center; height: 30px; font-size: 14px; font-weight: 800; }
.langMenu a:hover { color: var(--main-color); }
.langBox.isOpen .langMenu { height: 135px; opacity: 1; transform: scaleY(1); pointer-events: auto;}


/* =============================================
   PC GNB
============================================= */
.gnbBgOverlay {position: fixed;top: 0; left: 0;width: 100%; height: 100%;visibility: hidden;opacity: 0;background: rgba(0, 0, 0, 0.5);z-index: 9997;transition: var(--transition-base);}
.gnbBgOverlay.open { visibility: visible; opacity: 1; }

#gnb { position: absolute; text-align: center; top: 0; left: 0; width: 100%; z-index: 99; }
#gnb > ul { display: flex; align-items: center; justify-content: center; padding-left: 5vw; }
#gnb > ul > li { position: relative; word-break: keep-all; width: 15rem; transition: var(--transition-base); }
#gnb > ul > li > a {position: relative; z-index: 100;display: block;line-height: var(--header-height);padding: 0 1rem;text-align: center;color: #fff;font-size: clamp(2rem, 0.9vw, 3rem);font-weight: 500;transition: var(--transition-base);}
#gnbBg {overflow: hidden;position: absolute;left: 0; top: 0;width: 100%; height: 0;background-color: rgba(0, 0, 0, 0.5);backdrop-filter: blur(1rem);z-index: 98;opacity: 0;transition: height 0.3s ease-in-out, opacity 0.2s ease-in-out;}

#gnb > ul > li .gnb-2dep {position: absolute;top: var(--header-height); left: 0;z-index: 99;width: 100%;text-align: left;visibility: hidden;opacity: 0;transition: all 0.2s cubic-bezier(0.4, 0, 1, 1);}
#gnb > ul > li .gnb-2dep::before {position: absolute;top: calc(-1 * var(--header-height)); left: 0;content: '';width: 100%;height: calc(var(--header-height) + 110%);background: linear-gradient(180deg, rgb(18 50 116) 0%, rgba(255, 255, 255, 0) 100%);opacity: 0;transition: opacity 0.3s;}
#gnb > ul > li .gnb-2dep::after {position: absolute; content: '';top: -1px; left: 50%;transform: translateX(-50%);width: 0; height: 1px;background: rgb(15 125 255 / 70%);transition: var(--transition-base);}
#gnb > ul > li .gnb-2dep > ul { padding-top: 2.5rem; }
#gnb > ul > li .gnb-2dep ul li { position: relative; }
#gnb > ul > li .gnb-2dep ul li a {display: block;padding: 0.8rem 1.5rem;color: rgba(255, 255, 255, 0.6);font-size: clamp(1.6rem, 0.7vw, 2rem);letter-spacing: -0.03em;font-weight: 600;line-height: 1.3;transition: var(--transition-base);text-align: center;}
#gnb > ul > li.on .gnb-2dep ul li a:hover { color: #fff; }
#gnb > ul > li.on .gnb-2dep::before { opacity: 1; }
#gnb > ul > li.on .gnb-2dep::after { width: 100%; }

#gnb.open #gnbBg { height: calc(var(--header-height) + 27rem); opacity: 1; }
#gnb.open > ul > li .gnb-2dep { height: 27rem; opacity: 1; visibility: visible; transition: height 0.5s ease-in-out, opacity 0.5s ease-in-out 0.2s; }
#gnb > ul > li .gnb-2dep.open ul li { opacity: 1; transition: var(--transition-slow); }
#gnb > ul > li .gnb-2dep.open ul li:nth-child(1) { transition-delay: 0.1s; }
#gnb > ul > li .gnb-2dep.open ul li:nth-child(2) { transition-delay: 0.2s; }
#gnb > ul > li .gnb-2dep.open ul li:nth-child(3) { transition-delay: 0.3s; }
#gnb > ul > li .gnb-2dep.open ul li:nth-child(4) { transition-delay: 0.4s; }
.gnbOpen#header #gnb > ul > li { width: 19rem; }

.navToggle { display: none; }
#gnbM { display: none; }

/* =============================================
   Quick-contact
============================================= */
.quickContact {position: fixed;right: 0; top: 30%;z-index: 999;width: 3.65vw; height: 200px;display: flex;align-items: center;justify-content: center;gap: 18px;flex-direction: column;
	background: #006FF5;color: #fff;text-decoration: none;font-weight: 900;border-radius: 10px 0 0 10px;opacity: 0;transform: translate(100%, -50%);
	transition:transform 1.5s cubic-bezier(.22, 1, .36, 1),opacity .35s ease,width .45s cubic-bezier(.22, 1, .36, 1),height .
	45s cubic-bezier(.22, 1, .36, 1),border-radius .45s cubic-bezier(.22, 1, .36, 1),background .3s ease;
}
.quickContact.isShow { transform: translate(0, -50%); opacity: 1; }
.quickText { writing-mode: vertical-rl; font-size: clamp(14px, 0.6vw, 20px); letter-spacing: .08em; white-space: nowrap; font-weight: 500; transition: .35s ease; }
.quickIcon { transform: rotate(45deg); transition: .45s ease; }
.quickIcon img{width:20px;height:20px;}
.quickContact:hover { background: var(--hover-color); }
.quickContact:hover .quickIcon { transform: rotate(180deg); }

/* 1단계: 옆으로 사라짐 */
.quickContact.isHideSide { transform: translate(100%, -50%); opacity: 0; }
/* 2단계: 원형 미니로 전환 준비 (텍스트 모드 전환 + 위치 이동) */
.quickContact.isMiniReady {top: auto; right: 1em; bottom: 1em;width: 64px; height: 64px;border-radius: 50%;gap: 0;flex-direction: row;transform: translateY(120%);opacity: 0;}
.quickContact.isMiniReady .quickText { width: 0; opacity: 0; overflow: hidden; writing-mode: horizontal-tb; }
/* 3단계: 원형 미니 표시 */
.quickContact.isMini { transform: translateY(0); opacity: 1; }
.quickContact.isMini .quickText { width: 0; opacity: 0; overflow: hidden; writing-mode: horizontal-tb; transition: width .35s ease, opacity .25s ease, padding .35s ease; }
.quickContact.isMini .quickIcon { width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; }
.quickContact.isMini:hover { width: 180px; border-radius: 999px; }
.quickContact.isMini:hover .quickText { width: auto; opacity: 1; padding-left: 22px; text-align: center; }

/* =============================================
   TOP 버튼
============================================= */
.topBtn {position: fixed;right: 20px; bottom: 78px;z-index: 900;display: flex;align-items: center;justify-content: center;width: 50px; height: 50px;
  border: transparent;  border-radius: 50% 50% 4px;  background: rgb(205 205 205);  backdrop-filter: blur(14px);  -webkit-backdrop-filter: blur(14px);  color: #fff;  font-size: 12px;  font-weight: 700;
  letter-spacing: .08em;  line-height: 1;  overflow: hidden;  opacity: 0;  visibility: hidden;  pointer-events: none;  cursor: pointer;  transform: translate3d(0, 18px, 0) scale(.9);
  transition: opacity .34s ease, visibility .34s ease, transform .34s cubic-bezier(.19, 1, .22, 1), border-color .34s ease, background .34s ease;
}
.topBtn.isShow { opacity: 1; visibility: visible; pointer-events: auto; transform: translate3d(0, 0, 0) scale(1); }
.topBtn:hover,
.topBtn:focus-visible { border-color: rgba(255, 255, 255, .58); background: rgba(0, 91, 188, .86); transform: translate3d(0, -4px, 0) scale(1.02); }
.topBtn:focus-visible { outline: 2px solid rgba(255, 255, 255, .86); outline-offset: 4px; }
.topBubble {position: absolute;left: var(--mx, 50%); top: var(--my, 50%);display: block;width: 0; height: 0;border-radius: 50%;background: rgb(247 165 12);transform: translate(-50%, -50%);transition: width .52s cubic-bezier(.19, 1, .22, 1), height .52s cubic-bezier(.19, 1, .22, 1);}
.topBtn:hover .topBubble,
.topBtn:focus-visible .topBubble { width: 190px; height: 190px; }
.topTxt { position: relative; z-index: 1; }

/* =============================================
   공통 버튼 (.cmBtn)
============================================= */
.cmBtn {display: flex;align-items: center;justify-content: flex-start;border-radius: 999px;background: rgba(255, 255, 255, .13);color: #fff;text-decoration: none;backdrop-filter: blur(1rem);font-size: 1.7rem;font-weight: 500;}
.cmBtn .cmBicon {width: 6rem; height: 6rem;margin: 0 1.5rem 0 0.8rem;display: flex;align-items: center;justify-content: center;background: var(--main-color);border-radius: 999px;transform: rotate(180deg);transition: .45s ease;}
.cmBtn:hover .cmBicon { transform: rotate(45deg); background: var(--hover-color) !important; }

.cmBiconB { height: 44px; font-size: 1.45rem; padding-right: 1.5em; background: #f3f7ff; color: #2b5474; }
.cmBiconB .cmBicon { width: 3.5rem; height: 3.5rem; margin: 0 1rem 0 0.5rem; }
.cmBiconB .cmBicon img { height: 50%; width: 50%; }
.cmBiconB span { font-weight: 800; }

/* =============================================
   Sub content
============================================= */
/* sub header */
.is-sub .brandText,
.is-sub .daLogo img,
.is-sub .gnbOpen .langBtn img{filter: none;}
.is-sub .gnbOpen .brandText,
.is-sub .gnbOpen .daLogo img,
.is-sub .langBtn img,
.is-sub .gnbOpen .brandSymbol{filter: brightness(0) invert(1);}
.is-sub #gnb > ul > li > a{color:inherit;}
.is-sub #gnb.open > ul > li > a{color:#fff;}
.is-sub .langBtn {background: var(--main-color);}
.is-sub .gnbOpen .langBtn {background: #fff;}
.is-sub .langBtn:hover{background: #123274;}
.is-sub .daLogo:hover img{opacity: .4;}

.is-sub .topFixed .brandText,
.is-sub .topFixed #gnb > ul > li > a,
.is-sub .topFixed .daLogo img{filter: brightness(0) invert(1);}
.is-sub .topFixed .langBtn {background: #fff;}
.is-sub .topFixed .langBtn img{filter: none;}

/* sub layout */
.subPage{height: 100%;padding: 20rem 0 2rem;}
.subContent{position: relative;min-height: 300px;}

.boardWrap {margin: 0 auto;font-size:1.6rem;}

.sVisPar{margin: 0 2.93vw;}
.sVisPar .imgBox {position: relative;overflow: hidden;height: 500px;border-radius: 2.5em;}
.sVisPar .imgBox img {width: 100%;height: 120%;object-fit: cover;transform: translateY(-10%);will-change: transform;margin-top: -1em;}

.subLocation {text-align: center;margin-bottom: 6em;}
.breadcrumb {margin-bottom: 22px;font-size: 14px;color: #999;}
.breadcrumb ol {display: flex;align-items: center;justify-content: center;gap: 0;margin: 0;padding: 0;list-style: none;}
.breadcrumb li {display: flex;align-items: center;color: #999;line-height: 1;}
.breadcrumb li + li::before {content: "";display: inline-block;margin: 0 15px;width: 3px;height: 3px;background: #797979;border-radius: 50%;}
.breadcrumb a {display: inline-flex;align-items: center;gap: 5px;color: #999;text-decoration: none;}
.breadcrumb a:hover {color: #222;}
.breadcrumb [aria-current="page"] {color: #222;font-weight: 600;}
.breadcrumb i {font-size: 16px;line-height: 1;}
.subTitle {margin: 0;font-size: clamp(42px, 3.5vw, 88px);font-weight: 700;line-height: 1.15;color: #202020;}


/* =============================================
   Footer
============================================= */
.siteFoot { padding: clamp(8rem, 8vw, 13rem) 0 clamp(3rem, 3.6vw, 5rem); background: #fff; overflow: hidden; }
.footIn { width: min(184rem, calc(100% - 3.2rem)); margin: 0 auto; }
.footTop { display: flex; align-items: flex-start; justify-content: space-between; gap: 4rem; }

.footTit { font-size: clamp(4.2rem, 2.5vw, 6rem); font-weight: 700; line-height: 1.05; }
.footTit > span { display: block; white-space: nowrap; }

.footSide { display: flex; align-items: center; gap: 2.5rem; margin-top: 2.2rem; }
.footLinks { display: flex; align-items: center; gap: 3.6rem; color: #8f8f95; font-size: 1.6rem; font-weight: 600;}
.footLinks a:hover, .footLinks a:focus-visible { color: #222; }

.ytBtn {position: relative;display: grid;place-items: center;width: 5.2rem; height: 5.2rem;flex: 0 0 auto;border-radius: 50%;background: #202022;color: #fff;transition: transform .38s var(--ease), background-color .38s var(--ease);}
.ytBtn::after {content: "";position: absolute;inset: -.6rem;border: .1rem solid #ff0033;border-radius: inherit;opacity: 0;transform: scale(.72);transition: opacity .38s var(--ease), transform .38s var(--ease);}
.ytBtn:hover, .ytBtn:focus-visible { background: #ff0033;}
.ytBtn:hover::after, .ytBtn:focus-visible::after {opacity: .5; transform: scale(1); }

.footInfo { margin-top: 10.4rem; font-size: 1.7rem; font-weight: 500; color: #5c5c5d; }
.footAddr { margin-bottom: 1.4rem; }
.footContact { display: flex; flex-wrap: wrap; gap: 1rem clamp(3rem, 3.6vw, 5rem); }
.footContact span { font-weight: 700; color: #36363b;margin-right: .5rem;}
.footContact a { transition: color .25s var(--ease); }
.footContact a:hover, .footContact a:focus-visible { color: var(--main-color); }

.footBar {height: 1px;margin: clamp(3.6rem, 3.6vw, 5rem) 0 3.6rem;background: #010101;}
.footBottom {display: flex;gap: 2rem;color: #4a4a51;font-size: 1.7rem;letter-spacing: -.02em;}
.credit { white-space: nowrap;}
.credit a{border-bottom: 1px solid #ababab;}
.credit a:hover{color:#222;border-bottom: 1px solid #222;}

.siteFoot .footTop { opacity: 1 !important; transform: none !important; transition: none !important; }


/* =============================================
   반응형 — Header / GNB (모바일)
============================================= */
@media (min-width: 2100px) {
	#gnb > ul > li {width: 20rem;}
	#gnb.open #gnbBg { height: calc(var(--header-height) + 30em); }
	.footIn {width:calc(100% - 6%)}

	.sVisPar .imgBox {height: 650px;}
}

@media (max-width: 1800px) {
	.quickContact {width: 70px;}
	#gnb > ul {padding-left: 12vw;}
}

@media (max-width: 1400px) {
	#gnb > ul > li {width: 12rem;}
	.gnbOpen#header #gnb > ul > li {width: 14rem;}
}

@media (max-width: 1280px) {
	:root {
    --area-padding: 15px;
    --header-height: 70px;
	}
	#gnb, .UtilList, .gnbBgOverlay { display: none; }

	.navToggle {display: block;position: fixed;top: 20px; right: var(--area-padding);z-index: 10020;height: 32px;background: none;border: none;cursor: pointer;padding: 0;transition: var(--transition-base);}
	.navToggle .line { display: block; width: 4rem; height: 2px; background-color: #fff; transition: var(--transition-base); }
	.navToggle .line:nth-child(2) { width: 2rem; margin: 10px 0; margin-left: auto; }
	.navToggle.active .line { background-color: #000; }
	.navToggle.active .line:nth-child(2) { opacity: 0; }
	.navToggle.active .line:nth-child(1) { transform: translateY(12px) rotate(45deg); }
	.navToggle.active .line:nth-child(3) { transform: translateY(-12px) rotate(-45deg); }

	.gnbBgOverlayM { display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.5); z-index: 9998; }
	.gnbMopen .brandLogo { z-index: 10010; transition: transform 0.8s, opacity 0.8s; transition-delay: 0.2s; }
	.gnbMopen .brandText { filter: inherit; }

	#header.gnbMopen .siteHeader { background: #fff; }
	#header.gnbMopen .drawLine { background: rgba(0, 0, 0, .08); }

	#gnbM {display: block;position: fixed;inset: 0;width: 100%; height: 100vh; height: 100dvh;max-width: none;background-color: #fff;z-index: 10000;visibility: hidden;opacity: 0;pointer-events: none;overflow: hidden;transform: translate3d(0, -100%, 0);transition: transform .68s cubic-bezier(.19, 1, .22, 1), opacity .34s ease, visibility .34s ease;}
	#gnbM.open { visibility: visible; opacity: 1; pointer-events: auto; transform: translate3d(0, 0, 0); }
	#gnbM .gnbMutil {position: absolute;bottom: 1em; left: 0;width: 100%;height: var(--header-height);display: flex;align-items: center;justify-content: space-between;padding: 0 var(--area-padding);background: #fff;z-index: 2;}
	#gnbM .gnbMwrap {width: 100%;height: calc(100dvh - (2 * var(--header-height)));position: absolute;top: var(--header-height);bottom: var(--header-height);left: 0;padding: 3rem var(--area-padding) 4rem;overflow-y: auto;overscroll-behavior: contain;-webkit-overflow-scrolling: touch;touch-action: pan-y;}
	#gnbM .gnbMinner { display: block; width: 100%; min-height: 100%; }
	#gnbM .gnbMnav { display: block; width: 100%; }

	.gnbMnav > li { border-bottom: 1px solid #000; border-top: 0; opacity: 0; transform: translateY(-20px); transition: all 0s 0s; }
	.gnbMnav > li:first-child { border-top: 1px solid #000; }
	.gnbMnav > li > button {position: relative;display: block;padding: 2rem;color: #333;font-size: 2rem;font-weight: 600;width: 100%;text-align: left;}
	.gnbMnav > li > button::before { font-family: xeicon; content: "\e942"; position: absolute; top: 50%; right: 2rem; font-weight: 400; font-size: 1.3em; transform: translateY(-50%); }
	.gnbMnav > li.active > button::before { content: "\e945"; }

	.gnbMnav > li .gnb-2dep { display: none; padding: 2rem 0; background-color: #F5F5F5; margin-bottom: 2.4rem; }
	.gnbMnav > li .gnb-2dep > li > a { display: block; color: #888; font-weight: 600; font-size: 1.8rem; padding: 1rem 3rem; }
	.gnbMnav > li .gnb-2dep > ul > li.on > a { color: #000; }

	#gnbM.open .gnbMnav > li { opacity: 1; transform: translateY(0); transition: transform 0.8s, opacity 0.8s; }
	#gnbM.open .gnbMnav > li:nth-child(1) { transition-delay: 0.3s; }
	#gnbM.open .gnbMnav > li:nth-child(2) { transition-delay: 0.4s; }
	#gnbM.open .gnbMnav > li:nth-child(3) { transition-delay: 0.5s; }
	#gnbM.open .gnbMnav > li:nth-child(4) { transition-delay: 0.6s; }
	#gnbM.open .gnbMnav > li:nth-child(5) { transition-delay: 0.7s; }

	.gnbMutil ul { display: flex; align-items: center; }
	.gnbMutil ul li { float: left; border: 1px solid #000; margin-left: -1px; }
	.gnbMutil ul li:first-child { margin-left: 0; }
	.gnbMutil ul li > a { display: block; min-width: 18px; text-align: center; height: 40px; line-height: 40px; padding: 0 10px; color: #000; font-size: 1.4rem; font-weight: 600; }
	.gnbMutil ul li.on { border-color: var(--main-color); position: relative; z-index: 1; }
	.gnbMutil ul li.on a { color: var(--main-color); }
	.gnbMutil .daLogo img { filter: inherit; }
	.gnbMutil .daLogo:hover img { filter: brightness(0) saturate(100%) invert(53%) sepia(95%) saturate(2575%) hue-rotate(157deg) brightness(96%) contrast(101%); }

	.is-sub .navToggle .line{background-color: #1a1a1a;}
	.is-sub .quickContact.isShow {transform: none;opacity: 0;right: -70px;}

	.subPage {padding: 13rem 0 2rem;}
	.subTitle {font-size: clamp(42px, 4.5vw, 88px);}
	.sVisPar .imgBox {height: 300px;}
}

@media (max-width: 1024px) {
	.footTop { flex-direction: column; }
	.footSide { width: 100%; justify-content: space-between; margin-top: 0; }
}

@media (max-width: 768px) {
	html { font-size: 56.25%; }
	.topBtn { width: 54px; height: 54px; font-size: 12px; }
	.siteFoot { padding-top: 7rem; }
	.footIn { width: calc(100% - 2.4rem); }
	.footLinks {gap: 1.7rem; }
	.footContact { display: block; }
	.footContact li + li { margin-top: .8rem; }
	.footBottom { align-items: flex-start; flex-direction: column; }
	.footTit > span { white-space: normal; }
	.footInfo {margin-top: 7rem;}
}

@media (max-width: 640px) {
    .sVisPar .imgBox {height: 220px;}
	.subLocation {width: calc(100% - 6%);margin: 0 3% 6em;}
}

@media (max-width: 480px) {
	.footTit { font-size: 3.8rem; }
	.ytBtn { width: 4.8rem; height: 4.8rem; }
	.footSide {align-items: flex-start;flex-direction: column;}
	.footAddr{width: 85dvw;}
	.footBottom p.copy{width: 80dvw;}
}

@media (prefers-reduced-motion: reduce) {
	.topBtn, .topBubble { transition: none !important; }
	.siteFoot .footSide,
	.siteFoot .footInfo,
	.siteFoot .footBottom { opacity: 1 !important; filter: none !important; transform: none !important; transition: none !important; }
	.footBar { transform: scaleX(1) !important; opacity: 1 !important; }
	.siteFoot.isSplit .footChar,
	.siteFoot.isSplit .footSpace { opacity: 1 !important; filter: none !important; transform: none !important; animation: none !important; }
}
