@charset "UTF-8";

body {
  background-color: #f6f5f0;
  font-size: 1rem;
  font-family: "微軟正黑體", "Microsoft JhengHei",  Arial, Helvetica, sans-serif;
  letter-spacing: 0.5px;
  color: #595757;
}

a, a:hover {
  color: #595757;
  text-decoration: none;
}

.bg-header {
  background: url("../vendor/img/bg_header.jpg") no-repeat center top;
  background-color: transparent !important;
  background-size: cover;
  padding: 0;
  transition: all ease-in-out 500ms;
}

@media (min-width: 768px) {
	.bg-header {
		min-height: 112px;
	}
}

@media (max-width: 767px){
  .bg-header {
    background: url("../vendor/img/bg_m_header.png") no-repeat center center;
    background-color: #fff !important;
    background-position: right -160px top;
    background-size: auto 150px;
    padding: 0.5rem 1rem;

    box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14), 
                0 1px 18px 0 rgba(0, 0, 0, .12), 
                0 3px 5px -1px rgba(0, 0, 0, .2);
  }
}

.navbar-brand {
  display: inline-flex;
  width: 100%;
  justify-content: center;
  align-items: center;
}

@media (max-width: 767px){
  .navbar-brand {
    display: inline-flex;
    position: relative;
    width: calc(100% - 100px);
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-left: 20px;
  }
  .navbar-brand:before {
    content: "";
    background: url("../vendor/img/bg-left-arr.png") no-repeat center center;
    display: inline-block;
    position: absolute;
    left: -30px;
    top: 65px;
    width: 30px;
    height: 40px;
    background-size: contain;
  }
  .navbar-brand:after {
    content: "";
    background: url("../vendor/img/bg-right-arr.png") no-repeat center center;
    display: inline-block;
    position: absolute;
    right: -40px;
    top: 65px;
    width: 30px;
    height: 40px;
    background-size: contain;
  }
}

.navbar-slogan {
  display: flex;
  font-weight: bold;
  line-height: 42px;
  margin: 0;
}
@media (min-width: 768px) {
	.navbar-slogan {
    padding-left: 110px;
  }
}
@media (max-width: 767px){
  .navbar-slogan {
    font-size: 1.5rem;
  }
}

/************* Hamburger *************/
.navbar-dark .navbar-toggler {
  color: rgba(255,255,255,.5);
  border: 0;
}
@media (min-width: 768px) {
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}
@media (max-width: 767px) {
  .navbar-expand-lg .navbar-toggler {
    display: block;
  }
}
.navbar-toggler:focus,
.navbar-toggler:active {
  outline: 0;
}

.navbar-toggler span {
 display: block;
 background-color: #fff;
 height: 3px;
 width: 25px;
 margin-top: 4px;
 margin-bottom: 4px;
 -webkit-transform: rotate(0deg);
 -moz-transform: rotate(0deg);
 -o-transform: rotate(0deg);
 transform: rotate(0deg);
 position: relative;
 left: 0;
 opacity: 1;
}

.navbar-toggler span:nth-child(1),
.navbar-toggler span:nth-child(3) {
 -webkit-transition: transform .35s ease-in-out;
 -moz-transition: transform .35s ease-in-out;
 -o-transition: transform .35s ease-in-out;
 transition: transform .35s ease-in-out;
}

.navbar-toggler:not(.collapsed) span:nth-child(1) {
  top: 12px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
  opacity: 0.9;
}

.navbar-toggler:not(.collapsed) span:nth-child(2) {
  height: 12px;
  visibility: hidden;
  background-color: transparent;
}

.navbar-toggler:not(.collapsed) span:nth-child(3) {
  top: -11px;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg);
  opacity: 0.9;
}
/************* Hamburger *************/

ul.navbar-nav.custom-navbar-nav {
  display: none;
}

@media (max-width: 767px) {
  ul.navbar-nav.custom-navbar-nav {
    display: block;
    margin-top: 48px;
  }
}
.navbar-custom .navbar-nav .nav-link {
  color: rgba(0,0,0,.8);
}
.navbar-custom .navbar-nav .nav-link:focus, 
.navbar-custom .navbar-nav .nav-link:hover {
  color: rgba(0,0,0,.95);
}

