/* ------------------------------------------------------------------------------ 
	Author: webthemez 
/* ------------------------------------------------------------------------------
	Typography
-------------------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Caveat+Brush|Play'); 

body{ 
font-family: 'Play', sans-serif;
}
p {
	font-size: 14px;
	line-height: 22.4px;
	color: #ffffff;
}
h1, .type-wrap{
	font-size: 32px;
	color: #fff;
	margin-top: 60px;
}
h2 {
	font-size: 40px;
	color: #2d3033;
}
h3 {
	font-size: 28px;
	color: #2d3033;
	font-weight: 300;
}
h4 {
	font-size: 22px;
	color: #2d3033;
	font-weight: 400;
}
h5 {
	font-size: 14px;
	color: #2d3033;
	text-transform: uppercase;
	font-weight: 700;
}
.btn {
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	border-bottom:3px solid rgba(255, 255, 255, 0.3);
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	letter-spacing:3px;
	line-height:30px;
	display: inline-block;
	text-transform: uppercase;
}
.btn:hover, .btn:focus {
	color: #fff;
	border-bottom:3px solid rgba(229, 46, 46, 1);
}
.btn-large {
	padding: 15px 40px;
}
.logo b {
    color: #ffc107;
    text-transform: uppercase;
    /* 呼吸感：亮度起伏 + 金色光晕由内向外胀开再收回 + 极轻微的体积伸缩。
       三重叠加是为了让节奏在余光里也看得出来——只动 text-shadow 时
       明暗差太小，实际观感几乎看不出在动。
       不动色相，文字始终是纯金色。 */
    will-change: opacity, transform;
    animation: logo-breathe 5s ease-in-out infinite;
}
@keyframes logo-breathe {
	0%, 100% {
		opacity: .68;
		text-shadow: 0 0 3px rgba(255, 193, 7, 0.10);
		transform: scale(1);
	}
	50% {
		opacity: 1;
		text-shadow: 0 0 16px rgba(255, 193, 7, 0.95),
		             0 0 42px rgba(255, 193, 7, 0.55),
		             0 0 80px rgba(255, 193, 7, 0.25);
		transform: scale(1.04);
	}
}
/* 系统开启「减弱动态效果」时停掉呼吸，保留完全点亮的静态样子 */
@media (prefers-reduced-motion: reduce) {
	.logo b {
		animation: none;
		opacity: 1;
		transform: none;
		text-shadow: 0 0 16px rgba(255, 193, 7, 0.95),
		             0 0 42px rgba(255, 193, 7, 0.55),
		             0 0 80px rgba(255, 193, 7, 0.25);
	}
}
/* ------------------------------------------------------------------------------
	Global Styles
-------------------------------------------------------------------------------*/
a {
	color: #03a9f4;
}
a:hover, a:focus {
	text-decoration: none;
	-moz-transition: background-color, color, 0.3s;
	-o-transition: background-color, color, 0.3s;
	-webkit-transition: background-color, color, 0.3s;
	transition: background-color, color, 0.3s;
	color: #fff;
}
body { 
	font-weight: 400;
	color: #6c7279;
}
ul, ol {
	margin: 0;
	padding: 0;
}
ul li {
	list-style: none;
}
.section {
	padding: 100px 0;
}
.no-padding {
	padding: 0;
}
 .no-gutter [class*=col-] {
 padding-right: 0;
 padding-left: 0;
}

/* ------------------------------------------------------------------------------
	Banner
-------------------------------------------------------------------------------*/

