@import url('https://fonts.googleapis.com/css?family=Montserrat|Noto+Sans+TC&display=swap');

/*------------------------------------*\
	General
\*------------------------------------*/

/* -- typography 排版 -- */

body {
  /* Google字體+無襯線體 */
  font-family: 'Varela Round', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
  color: #868f9b;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Montserrat', sans-serif;
  font-family: 'Noto Sans TC', sans-serif;
  font-weight: 700;
  margin-top: 0px;
  margin-bottom: 20px;
  color: #10161a;
}

h1 {
  font-size: 54px;
}

h2 {
  font-size: 36px;
}

h3 {
  font-size: 21px;
}

h4 {
  font-size: 18px;
}

h5 {
  font-size: 16px;
}

a {
  color: #ff0000;
  text-decoration: none;
  -webkit-transition: 0.2s opacity;
  transition: 0.2s opacity;
}

a:hover,
a:focus {
  text-decoration: none;
  outline: none;
  opacity: 0.8;
  color: #ff0000;
}

.main-color {
  color: #ff0000;
}

.white-text {
  color: #fff;
}

::-moz-selection {
  background-color: #ff0000;
  color: #fff;
}

::selection {
  background-color: #ff0000;
  color: #fff;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* -- section  -- */

.section {
  position: relative;
}

.md-padding {
  padding-top: 120px;
  padding-bottom: 120px;
}

.sm-padding {
  padding-top: 60px;
  padding-bottom: 60px;
}

/* --  background section  -- */
.home-content img {
  width: 70%;
}

.bg-grey {
  background-color: #fafafa;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

.bg-dark {
  background-color: #1c1d21;
}

.bg-white {
  background-color: #ffffff;
}

.bg-none {
  background-color: none;
}

.header-wrapper {
  font-family: 'Noto Sans TC', sans-serif;
}

.clear {
  clear: both;
}

.text-white {
  color: #ffffff;
}

.text-blk {
  color: #000000;
}

.m0 {
  margin: 0 auto;
  padding: 0;
}

.img-admin {
  display: block;
  width: 20%;
  height: 20%;
  background-position: center;
  background-size: contain;
}

/* --  background image section  -- */

.bg-img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}

.bg-img .overlay {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: 0.3;
  background: #630109;
}

/* --  section header  -- */

.section-header {
  position: relative;
  margin-bottom: 60px;
}

.title:after {
  content: '';
  display: block;
  height: 4px;
  width: 40px;
  background-color: #ff0000;
  margin-top: 20px;
}

.text-center .title:after {
  margin: 20px auto 0px;
}

/* ----------------以上OK------------- */

/*------------------------------------*\
	Logo
\*------------------------------------*/

.navbar-header {
  /* background: #31a7f7; */
  /* width: auto; */
  /* height: 110px; */
  /* padding: 0px 0px; */
  /* margin: 0px 0px 20px; */
  text-align: center;
}

.navbar-brand {
  /* padding: 10px; */
  width: 200px;
  height: 100%;
  /* float: none; */
  margin: 0 auto;
  padding: 0;
  /* background: rgb(90, 216, 59); */
  /* text-align: center; */
}

.navbar-brand img {
  position: relative;
  width: 60%;
  /* height: 90px; */
  margin-bottom: 20px;
  background-size: cover;
  transition: 0.5s width;
  background-position: center;
  /* background: #1b75eb; */
}

/* -----小於767px----- */
@media only screen and (max-width: 767px) {
  #nav.navbar-brand .logo {
    display: block !important;
  }
}

/*------------------------------------*\
	Navigation
\*------------------------------------*/

.red-stick {
  position: absolute;
  width: 100%;
  height: 10px;
  background: #ff0000;
  margin: 0;
  z-index: -1;
}

#nav {
  padding: 20px 0px 0px 0px;
  background: rgb(255, 255, 255);
  -webkit-transition: 0.5s padding;
  transition: 0.5s padding;
  z-index: 999;
}

#nav.navbar {
  border: none;
  border-radius: 0;
  margin-bottom: 0px;
}

#nav.fixed-nav {
  position: fixed;
  left: 0;
  right: 0;
  padding: 0px 0px;
  background-color: #fff !important;
  border-bottom: 1px solid #eee;
  transition: 0.5s padding;
}

/* .work > img {
  height: 390px;
} */