.card-title {
  font-weight: bold;
  padding: 10px 15px;
  border: 1px solid #3bb1b9;
}
ul.halo-circle li {
  position: relative;
  padding: 15px;
  border-bottom: 1px dashed #898989;
}
ul.halo-circle li:before {
  content:'';
  display:inline-block;
  width: 12px;
  height: 12px;
  margin-right: 5px;
  border: 2px solid #f6712a;
  border-radius: 100%;
}
ul.halo-circle li:hover:before {
  -webkit-animation: swing 1s ease;
          animation: swing 1s ease;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
}
@-webkit-keyframes swing {
  15% {
      -webkit-transform: translateY(5px);
      transform: translateY(5px);
  }
  30% {
      -webkit-transform: translateY(-5px);
      transform: translateY(-5px);
  }
  50% {
      -webkit-transform: translateY(3px);
      transform: translateY(3px);
  }
  65% {
      -webkit-transform: translateY(-3px);
      transform: translateY(-3px);
  }
  80% {
      -webkit-transform: translateY(2px);
      transform: translateY(2px);
  }
  100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
  }
}
@keyframes swing {
  15% {
      -webkit-transform: translateY(5px);
      transform: translateY(5px);
  }
  30% {
      -webkit-transform: translateY(-5px);
      transform: translateY(-5px);
  }
  50% {
      -webkit-transform: translateY(3px);
      transform: translateY(3px);
  }
  65% {
      -webkit-transform: translateY(-3px);
      transform: translateY(-3px);
  }
  80% {
      -webkit-transform: translateY(2px);
      transform: translateY(2px);
  }
  100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
  }
}
ul.halo-circle li a:hover {
  color: #f6712a;
}
ul.halo-circle li a span {
  display: inline-block;
  width: calc(100% - 24px);
  vertical-align: top;
}



/* index page content */
.shadow-right {
  -webkit-box-shadow: 30px 0px 15px -30px rgba(0,0,0,0.3);
     -moz-box-shadow: 30px 0px 15px -30px rgba(0,0,0,0.3);
          box-shadow: 30px 0px 15px -30px rgba(0,0,0,0.3);
}
.content-footer {
  background: url("../vendor/img/bg_footer.png") no-repeat bottom center;
}
.badge-block {
  text-align: center;
  position: absolute;
  top: 50px;
  left: 0;
  right: 0;
}
.badge-title {
  font-size: 1.250em;
  font-weight: bold;
}
.badge-subtitle {
  display: inline-block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.750em;
  font-weight: bold;
}
.content-table {
  font-size: 0.875rem;
  margin: 0 auto;
  border-top: 2px solid #42bbc4;
}
.content-table table tbody tr td {
  color: #595757;
  vertical-align: middle;
}
.content-table table tbody tr:nth-child(odd) {
  background-color: white;
}
.content-table table tbody tr:nth-child(even) {
  background-color: #f2f2f3;
}
@media (max-width: 767px) {
  .content-table table tr td:first-child,
  .content-table table tr td:last-child {
    padding: 0;
  }
}
.content-table table tbody tr td a img {
  width: 32px;
  height: 32px;
  transition: all ease-in-out 500ms;
}
.content-table table tbody tr td a:hover img {
  transform: scale(1.2); 
}



/* School Login */
.login-badge-hr {
  width: 100%;
  height: 1px;
  border-top: 2px solid #42bbc4;
}
.login-badge-block {
  background-color: white;
  margin: -75px auto 0;
}
.snp-badge-block {
  width: 160px;
  height: 112px;
}
.sch-badge-block {
  width: 160px;
  height: 112px;
}
.login-badge-block .badge-block {
  top: 30px;
}
.login-content .card-header {
  background-color: white;
  font-size: 1.125rem;
  font-weight: bold;
  text-indent: 15px;
  padding: 0;
  border-radius: 0;
  border:0;
  border-left: 3px solid #42bbc4;
}
.login-content input.form-control.form-control-lg {
  font-size: 0.875rem;
  line-height: 2.2;
  padding: 1.625rem 1rem;
}
.login-content input.form-control-plaintext {
  font-size: 1.125rem;
  color: #595757;
}
.btn-orange {
  color: #fff;
  background-color: #f65d00;
  border-color: #f65d00;
}
.btn-orange:hover {
  color: #fff;
  background-color: #b94700;
  border-color: #b94700;
}
.btn-secondary {
  color: #fff;
  background-color: #b8b8b8;
  border-color: #b8b8b8;
}
.border-15 {
  border: 15px solid;
  border-radius: 15px;
}
.border-light {
  border-color: #e4e5e5!important;
}
.list-info {
  list-style-type: decimal;
  margin-bottom: 0.5rem;
  padding-inline-start: 35px;
}

.list-info li {
  font-size: 0.875rem;
  color: #595757;
  padding-top: 3px;
  padding-bottom: 3px;
  margin-bottom: 0;
}


/* Custom Setting */
.t-14 {
  font-size: 0.875rem;
}
.t-12 {
  font-size: 0.75rem;
}
.text-green {
  color: #42bbc4;
}

/* CSS FOR IE ONLY (TAMADER!!) */
@media screen and (min-width: 992px) and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .navbar-dark .navbar-brand {
    margin-top: 25px;
    text-align: left;
  }

  .navbar-slogan {
    padding-left: 300px;
    padding-right: 220px;
  }

  .login-content input.form-control.form-control-lg {
    height: 56px;
    font-size: .825rem;
    line-height: 1.5;
    padding:.5rem 1rem;
  }

}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 992px) and (max-width: 1199px) { 
  .navbar-slogan {
    padding-left: 240px;
    padding-right: 240px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 768px) and (max-width: 991px) { 
  .navbar-slogan {
    padding-left: 140px;
    padding-right: 140px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (max-width: 767px) { 
  .navbar-dark .navbar-brand {
    margin-top: 0px;
    text-align: left;
  }     
  .navbar-slogan {
    padding-left: 0;
    padding-right: 0;
  }
}