:root {
	/* ── 页脚高度 ──────────────────────────────────────────
	   页脚是 fixed 的，不在文档流里，所以主视觉没法靠弹性布局自动避让它，
	   只能把高度算出来再做扣减。而页脚高度又随两个标识的尺寸浮动（184~212px），
	   写死一个常量会让主视觉在窄屏上偏离屏幕中心——实测差 13~27px。
	   因此这里跟着标识尺寸一起算。
	   末尾的 146px 是页脚中不随屏宽变化的部分：
	     上下内边距 22 + 26 = 48
	     版权行 14px 行高 + 4px 下边距 = 18
	     服务电话行 14px 行高 + 12px 下边距 = 26
	     三行资质 14×3 行高 + 6×2 行间距 = 54
	   ──────────────────────────────────────────────────── */
	--footer-logo-h: clamp(44px, 15.5vw, 70px);
	--footer-logos-mb: clamp(8px, 2vw, 16px);
	--footer-h: calc(var(--footer-logo-h) + var(--footer-logos-mb) + 146px);
	/* 状态文案底边距标识中心的距离。必须大于标识高度的一半，否则文案会压到标识上；
	   跟随屏宽收缩，与下面 .logo img 的 clamp 同步变化。 */
	--logo-lift: clamp(52px, 12vw, 92px);
}
.logo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: #fff;
	font-weight: 700;
	/* 随屏宽收缩：320px 窄屏也不会把 UPGRADE 挤出屏幕 */
	font-size: clamp(20px, 5.5vw, 40px);
	letter-spacing:3px;
	text-transform: capitalize;
	padding: 0;
}
.logo img {
	display: block;
	width: clamp(110px, 32vw, 230px);
	height: auto;
}
.banner-area {
	position: relative;
}
/* 兜底：任何装饰性元素探出视口时都不该让手机多出一条横向滚动条。
   注意这不是用来掩盖布局溢出的——各断点的实际宽度见 README 的验证记录。 */
html, body {
	overflow-x: hidden;
}
/* 页脚是 fixed 的，正文滚动时会从它下面穿过。
   这里把页脚高度让出来，正文就不会被压在页脚底下。 */
.banner {
	min-height: 100vh;
	box-sizing: border-box;
	padding-bottom: var(--footer-h);
}
.banner-area-gradient {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.7;
	background: rgba(0, 13, 29, 0.58);
	/* 这层是铺满视口的装饰蒙版。position:fixed 让它绘制在普通静态内容之上，
	   会拦下整页的鼠标事件——底部备案号等链接因此完全点不动。
	   它本身不需要交互，放行事件即可。 */
	pointer-events: none;
}
/* 主视觉居中：在「视口减去固定页脚」的可用区里做弹性居中，
   .banner-text 里唯一留在文档流中的子元素就是品牌标识，
   所以它落在区域正中，也就是屏幕中心。
   原先靠十几层 <br> 撑位置，既对不准窄屏也没法适配移动端，一并去掉。 */
.banner-text {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	min-height: calc(100vh - var(--footer-h));
	padding-top: 0;
	padding-bottom: 0;
	text-align: center;
	color: #fff !important;
}
/* 清掉纯用于撑间距的换行（见 index.html 中的 <br> 堆） */
.banner-text br {
	display: none;
}
/* 状态文案脱离文档流浮在标识正上方，不参与居中计算
   —— 否则它会占掉上半部分高度，把标识压到中心线以下。 */
.banner-text .type-wrap {
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(50% + var(--logo-lift));
	margin: 0;
}
.banner-text h1 {
	margin-top:10%;
	color: #fff;
	font-weight: 100;
	font-size: 28px;
	text-transform: capitalize;
	letter-spacing: 2px;
}
.banner-text p {
	color: #fff;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing:3px;
	margin-bottom: 5%;
	font-family: arial;
}

/* ------------------------------------------------------------------------------
	Countdown
-------------------------------------------------------------------------------*/

#countdown {
	padding:0;
	position:relative;
	margin-top: 6%;
	margin-bottom:5%;
	padding: 10px 0 20px;
	border: 2px dashed #ffffff38;
	max-width: 714px;
	margin: 5% auto;
}

