@charset "UTF-8";
.container {
  margin: 0 auto;
  padding: 0 15px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.row {
  width: calc(100% + 15px*2);
  flex: 0 0 calc(100% + 15px*2);
  margin: 0 -15px;
  display: flex;
  flex-wrap: wrap;
}

.col {
  padding: 0 15px;
  transition: 0.2s;
}

/* dùng xs cho màn điện thoại có kích thước nhỏ hơn 576px */
@media only screen and (max-width: 575px) {
  .container {
    max-width: 100%;
  }
  .col-xs-1 {
    width: calc(100% - 100% / (12 / (12 - 1)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 1)));
  }
  .col-xs-2 {
    width: calc(100% - 100% / (12 / (12 - 2)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 2)));
  }
  .col-xs-3 {
    width: calc(100% - 100% / (12 / (12 - 3)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 3)));
  }
  .col-xs-4 {
    width: calc(100% - 100% / (12 / (12 - 4)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 4)));
  }
  .col-xs-5 {
    width: calc(100% - 100% / (12 / (12 - 5)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 5)));
  }
  .col-xs-6 {
    width: calc(100% - 100% / (12 / (12 - 6)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 6)));
  }
  .col-xs-7 {
    width: calc(100% - 100% / (12 / (12 - 7)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 7)));
  }
  .col-xs-8 {
    width: calc(100% - 100% / (12 / (12 - 8)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 8)));
  }
  .col-xs-9 {
    width: calc(100% - 100% / (12 / (12 - 9)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 9)));
  }
  .col-xs-10 {
    width: calc(100% - 100% / (12 / (12 - 10)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 10)));
  }
  .col-xs-11 {
    width: calc(100% - 100% / (12 / (12 - 11)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 11)));
  }
  .col-xs-12 {
    width: 100%;
    flex: 0 0 100%;
  }
}
/* dùng sm cho màn điện thoại có kích thước lớn hơn 576px */
@media only screen and (min-width: 576px) {
  .container {
    max-width: 540px;
  }
  .col-sm-1 {
    width: calc(100% - 100% / (12 / (12 - 1)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 1)));
  }
  .col-sm-2 {
    width: calc(100% - 100% / (12 / (12 - 2)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 2)));
  }
  .col-sm-3 {
    width: calc(100% - 100% / (12 / (12 - 3)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 3)));
  }
  .col-sm-4 {
    width: calc(100% - 100% / (12 / (12 - 4)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 4)));
  }
  .col-sm-5 {
    width: calc(100% - 100% / (12 / (12 - 5)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 5)));
  }
  .col-sm-6 {
    width: calc(100% - 100% / (12 / (12 - 6)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 6)));
  }
  .col-sm-7 {
    width: calc(100% - 100% / (12 / (12 - 7)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 7)));
  }
  .col-sm-8 {
    width: calc(100% - 100% / (12 / (12 - 8)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 8)));
  }
  .col-sm-9 {
    width: calc(100% - 100% / (12 / (12 - 9)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 9)));
  }
  .col-sm-10 {
    width: calc(100% - 100% / (12 / (12 - 10)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 10)));
  }
  .col-sm-11 {
    width: calc(100% - 100% / (12 / (12 - 11)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 11)));
  }
  .col-sm-12 {
    width: 100%;
    flex: 0 0 100%;
  }
}
/* dùng md cho màn điện thoại có kích thước lớn hơn 768px */
@media only screen and (min-width: 768px) {
  .container {
    max-width: 720px;
  }
  .col-md-1 {
    width: calc(100% - 100% / (12 / (12 - 1)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 1)));
  }
  .col-md-2 {
    width: calc(100% - 100% / (12 / (12 - 2)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 2)));
  }
  .col-md-3 {
    width: calc(100% - 100% / (12 / (12 - 3)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 3)));
  }
  .col-md-4 {
    width: calc(100% - 100% / (12 / (12 - 4)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 4)));
  }
  .col-md-5 {
    width: calc(100% - 100% / (12 / (12 - 5)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 5)));
  }
  .col-md-6 {
    width: calc(100% - 100% / (12 / (12 - 6)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 6)));
  }
  .col-md-7 {
    width: calc(100% - 100% / (12 / (12 - 7)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 7)));
  }
  .col-md-8 {
    width: calc(100% - 100% / (12 / (12 - 8)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 8)));
  }
  .col-md-9 {
    width: calc(100% - 100% / (12 / (12 - 9)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 9)));
  }
  .col-md-10 {
    width: calc(100% - 100% / (12 / (12 - 10)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 10)));
  }
  .col-md-11 {
    width: calc(100% - 100% / (12 / (12 - 11)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 11)));
  }
  .col-md-12 {
    width: 100%;
    flex: 0 0 100%;
  }
}
/* dùng lg cho màn điện thoại có kích thước lớn hơn 992px */
@media only screen and (min-width: 992px) {
  .container {
    max-width: 960px;
  }
  .col-lg-1 {
    width: calc(100% - 100% / (12 / (12 - 1)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 1)));
  }
  .col-lg-2 {
    width: calc(100% - 100% / (12 / (12 - 2)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 2)));
  }
  .col-lg-3 {
    width: calc(100% - 100% / (12 / (12 - 3)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 3)));
  }
  .col-lg-4 {
    width: calc(100% - 100% / (12 / (12 - 4)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 4)));
  }
  .col-lg-5 {
    width: calc(100% - 100% / (12 / (12 - 5)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 5)));
  }
  .col-lg-6 {
    width: calc(100% - 100% / (12 / (12 - 6)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 6)));
  }
  .col-lg-7 {
    width: calc(100% - 100% / (12 / (12 - 7)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 7)));
  }
  .col-lg-8 {
    width: calc(100% - 100% / (12 / (12 - 8)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 8)));
  }
  .col-lg-9 {
    width: calc(100% - 100% / (12 / (12 - 9)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 9)));
  }
  .col-lg-10 {
    width: calc(100% - 100% / (12 / (12 - 10)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 10)));
  }
  .col-lg-11 {
    width: calc(100% - 100% / (12 / (12 - 11)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 11)));
  }
  .col-lg-12 {
    width: 100%;
    flex: 0 0 100%;
  }
}
/* dùng xl cho màn điện thoại có kích thước lớn hơn 1200px */
@media only screen and (min-width: 1240px) {
  .container {
    max-width: 1240px;
  }
  .col-xl-1 {
    width: calc(100% - 100% / (12 / (12 - 1)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 1)));
  }
  .col-xl-2 {
    width: calc(100% - 100% / (12 / (12 - 2)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 2)));
  }
  .col-xl-3 {
    width: calc(100% - 100% / (12 / (12 - 3)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 3)));
  }
  .col-xl-4 {
    width: calc(100% - 100% / (12 / (12 - 4)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 4)));
  }
  .col-xl-5 {
    width: calc(100% - 100% / (12 / (12 - 5)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 5)));
  }
  .col-xl-6 {
    width: calc(100% - 100% / (12 / (12 - 6)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 6)));
  }
  .col-xl-7 {
    width: calc(100% - 100% / (12 / (12 - 7)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 7)));
  }
  .col-xl-8 {
    width: calc(100% - 100% / (12 / (12 - 8)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 8)));
  }
  .col-xl-9 {
    width: calc(100% - 100% / (12 / (12 - 9)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 9)));
  }
  .col-xl-10 {
    width: calc(100% - 100% / (12 / (12 - 10)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 10)));
  }
  .col-xl-11 {
    width: calc(100% - 100% / (12 / (12 - 11)));
    flex: 0 0 calc(100% - 100% / (12 / (12 - 11)));
  }
  .col-xl-12 {
    width: 100%;
    flex: 0 0 100%;
  }
}
/* dùng cho một vài thuộc tính riêng cho trình duyện VD: transition, box-shadow */
/* căn giữa chiều dọc và ngang trên 1 box */
/* background opacity */
.flex {
  display: flex;
  flex-wrap: wrap;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-center-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.flex-center-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.flex-center-around {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.flex-center-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.flex-left-center {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.flex-left {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.flex-left-between {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.flex-right-center {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.flex-right-left {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.flex-inline-center {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.flex-inline-center-left {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
}

.flex-inline-center-right {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
}

.flex-inline-center-between {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
}

.text-center {
  text-align: center;
  width: 100%;
}

.f-w-b {
  font-weight: bold;
}

.f-italic {
  font-style: italic;
}

.color-main {
  color: #ff6d10;
}

.white {
  color: #fff;
}

.black {
  color: #000;
}

.text-up {
  text-transform: uppercase;
}

.w-100 {
  width: 100%;
}

.h-100 {
  height: 100%;
}

.fw-600 {
  font-weight: 600;
}

.fw-500 {
  font-weight: 500;
}

.fs-10 {
  font-size: 10px;
}

.fs-14 {
  font-size: 14px;
}

.fs-12 {
  font-size: 12px;
}

.fs-25 {
  font-size: 25px;
}

.fs-18 {
  font-size: 18px;
}

.fs-30 {
  font-size: 30px;
}

.mb-10 {
  margin-bottom: 10px;
}

.mt-15 {
  margin-top: 15px;
}

.mb-15 {
  margin-bottom: 15px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-30 {
  margin-bottom: 30px;
}

.mr-20 {
  margin-right: 20px;
}

.lh-22 {
  line-height: 22px;
}

.pt-20 {
  padding-top: 20px;
}

.pd-35 {
  padding: 3.5rem 0;
}

.pt-0 {
  padding-top: 0 !important;
}

/* dùng cho một vài thuộc tính riêng cho trình duyện VD: transition, box-shadow */
/* căn giữa chiều dọc và ngang trên 1 box */
/* background opacity */
/*toast alert*/
.toast-top-right {
  top: 12px;
  right: 12px;
}

#toast-container {
  position: fixed;
  z-index: 999999;
  pointer-events: none;
  display: none;
}

#toast-container * {
  box-sizing: border-box;
}

#toast-container > div {
  position: relative;
  pointer-events: auto;
  overflow: hidden;
  margin: 0 0 6px;
  padding: 10px;
  width: 350px;
  border-radius: 3px;
  background-position: 15px center;
  background-repeat: no-repeat;
  box-shadow: 0 0 12px #999;
  color: #FFF;
}

#toast-container > div:hover {
  box-shadow: 0 0 12px #000;
  opacity: 1;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  filter: alpha(opacity=100);
  cursor: pointer;
}

#toast-container.toast-bottom-center > div,
#toast-container.toast-top-center > div {
  width: 350px;
  margin-left: auto;
  margin-right: auto;
}

.toast {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.toast-icon {
  flex: 0 0 18px;
}
.toast-icon span {
  width: 16px;
  height: 16px;
  text-align: center;
  display: block;
  background-color: red;
  border-radius: 50%;
  display: none;
  line-height: 19px;
}
.toast-icon span.success {
  background-color: transparent;
}
.toast-icon span.success svg path {
  fill: #2dcb48;
}
.toast-message {
  flex: 0 0 calc(100% - 20px);
  padding-left: 15px;
}
.toast-message_title {
  font-size: 15px;
  color: #031b4e;
  font-weight: 600;
}
.toast-message_content {
  font-size: 0.85rem;
  color: #000;
  line-height: 1.4;
}
.toast-success .toast-icon span.success {
  display: block;
}
.toast-error .toast-icon span.error {
  display: block;
}
.toast-error .toast-icon span.error svg {
  height: 14px;
}
.toast-error .toast-icon span.error svg path {
  fill: #fff;
}
.toast-close {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 30px;
  height: 20px;
  cursor: pointer;
  text-align: center;
}

.err_show {
  color: red !important;
  display: none;
  padding-top: 5px;
  font-size: 0.825rem;
  font-style: italic;
  font-weight: 400;
}

.err_show.news {
  clear: both;
  margin-bottom: 0;
  text-align: center;
  float: right;
}

.err_show.active {
  display: block !important;
}

/* Loading full page */
#loading_box {
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 100000;
  opacity: 0;
  visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

#loading_image {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 4px solid var(--color_main);
  border-top: 4px solid #fff !important;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.notice-cart {
  position: fixed;
  bottom: 15px;
  right: -100%;
  z-index: 9999999;
  color: #fff;
  max-width: 400px;
  transition: 0.5;
  -webkit-transition: 0.5;
  -khtml-transition: 0.5;
  -moz-transition: 0.5;
  -ms-transition: 0.5;
  -o-transition: 0.5;
}
.notice-cart.active {
  right: 15px;
}
.notice-cart__message {
  border: none;
  margin: 0;
  background: #12B886;
  position: relative;
  border-radius: 7px;
  padding: 1rem;
  padding-right: 3rem;
  font-size: 0.875rem;
  color: #fff;
}
.notice-cart__message a {
  text-decoration: underline;
  color: #fff;
  font-weight: 600;
}
.notice-cart__message a:hover {
  color: #fff;
}
.notice-cart__message p span {
  font-size: 0.875rem;
  color: #fff;
}
.notice-cart__message .close {
  position: absolute;
  right: 15px;
  top: 15px;
  cursor: pointer;
}

@media only screen and (max-width: 575px) {
  .notice-cart {
    max-width: calc(100vw - 30px);
  }
}
* {
  box-sizing: border-box;
}

* {
  margin: 0px;
  padding: 0px;
  outline: none;
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

body {
  font-size: 16px;
  font-family: arial, sans-serif;
  font-weight: 500;
  color: #000;
  line-height: 24px;
}

input, button, textarea {
  font-family: arial, sans-serif;
}

ul {
  list-style: none;
  margin: 0;
}

a {
  text-decoration: none;
  color: #031b4e;
  transition: 0.3s;
}

h1, h2, h3, h4 {
  color: #031b4e;
}

h1, h2, h3, h4 {
  font-weight: 600;
}

input {
  padding: 0 10px;
}

.input {
  margin-top: 1rem;
  margin-bottom: 30px;
}
.input label {
  color: #031b4e;
  font-size: 1rem;
  text-transform: capitalize;
  line-height: 150%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 0.25rem;
}
.input-field {
  box-sizing: border-box;
  color: #031b4e;
  display: block;
  position: relative;
  width: 100%;
  border: 1px solid;
  border-color: #eaeaea !important;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  height: 40px;
  background: #fff;
  outline: none;
  padding: 8px 14px;
}
.input-field::-moz-placeholder {
  font-size: 14px;
  color: #888;
}
.input-field::placeholder {
  font-size: 14px;
  color: #888;
}
.input-field :focus {
  border-color: #000 !important;
}

.radio {
  margin-top: 1rem;
}
.radio label {
  color: #031b4e;
}
.radio label:first-child {
  margin-right: 1rem;
}
.radio input {
  margin-right: 5px;
}

.btn {
  border: 2px solid transparent;
  background-color: #000000;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  height: 48px;
  line-height: 44px;
  max-width: none;
  min-width: 40px;
  padding: 0 1rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  vertical-align: middle;
  white-space: nowrap;
  width: 100%;
}
.btn:hover {
  opacity: 0.8;
}

.input button[type=submit] {
  margin-top: 12px;
}

.text-card-foreground {
  color: #09090b;
}
