/* common */
.container { width:100%;max-width: 1600px; margin: 0 auto; padding:0 50px; }
.container .header { width:100%;margin-bottom: 40px;}
.container .header h2 { color: #000; margin-bottom: 20px;font-size:32px;}
.container .header .subtitle { font-size:20px;color:#000;height:20px;line-height: 20px;margin-bottom:45px; }
.container .header .subtitle::after { content:'';display:inline-block;vertical-align: middle;width:32px;height:2px;margin-left:16px;background-color: #000;margin-top:-1px; }

/* banner */
.banner { background: url('../images/banner-case.jpg') no-repeat center; background-size: cover; height: 480px; display: flex;align-items: flex-end; justify-content: flex-start; color: white; position: relative;}
.banner .container { flex-direction: column;  }
.banner p { width:100%;color:#fff;font-size:72px;font-weight:bolder; }
.banner h2 {  width:100%; display: block; font-size: 32px; margin-bottom: 40px;}

/* 筛选 */
.filter { padding:30px 0;background-color: #f5f5f5; }
.filter .container { flex-direction: column; }
.filter-row { display: flex;align-items: center;margin-bottom: 10px; }
.filter-row .label { min-width:4em ;margin-right: 30px;vertical-align: top;height:40px;line-height: 40px;display: inline-block;}
.filter-row .filter-buttons { display: flex;flex-wrap: wrap;  }
.filter-button { padding: 8px 15px;border: none;background-color: #f5f5f5;color: #333;cursor: pointer;border-radius: 4px;margin: 0 10px 0 0;font-size:16px; }
.filter-button.active { background-color: #ffe2e4;color: #e6212a;}

/* 案例列表 */
.cases-list { background-color:#f5f5f5;padding-bottom:50px; }
.cases-list ul { width:100%; }
.cases-list li { width: 100%;position: relative;height:480px;overflow: hidden;margin-bottom:30px;}
.cases-list li img { width:100%;height:100%; }
.case-item { width: 32%;position: absolute; background: rgba(34,34,34,.85);left: auto;bottom: 0;/*right: 0;*/top: 0;padding: 50px;-webkit-transition: background .3s;-moz-transition: background .3s;-ms-transition: background .3s;-o-transition: background .3s;transition: background .3s;}
.cases-list li:nth-child(2n+1) .case-item { right: 0;}
.cases-list li:nth-child(2n+2) .case-item { left: 0;}
.case-item-content { width: 100%;position: absolute;left: 0;top: 50%;z-index: 100;color: #fff;font-size: 14px;-webkit-transform: translateY(-50%);-moz-transform: translateY(-50%);-ms-transform: translateY(-50%);-o-transform: translateY(-50%);transform: translateY(-50%); text-align: center;}
.case-item-content h4 { font-size: 24px;line-height: 24px;letter-spacing: .12em;}
.case-item-content p { color: #cbcbcb;margin-top: 20px;}
.case-item-content p.style::before { content:'';display:inline-block;width:25px;height:1px;background-color: #cbcbcb;vertical-align: middle;margin-right:10px; }
.case-item-content p.style::after { content:'';display:inline-block;width:25px;height:1px;background-color: #cbcbcb;vertical-align: middle;margin-left:10px; }
.case-item-content p.tag span { color:#fff;margin:0 10px; }
.case-item-content a { display: inline-block;background: transparent;border: none;line-height: 22px;padding: 13px 30px;color: #fff;font-size: 14px;background-color: #262626;height: auto;margin-top: 0;opacity: 0;visibility: hidden;-webkit-transition: all .3s;-moz-transition: all .3s;-ms-transition: all .3s;-o-transition: all .3s;transition: all .3s; }
.case-item-content a i { vertical-align: middle; width:24px;height:16px;display:inline-block;margin-left: 10px;position: relative;left: 0;-webkit-transition: all .3s;-moz-transition: all .3s;-ms-transition: all .3s;-o-transition: all .3s;transition: all .3s;background-image: url(../images/icon-cases-more.png);}
.cases-list li:hover .case-item-content a { margin-top: 30px; opacity: 1; visibility: visible;}
.case-item-content a:hover { background-color: #565656; }
.case-item-content a:hover i { left: 10px;}

/* 案例内容 */
.case-slider { width:100%;background-color: #f5f5f5; }
.case-slider .container { position: relative;padding:0; }
.case-slider .hd { position: absolute;bottom: 40px;width: 100%;text-align: center;z-index: 1; }
.case-slider .hd ul { display: inline-block; list-style: none; padding: 0; margin: 0 auto; }
.case-slider .hd ul li { display: inline-block;margin-right: 2px;width: 12px;height: 12px;border-radius: 50%; background: #fff;cursor: pointer;text-indent: -9999px; }
.case-slider .hd ul li.on { background: #f00;color: #fff; }
.case-slider .bd { position: relative;height: 100%;z-index: 0; }
.case-slider .prev { position: absolute;left: 0;top: 50%;margin-top: -25px;display: block;width: 66px;height: 120px;background: url(../images/icon-case-detail-prev.png) no-repeat;filter: alpha(opacity=50);opacity: 0.5; }
.case-slider .next { position: absolute;left: auto;right: 0;top: 50%;margin-top: -25px;display: block;width: 66px;height: 120px;background: url(../images/icon-case-detail-next.png) no-repeat;filter: alpha(opacity=50);opacity: 0.5; }

.case-details { background-color: #f5f5f5;}
.case-details .container { padding: 90px 0;border-bottom-color: #e6e6e6;border-bottom-style:dashed; }
.case-details .title { display: flex;align-items: flex-start;flex-direction: column;width:400px; }
.case-details .title h1 { margin: 0;font-size: 36px;line-height: 36px;}
.case-details .title h1::after { content:'';display:block;margin:15px 0; width:24px;height:16px;background-image: url('../images/icon-case-detail-more.png'); background-size:inherit;background-repeat: no-repeat; background-position: center;  }
.case-details .title span { margin-left:0; color: #666; }
.case-details .info { flex:1; }
.case-details .info ul { list-style: none;padding: 0;display: flex;flex-wrap:nowrap;justify-content: flex-end;}
.case-details .info ul li { flex:1;text-align: left;}
.case-details .info ul li span { display:block;white-space: pre-wrap;}
.case-details .info ul li span:first-child { font-weight: bold;color: #333;font-size:24px;margin-bottom:30px;}
.case-details .info ul li span:last-child { font-weight:400;}
.case-details .info ul:last-child { margin-top:30px; justify-content: flex-start;}

.case-designer { background-color: #f5f5f5;}
.case-designer .container { padding: 90px 0;border-bottom-color: #e6e6e6;border-bottom-style:dashed;flex-direction: column; }
.case-designer .title { display: flex;align-items: flex-start;flex-direction: column;width:400px; }
.case-designer .title h2 { margin: 0;font-size: 36px;line-height: 36px;}
.case-designer .title h2::after { content:'';display:block;margin:15px 0; width:24px;height:16px;background-image: url('../images/icon-case-detail-more.png'); background-size:inherit;background-repeat: no-repeat; background-position: center;  }
.case-designer .title span { margin-left:0; color: #666; }

.case-designer .info { margin-top: 40px;padding: 40px;background-color: #fff;display: flex;justify-content: space-between;}
.case-designer .info .designer-image { flex: 1;margin-right: 60px; }
.case-designer .info .designer-image img { width: 100%;height: auto;}
.case-designer .info .designer-details { flex: 3;}
.case-designer .info .designer-details h2 { margin: 0;font-size: 36px;margin-bottom:30px; }
.case-designer .info .designer-details h2 span { font-size:24px;font-weight:400;margin-left:20px; }
.case-designer .info .designer-details p { margin-bottom: 20px; }
.case-designer .info .timeline { position: relative;padding-left: 50px;padding-top: 5px;}
.case-designer .info .timeline::before { content: '';position: absolute;left: 20px;top: 0;bottom: 0;width: 2px;background-color: #ccc; }
.case-designer .info .timeline ul {list-style: none;padding: 0; }
.case-designer .info .timeline ul li { position: relative;margin-bottom: 20px;width:100%; }
.case-designer .info .timeline ul li:last-child { margin-bottom: 0; }
.case-designer .info .timeline .marker { position: absolute;left: -40px;top: 3px;width: 20px;height: 20px;border-radius: 50%;background-color: #fff;border: 2px solid #e6212a; }
.case-designer .info .timeline .content span { display: block;margin-bottom: 5px;color:#666; }