.item {
	display: inline-block;
	position: relative;
	text-align:center;
	margin:0 10px;
	padding: 10px 0 10px;
	text-transform:uppercase;
	font-size: 16px;
	/* border-bottom: 1px solid #ffc107; */
	color: #fff;
	width: 140px;
	/* background: rgba(0, 0, 0, 0.34); */
	/* border: 1px #646464 dashed; */
	/* border-bottom: 1px solid #ffc107; */
}
.item p {
	text-align:center;
	margin:0;
	font-size: 54px;
	padding:0;
	/* background: rgba(2, 7, 13, 0.28); */
}

#countdown .item:nth-child(1){/* background: rgb(208, 40, 40); */margin: 0;}
#countdown .item:nth-child(2){/* background: rgb(37, 110, 249); */}
#countdown .item:nth-child(3){/* background: rgb(38, 175, 38); */}
#countdown .item:nth-child(4){/* background: rgb(230, 158, 21); */}

/* ------------------------------------------------------------------------------
	Subscribe
-------------------------------------------------------------------------------*/

	.subscribe {
	/* 固定 430px 在窄屏上会横向溢出，改为不超过容器宽度 */
	width: min(430px, 100%);
	position: relative;
	margin:0 auto;
	/* 原为 70px 的底部留白，属于旧布局；留白会让弹性居中的基准点下移，标识就不在中心了 */
	padding-bottom: 0;
	/* float: left; */
}
.subscribe >.container {
	padding-top: 80px;
	padding-bottom: 80px;
}
.subscribe h2 {
	font-weight: normal;
	font-size: 16px;
	color: #fff;
	margin: 0;
	line-height:70px;
	text-transform:uppercase;
	/* text-align: left; */
}
.subscribe-form {
	/* 原为 6px。这层上外边距会溢出到 .subscribe 之外参与居中计算，
	   把标识整体压低 3px，使居中不再精确。 */
	margin-top: 0;
	text-align:center;
}
.subscribe-form input[type=text] {
	width: 70%;
	height: 46px;
	display: block;
	padding: 0 20px;
	background-color: rgba(54, 57, 78, 0.36);
	border: 1px solid rgba(255, 255, 255, 0.66);
	-webkit-border-top-left-radius: 2px;
	-webkit-border-bottom-left-radius: 2px;
	-moz-border-radius-topleft: 2px;
	-moz-border-radius-bottomleft: 2px;
	border-top-left-radius: 2px;
	border-bottom-left-radius: 2px;
	line-height: 60px;
	letter-spacing:1px;
	font-size:15px;
	font-weight:300;
	float: left;
	border-right: 0;
}
.subscribe-form input:focus {
	outline: 0;
}
.subscribe-form input[type=submit] {
	width: 30%;
	height: 46px;
	display: block;
	padding: 0 10px;
	background-color: #FFC107;
	border: 1px solid #FFC107;
	color: #00050b;
	-webkit-border-top-right-radius: 2px;
	-webkit-border-bottom-right-radius: 2px;
	-moz-border-radius-topright: 2px;
	-moz-border-radius-bottomright: 2px;
	border-top-right-radius: 2px;
	border-bottom-right-radius: 2px;
	font-weight: 700;
	transition: all 0.125s ease-in-out 0s;
	-moz-transition: all 0.125s ease-in-out 0s;
	-webkit-transition: all 0.125s ease-in-out 0s;
	-o-transition: all 0.125s ease-in-out 0s;
	-ms-transition: all 0.125s ease-in-out 0s;
	float: right;
	cursor: pointer;
}
.subscribe-form input[type=submit]:hover {
	background-color: #daa300;
	border: 1px solid #daa300;
	color: #fff;
}

.error_message {
	color:#fc6e51;
	padding-bottom:15px;
	font-size:13px;
	line-height:30px;
}

#success_page {
	color:#9ce726;
	padding-bottom:10px;
	font-size:12px;
}
#success_page h3 {
	font-size:17px;
	font-weight:400px;
	color:#4ab217;
}
#success_page p {
	font-size:12px;
	font-weight:400px;
	color:#b3b3b3;
}
/* ------------------------------------------------------------------------------
	 Footer
-------------------------------------------------------------------------------*/
.footer {text-align: center;/* background-color: rgba(24, 24, 24, 0.27); */padding: 50px 0 50px 0;/* background: rgba(255, 255, 255, 0.17); */}