.work > h3 {
  text-align: center;
}

/* -- default nav --768px以上-電腦版 */

@media only screen and (min-width: 768px) {
  .main-nav {
    padding: 50px 0px;
    transition: 0.5s padding;
    /* background: #ee2a7b; */
  }

  #nav.fixed-nav .navbar-brand {
    /* margin:  10px; */
    padding: 0px;
    margin: 0;
    /* background: #868f9b; */
  }

  #nav.fixed-nav .navbar-brand img {
    width: 40%;
    padding: 0px;
    margin: 5px;
    transition: 0.5s width;
  }

  #nav.fixed-nav .main-nav {
    padding: 30px 0px 0px 0px;
    transition: 0.5s padding;
  }

  .main-nav li {
    padding: 0px 15px;
  }

  .main-nav li a {
    font-size: 26px;
    font-family: 'Noto Sans TC', sans-serif;
    -webkit-transition: 0.2s color;
    transition: 0.2s color;
  }

  /* 導覽列文字 */
  .main-nav > li > a {
    color: rgb(0, 0, 0);
    padding: 0px 0px;
    /* background: #630109; */
  }
  /* 網頁向下移動文字變色 */
  /* #nav.nav-transparent:not(.fixed-nav) .main-nav>li>a {
        color: rgb(0, 0, 0);
    } */
  /* 導覽列文字，滑鼠滑過/按下之後變色 */
  .main-nav > li > a:hover,
  .main-nav > li > a:focus,
  .main-nav > li.active > a {
    background: transparent;
    color: #ff0000;
  }
  /* 導覽下文字下的紅線 */
  .main-nav > li > a:after {
    content: '';
    display: block;
    background-color: #ff0000;
    margin-top: 10px;
    height: 5px;
    width: 0%;
    -webkit-transition: 0.2s width;
    transition: 0.2s width;
  }
  .main-nav > li > a:hover:after,
  .main-nav > li.active > a:after {
    width: 100%;
  }

  /* -----------下拉選單OK------ */

  /* dropdown 下拉選單*/
  .has-dropdown {
    position: relative;
  }
  .has-dropdown > a:before {
    font-family: 'FontAwesome';
    content: '\f054';
    font-weight: 400;
    font-size: 10px;
    margin-left: 6px;
    float: right;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: 0.2s transform;
    transition: 0.2s transform;
  }
  .dropdown {
    position: absolute;
    right: -50%;
    top: 0;
    background-color: #ff0000;
    width: 200px;
    -webkit-box-shadow: 0px 5px 5px -5px rgba(53, 64, 82, 0.2);
    box-shadow: 0px 5px 5px -5px rgba(53, 64, 82, 0.2);
    -webkit-transform: translateY(15px) translateX(50%);
    -ms-transform: translateY(15px) translateX(50%);
    transform: translateY(15px) translateX(50%);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
  }
  .main-nav > .has-dropdown > .dropdown {
    top: 125%;
    right: 50%;
  }
  /* .main-nav>.has-dropdown>.dropdown .dropdown.dropdown-left {
        right: 150%;
    } */
  .dropdown li a {
    display: block;
    text-align: center;
    color: #fff;
    border-top: 2px solid rgba(255, 255, 255);
    padding: 10px 0px;
  }
  .dropdown li:nth-child(1) a {
    border-top: none;
  }
  .has-dropdown:hover > .dropdown {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0px) translateX(50%);
    -ms-transform: translateY(0px) translateX(50%);
    transform: translateY(0px) translateX(50%);
  }
  .has-dropdown:hover > a:before {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  .nav-collapse {
    display: none;
  }
}

/* -- mobile nav 手機版-- 767px以下*/

