@charset "UTF-8";
/********************************************
 * GLOBAL STYLES
 ******************************************** */
/* 指定預設字型 相對位置 */
* {
  font-family: "Oswald", "微軟正黑體";
}

html, body {
  overflow-x: hidden;
  font-size: 16px;
  margin: 0;
  padding: 0;
}

section {
  padding: 60px 0px;
  position: relative;
}

.container {
  max-width: 960px;
}

header {
  padding: 5% 0;
  position: relative;
  background-color: #FF7D8B;
  text-align: center;
}
header .slogan {
  width: 100%;
  color: #ececec;
  text-align: left;
  font-size: 18px;
}
header .slogan1 {
  margin-top: 80%;
}
header .slogan2 {
  position: absolute;
  margin-top: -70%;
}
header .slogan3 {
  position: absolute;
  margin-top: -60%;
}
header .slogan4 {
  position: absolute;
  margin-top: -50%;
}
header .icon {
  position: absolute;
  margin-top: -5%;
  margin-left: 5%;
  width: 100%;
  max-width: 450px;
  padding: 5px 0px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 444;
}
header .marginbottom {
  position: absolute;
  width: 125%;
  bottom: -30px;
  right: -20px;
  animation: upin 2s both;
  z-index: 122;
}
@keyframes upin {
  0% {
    bottom: -100px;
  }
  100% {
    bottom: 0px;
  }
}
header .explore {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 32px;
  color: #ececec;
  top: 85%;
  opacity: 0;
  transition: 0.5s;
  z-index: 555;
}
header .explore:after {
  display: block;
  content: "︾";
  transform: scaleX(1.2) scaleY(1.5);
}
header .explore.at_top {
  opacity: 1;
}

.navicon {
  width: 80px;
}

nav.navbar {
  height: 100px;
  transition: 0.5s;
  border: none;
}
nav.navbar a {
  transition: 0.5s;
}
nav.navbar .navfont {
  padding-top: 40px;
  font-size: 40px;
}

nav.navbar.at_top {
  background-color: transparent;
}
nav.navbar.at_top a, nav.navbar.at_top a:visited {
  color: #ececec;
  font-size: 40px;
}

.navbar-default {
  background-color: #ffddde;
}

section#section_about {
  background-color: #ffddde;
  position: relative;
}
section#section_about #cat {
  width: 30%;
  max-width: 300px;
  position: absolute;
  right: -200px;
  bottom: -70px;
  transform: translateX(-50%) scale(2.2);
  z-index: 50;
}
section#section_about #cross {
  position: absolute;
}
section#section_about #cross:before, section#section_about #cross:after {
  content: "";
  display: block;
  width: 60px;
  height: 15px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
section#section_about #cross:after {
  transform: translate(-50%, -50%) rotate(136deg);
}
section#section_about .container .col-sm-5 {
  position: relative;
  height: 280px;
}
section#section_about .container .col-sm-5 .myphoto {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 250px;
  height: 250px;
  background-image: url(../image/profilepicture.jpg);
  background-size: 100%;
  border-radius: 50%;
  transform-origin: center center;
}
section#section_about .container .col-sm-7 {
  margin: 20px 0;
  margin-bottom: 40px;
  text-align: left;
}
section#section_about .container .col-sm-7 h2 {
  color: #FF7D8B;
  margin-right: 17px;
  font-size: 28px;
  letter-spacing: 8px;
  font-weight: 700;
}
section#section_about .container .col-sm-7 h5 {
  font-size: 20px;
  letter-spacing: 4px;
}
section#section_about .container .col-sm-7 p {
  font-size: 18px;
  font-weight: 700;
  color: #FDE49;
  line-height: 22px;
}

.marginbottom2 {
  position: absolute;
  width: 60%;
  top: calc(100% + 5px);
  right: 240px;
  transform: scale(1.5);
  z-index: 3;
}

section#section_service {
  background-color: #ececec;
}
section#section_service hr {
  border-color: rgba(0, 0, 0, 0.7);
}
section#section_service .col-sm-4 {
  text-align: center;
}
section#section_service h3 {
  color: #131313;
}
section#section_service .icon_service {
  width: 60%;
}

.marginbottom2 {
  position: absolute;
  width: 95%;
  top: 100%;
  right: -20px;
  animation: upin 2s both;
  z-index: 5;
}

#section_works {
  background-color: #ffddde;
  padding: 30px 0;
}

.portfolio-item {
  margin: 1px -15px 0 -14px;
  padding: 15px;
}
.portfolio-item .hover-bg {
  overflow: hidden;
  position: relative;
  margin: 0;
}

.hover-bg .hover-text {
  position: absolute;
  text-align: center;
  margin: 0 auto;
  color: #fff;
  background: linear-gradient(to right, rgba(99, 114, 255, 0.8) 0%, rgba(92, 169, 251, 0.8) 100%);
  padding: 30% 0 0 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: all 0.5s;
}
.hover-bg .hover-text > h4 {
  opacity: 0;
  color: #fff;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  transition: all 0.3s;
  font-size: 18px;
  letter-spacing: 1px;
  font-weight: 500;
  text-transform: uppercase;
}
.hover-bg:hover .hover-text {
  opacity: 1;
}
.hover-bg:hover .hover-text > h4 {
  opacity: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

section#section_contact {
  background-color: #a5dfff;
  color: #111111;
  height: 100%;
  padding: 10% 0 10% 0px;
}
section#section_contact h2 {
  color: #FF7D8B;
  margin-right: 17px;
  font-size: 28px;
  letter-spacing: 8px;
  font-weight: 700;
}
section#section_contact p {
  font-size: 25px;
  font-weight: 700;
  color: #FDE49;
  line-height: 22px;
  margin-top: 30px;
}
section#section_contact .info-block {
  margin-top: 12%;
  position: relative;
}
section#section_contact .infoicon {
  position: absolute;
  width: 50px;
  height: 50px;
}
section#section_contact .infoicon1 {
  position: absolute;
  right: 50%;
}
section#section_contact .infoicon2 {
  position: absolute;
  right: 70%;
}
section#section_contact .cat {
  width: 150px;
  position: absolute;
  bottom: -150px;
  transition: 0.3s;
}
section#section_contact #cat_blue {
  right: 350px;
}
section#section_contact #cat_grey {
  right: 250px;
}
section#section_contact #cat_yellow {
  right: 150px;
}

#section_works .portfolio-item img {
    width: 100%;
    height: 250px;
    object-fit: contain;
    background: #f5f5f5;
}

footer {
  position: relative;
  background-color: #FF7D8B;
  text-align: center;
  padding: 10% 0 10% 0px;
}
footer #foot {
  padding: 0px 0px 30px 0px;
  letter-spacing: 10px;
  font-size: 18px;
  color: #ececec;
  font-weight: bold;
}
footer .icon {
  width: 80%;
  max-width: 250px;
  padding: 10px 0px;
}