/* 钉在屏幕底部（而非页面底部）：页面无论多长、滚到哪里，页脚始终可见。
   页面内容比一屏高时，正文会从页脚下方滚过，因此给一层半透明深色底，
   避免文字与页脚叠在一起糊成一片。 */
.footer {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	margin: 0;
	padding: 22px 0 26px;
	/* 0.78 时背后滚过的亮色文字会透上来冲淡资质行，压到 0.92 保证可读 */
	background: rgba(0, 8, 18, 0.92);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
/* 两个标识并排一行：Goobird 在前，Hivideo 在后 */
.footer .footer-logos {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(10px, 3vw, 24px);
	margin: 0 0 var(--footer-logos-mb);
}
/* 只锁高度，宽度按各自 SVG 比例自适应。
   桌面 70px；窄屏按 15.5vw 收缩——两个标识宽度加起来是高度的 5.07 倍
   （2.278 + 2.788），不收缩的话 320px 屏上必然撑破一行。 */
.footer .footer-logos img {
	display: block;
	height: var(--footer-logo-h);
	width: auto;
}


.footer h5 {
	color: #fff;
}
.footer h5 {
	margin-bottom: 20px;
}
.footer p {
	color: #969696;
	font-size:12px;
	line-height:14px;
	/* text-align: left; */
}
.footer a {
	color: #fff;
}
.footer a:hover {
	color: #03a9f4;
}
/* 页脚文字分两组：
   版权 + 服务电话 = 公司与联系方式，行距收紧成一块；
   下面三行备案资质另成一块。两组之间留 12px，比块内间距大一档，
   靠疏密差把两块分开，不必加分割线或改颜色。 */
.footer .footer-contact {
	margin: 0 0 4px 0;
}
.footer .footer-tel {
	margin: 0 0 12px 0;
	/* 比资质行略亮一档：它是可操作的联系方式，不是备查的资质编号 */
	color: #a8a8a8;
	/* 数字用等宽字形，不同位数/字形的数字不会跳宽，视觉更齐 */
	font-variant-numeric: tabular-nums;
	letter-spacing: .3px;
}
/* 备案与经营资质：行距比正文更紧凑，末行不留多余间距 */
.footer .footer-record {
	margin: 0 0 6px 0;
}
.footer .footer-record:last-child {
	margin-bottom: 0;
}
.footer .footer-share {
	margin: 0 0 10px 0;
	/* text-align: left; */
}
.footer .footer-share li {
	display: inline-block;
	float: none;
}
.footer .footer-share a {
	border: none;
	font-size: 17px;
	letter-spacing:20px;
	color: #fff;
}
.footer .fa-heart {
	color: #e84545;
	font-size: 11px;
	margin: 0 2px;
}

 /* code for animated blinking cursor */
        .typed-cursor{
            opacity: 1;
            font-weight: 100;
            -webkit-animation: blink 0.7s infinite;
            -moz-animation: blink 0.7s infinite;
            -ms-animation: blink 0.7s infinite;
            -o-animation: blink 0.7s infinite;
            animation: blink 0.7s infinite;
        }
        @-keyframes blink{
            0% { opacity:1; }
            50% { opacity:0; }
            100% { opacity:1; }
        }
        @-webkit-keyframes blink{
            0% { opacity:1; }
            50% { opacity:0; }
            100% { opacity:1; }
        }
        @-moz-keyframes blink{
            0% { opacity:1; }
            50% { opacity:0; }
            100% { opacity:1; }
        }
        @-ms-keyframes blink{
            0% { opacity:1; }
            50% { opacity:0; }
            100% { opacity:1; }
        }
        @-o-keyframes blink{
            0% { opacity:1; }
            50% { opacity:0; }
            100% { opacity:1; }
        }