@media only screen and (max-width: 767px) {
  #nav {
    padding: 0px 0px;
  }

  .navbar-header {
    padding: 0px;
    margin: 0px;
    height: 50px;
  }

  .navbar-brand {
    padding: 0px;
    margin: 0;
    text-align: left;
  }

  .navbar-brand img {
    width: 20%;
    padding: 0px;
    margin: 5px;
    margin-left: 20px;
  }

  .main-nav {
    position: fixed;
    right: 0;
    height: calc(100vh - 80px);
    -webkit-box-shadow: 0px 80px 0px 0px #1c1d21;
    box-shadow: 0px 80px 0px 0px #1c1d21;
    max-width: 250px;
    width: 0%;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    margin: 0;
    overflow-y: auto;
    background: #1c1d21;
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
  }
  #nav.open .main-nav {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
    width: 100%;
  }
  .main-nav li {
    border-top: 1px solid rgba(250, 250, 250, 0.1);
  }
  .main-nav li a {
    display: block;
    color: #fff;
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
  }
  .main-nav > li.active {
    border-left: 6px solid #ff0000;
  }
  .main-nav li a:hover,
  .main-nav li a:focus {
    background-color: #ff0000;
    color: #fff;
    opacity: 1;
  }
  .has-dropdown > a:after {
    content: '\f054';
    font-family: 'FontAwesome';
    float: right;
    -webkit-transition: 0.2s -webkit-transform;
    transition: 0.2s -webkit-transform;
    transition: 0.2s transform;
    transition: 0.2s transform, 0.2s -webkit-transform;
  }
  .dropdown {
    opacity: 0;
    visibility: hidden;
    height: 0;
    background: rgba(250, 250, 250, 0.1);
  }
  .dropdown li a {
    padding: 6px 10px;
  }
  .has-dropdown.open-drop > a:after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .has-dropdown.open-drop > .dropdown {
    opacity: 1;
    visibility: visible;
    height: auto;
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
  }
  /* .work > img {
    height: 200px;
  } */
  .work-content h3 {
    font-size: 14px;
  }
}

/* -----------------------以下OK-------------------------------- */

/* -- nav btn collapse -- */

.nav-collapse {
  position: relative;
  float: right;
  width: 40px;
  height: 40px;
  margin-top: 5px;
  margin-right: 5px;
  cursor: pointer;
  z-index: 99999;
}

.nav-collapse span {
  display: block;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25px;
}

.nav-collapse span:before,
.nav-collapse span:after {
  content: '';
  display: block;
}

.nav-collapse span,
.nav-collapse span:before,
.nav-collapse span:after {
  height: 4px;
  background: #10161a;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}

.nav-collapse span:before {
  -webkit-transform: translate(0%, 10px);
  -ms-transform: translate(0%, 10px);
  transform: translate(0%, 10px);
}

.nav-collapse span:after {
  -webkit-transform: translate(0%, -14px);
  -ms-transform: translate(0%, -14px);
  transform: translate(0%, -14px);
}

#nav.open .nav-collapse span {
  background: transparent;
}

#nav.open .nav-collapse span:before {
  -webkit-transform: translateY(0px) rotate(-135deg);
  -ms-transform: translateY(0px) rotate(-135deg);
  transform: translateY(0px) rotate(-135deg);
}

#nav.open .nav-collapse span:after {
  -webkit-transform: translateY(-4px) rotate(135deg);
  -ms-transform: translateY(-4px) rotate(135deg);
  transform: translateY(-4px) rotate(135deg);
}

/*------------------------------------*\
	Header
\*------------------------------------*/

header {
  position: relative;
}

#home {
  height: 100vh;
}

#home .home-wrapper {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: center;
}

/*------------------------------------*\
	Profile
\*------------------------------------*/
.profile {
  position: relative;
  text-align: left;
  padding: 40px 20px;
  border: 1px solid #eee;
  margin: 15px 0px;
}

.profile:after {
  content: '';
  background-color: rgb(66, 66, 66);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0%;
  z-index: -1;
  -webkit-transition: 0.2s width;
  transition: 0.2s width;
}

.profile:hover:after {
  width: 100%;
}

.profile h3 {
  -webkit-transition: 0.2s color;
  transition: 0.2s color;
}

.profile:hover h3 {
  color: #fff;
}

.text-red {
  color: #ff0000;
}

/*------------------------------------*\
	Products
\*------------------------------------*/
#products {
  background: rgb(226, 226, 226);
}

.work {
  position: relative;
  padding: 20px;
  /* height: 550px; */
}

.work > img {
  width: 100%;
  vertical-align: middle;
  background-size: contain;
}

.work .overlay {
  background: #6b6b6b;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  opacity: 0;
  -webkit-transition: 0.2s opacity;
  transition: 0.2s opacity;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.work:hover .overlay {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  opacity: 0.3;
}

.work .work-content {
  position: absolute;
  left: 25px;
  right: 25px;
  top: 50%;
  text-align: center;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.work .work-content h3 {
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  opacity: 0;
  color: #fff;
  margin-bottom: 10px;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.work:hover .work-content h3 {
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  transform: translateY(0%);
  opacity: 1;
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.work a {
  display: inline-block;
  width: 50%;
  height: 50%;
  background-color: #ff0000;
  color: #fff;
  line-height: 50px;
  text-align: center;
  border-radius: 10px;
}

.work:hover .work-link {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
  opacity: 1;
}

.imgframe {
  background-color: #630109;
}

/*------------------------------------*\
	Contact
\*------------------------------------*/

.contact {
  margin: 10px 0px;
  text-align: center;
}

.contact i {
  display: inline-block;
  font-size: 50px;
  color: #ff0000;
  margin-bottom: 20px;
}

.contact > h4 {
  color: gray;
}

#contact iframe {
  width: 100%;
  height: 30vh;
}

/*------------------------------------*\
	Footer
\*------------------------------------*/

#footer {
  position: relative;
}

.footer-logo {
  text-align: center;
  margin-bottom: 40px;
}

.footer-logo > a > img {
  max-height: 80px;
}

.footer-follow {
  text-align: center;
  margin-bottom: 20px;
}

.footer-follow li {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 13px;
}

.footer-follow li a {
  display: inline-block;
  width: 50px;
  height: 50px;
  /* line-height: 50px; */
  /* text-align: center; */
  border-radius: 3px;
  margin: 10px;
}

.footer-fb {
  display: inline-block;
  width: 50px;
  height: 50px;
  background-image: url('../img/icon-fb.svg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 3px;
}

.footer-line {
  display: inline-block;
  width: 50px;
  height: 50px;
  background-image: url('../img/icon-line.svg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 3px;
}

.footer-yt {
  display: inline-block;
  width: 50px;
  height: 50px;
  background-image: url('../img/icon-yt.svg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 3px;
}

.footer-copyright p {
  text-align: center;
  font-size: 16px;
  text-transform: uppercase;
  margin: 0;
}

/*------------------------------------*\
	Responsive
\*------------------------------------*/

/* ----小於991px------- */
@media only screen and (max-width: 991px) {
}

/* -----小於767px------ */
@media only screen and (max-width: 767px) {
  .section-header h2.title {
    font-size: 31.5px;
  }
}

/* ------小於480px------ */
@media only screen and (max-width: 480px) {
  .home-content img {
    width: 90%;
  }
  #profile [class*='col-xs'] {
    width: 100%;
  }
}

/*------------------------------------*\
	Back to top
\*------------------------------------*/

#back-to-top {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #ff0000;
  border-radius: 3px;
  color: #fff;
  z-index: 9999;
  -webkit-transition: 0.2s opacity;
  transition: 0.2s opacity;
  cursor: pointer;
}

#back-to-top:after {
  content: '\f106';
  font-family: 'FontAwesome';
}

#back-to-top:hover {
  opacity: 0.8;
}

/*------------------------------------*\
	Preloader
\*------------------------------------*/

#preloader {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  background-color: #fff;
  z-index: 99999;
  text-align: center;
}

.preloader {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.preloader img {
  width: 60%;
  max-width: 80%;
  height: auto;
}

.preloader span {
  display: inline-block;
  background-color: #ff0000;
  width: 25px;
  height: 25px;
  -webkit-animation: 1s preload ease-in-out infinite;
  animation: preload 1s ease-in-out infinite;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  border-radius: 50%;
}

.preloader span:nth-child(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.preloader span:nth-child(2) {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

.preloader span:nth-child(3) {
  -webkit-animation-delay: 0.15s;
  animation-delay: 0.15s;
}

.preloader span:nth-child(4) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

@-webkit-keyframes preload {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}

@keyframes preload {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}

.masonry,
.masonry .masonry-brick {
  -webkit-transition-duration: 0.7s;
  -moz-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  transition-duration: 0.7s;
}
.masonry {
  -webkit-transition-property: height, width;
  -moz-transition-property: height, width;
  -o-transition-property: height, width;
  transition-property: height, width;
}
.masonry .masonry-brick {
  -webkit-transition-property: left, right, top;
  -moz-transition-property: left, right, top;
  -o-transition-property: left, right, top;
  transition-property: left, right, top;
}
