

:root {
  --white-color: #fff;
  --dark-color: #111;
  --dark-color-soft: #444;
  --dark-color-deep: #000;
  --second-color: #c1272d;
  --body-heading: #333;
  --body-text: #555;
  --theme-primary: #002a7d;
  --theme-primary-dark: #020044;
  --theme-primary-soft: #edf0ff;
  --bg-gray: #FEFEFE;
  --bg-gray-2: #F8F8F8;
  --bg-gray-3: #D6D6D6;
  --bg-gray-4: #CBCBCB;
  --bg-gray-5: #CECECE;
  --bg-gray-6: #BBBBBB;
  --bg-gray-7: #F6FAFF;
  --bg-gray-8: #E6E6E6;
  --bg-gray-9: #777777;
  --bg-gray-10: #707070;
  --bg-gray-11: #737373;
  --font-size12: 12px;
  --font-size14: 14px;
  --font-size15: 15px;
  --font-size16: 16px;
  --font-size17: 17px;
  --font-size18: 18px;
  --font-size20: 20px;
  --font-size22: 22px;
  --font-size24: 24px;
  --font-size26: 26px;
  --font-size28: 28px;
  --font-size30: 30px;
  --font-size32: 32px;
  --font-size34: 34px;
  --font-size36: 36px;
  --font-size48: 48px;
  --font-size60: 60px;
}

.bg-default {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.light-bg {
  background-color: var(--bg-gray-2);
}

.theme-bg {
  background-color: var(--theme-primary);
}

.no-after::after {
  display: none;
}

i[class^=flaticon-]:before, i[class*=" flaticon-"]:before {
  line-height: inherit;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Lato", sans-serif;
}
/*
************
*************************
01. common
******************************************************* 
*************************************************************** */

body {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--body-text);
  font-size: 14px;
  line-height: 1.6;
}

.img, img {
  max-width: 100%;
  height: auto;
  -webkit-transition: all 0.3s linear 0s;
  -moz-transition: all 0.3s linear 0s;
  -ms-transition: all 0.3s linear 0s;
  -o-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}

.f-left {
  float: left;
}

.f-right {
  float: right;
}

.fix {
  overflow: hidden;
}

a,
.button, button {
  -webkit-transition: all 0.3s linear 0s;
  -moz-transition: all 0.3s linear 0s;
  -ms-transition: all 0.3s linear 0s;
  -o-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}

a:focus,
.button:focus {
  text-decoration: none;
  outline: none;
}


a:focus,
a:hover {
  color: inherit;
  text-decoration: none;
}


a,
button {
  color: inherit;
  outline: medium none;
}

a:hover {
  color: var(--theme-primary);
}

button:focus, input:focus, input:focus, textarea, textarea:focus {
  outline: 0;
}

.uppercase {
  text-transform: uppercase;
}

.capitalize {
  text-transform: capitalize;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Lato", sans-serif;
  color: var(--body-heading);
  margin-top: 0px;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 15px;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
}

h1 {
  font-size: 86px;
}

h2 {
  font-size: 48px;
}

h3 {
  font-size: 36px;
}

h4 {
  font-size: 24px;
}

h5 {
  font-size: 20px;
}

h6 {
  font-size: 16px;
}

ul {
  margin: 0px;
  padding: 0px;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  transition: all 0.3s linear 0s;
}


hr {
  border-bottom: 1px solid var(--bg-gray-3);
  border-top: 0 none;
  padding: 0;
  opacity: 1;
}

label {
  color: var(--dark-color);
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
}

*::-moz-selection {
  background-color: var(--theme-primary);
  color: var(--white-color);
  text-shadow: none;
}

::-moz-selection {
  background-color: var(--theme-primary);
  color: var(--white-color);
  text-shadow: none;
}

::selection {
  background-color: var(--theme-primary);
  color: var(--white-color);
  text-shadow: none;
}

/* <<<<<<<    Input Placeholder   >>>>>>>>> */
input::-webkit-input-placeholder {
  color: var(--body-text);
  font-size: 14px;
  opacity: 1;
  transition: 0.5s;
}
input:-moz-placeholder {
  color: var(--body-text);
  font-size: 14px;
  opacity: 1;
  transition: 0.5s;
}
input::-moz-placeholder {
  color: var(--body-text);
  font-size: 14px;
  opacity: 1;
  transition: 0.5s;
}
input:-ms-input-placeholder {
  color: var(--body-text);
  font-size: 14px;
  opacity: 1;
  transition: 0.5s;
}

textarea::-webkit-input-placeholder {
  color: var(--body-text);
  font-size: 14px;
  opacity: 1;
  transition: 0.5s;
}
textarea:-moz-placeholder {
  color: var(--body-text);
  font-size: 14px;
  opacity: 1;
  transition: 0.5s;
}
textarea::-moz-placeholder {
  color: var(--body-text);
  font-size: 14px;
  opacity: 1;
  transition: 0.5s;
}
textarea:-ms-input-placeholder {
  color: var(--body-text);
  font-size: 14px;
  opacity: 1;
  transition: 0.5s;
}

input:focus::placeholder, textarea:focus::placeholder {
  opacity: 0;
}

/* <<<<<<<    Common Classes   >>>>>>>>> */
.fix {
  overflow: hidden;
}

.clear {
  clear: both;
}

.p-rel {
  position: relative;
}

.p-abs {
  position: absolute;
}

.p-static {
  position: static;
}

.w_img img {
  width: 100%;
}


/* 超出两行隐藏，显示 ... */
.line-clamp-2 {
  overflow: hidden;            /* 隐藏溢出 */
  display: -webkit-box;        /* 弹性盒模型 */
  -webkit-line-clamp: 2;       /* 限制显示 2 行 */
  -webkit-box-orient: vertical;/* 垂直方向排列 */
  text-overflow: ellipsis;     /* 末尾显示 ... */
  word-break: break-all;       /* 强制换行，防止长英文/链接撑破 */
}

/* 单行溢出隐藏 */
.line-clamp-1 {
  overflow: hidden;
  white-space: nowrap; /* 强制不换行 */
  text-overflow: ellipsis; /* 显示省略号 */
}


/* <<<<<<<    Overlay   >>>>>>>>> */
[data-overlay] {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
[data-overlay]::before {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  content: "";
}

/* <<<<<<<    Margin & Padding     >>>>>>>>> */
.mt-5 {
  margin-top: 5px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ml-5 {
  margin-left: 5px;
}

.ml-10 {
  margin-left: 10px;
}

.ml-15 {
  margin-left: 15px;
}

.ml-20 {
  margin-left: 20px;
}

.ml-25 {
  margin-left: 25px;
}

.ml-30 {
  margin-left: 30px;
}

.ml-35 {
  margin-left: 35px;
}

.ml-40 {
  margin-left: 40px;
}

.ml-45 {
  margin-left: 45px;
}

.ml-50 {
  margin-left: 50px;
}

.ml-55 {
  margin-left: 55px;
}

.ml-60 {
  margin-left: 60px;
}

.ml-65 {
  margin-left: 65px;
}

.ml-70 {
  margin-left: 70px;
}

.ml-75 {
  margin-left: 75px;
}

.ml-80 {
  margin-left: 80px;
}

.ml-85 {
  margin-left: 85px;
}

.ml-90 {
  margin-left: 90px;
}

.ml-95 {
  margin-left: 95px;
}

.ml-100 {
  margin-left: 100px;
}

.ml-105 {
  margin-left: 105px;
}

.ml-110 {
  margin-left: 110px;
}

.ml-115 {
  margin-left: 115px;
}

.ml-120 {
  margin-left: 120px;
}


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


.pb-5 {
  padding-bottom: 5px;
}

.pb-10 {
  padding-bottom: 10px;
}

.pb-15 {
  padding-bottom: 15px;
}

.pb-20 {
  padding-bottom: 20px;
}

.pb-25 {
  padding-bottom: 25px;
}

.pb-30 {
  padding-bottom: 30px;
}

.pb-35 {
  padding-bottom: 35px;
}

.pb-40 {
  padding-bottom: 40px;
}

.pb-45 {
  padding-bottom: 45px;
}

.pb-50 {
  padding-bottom: 50px;
}

.pb-55 {
  padding-bottom: 55px;
}

.pb-60 {
  padding-bottom: 60px;
}

.pb-65 {
  padding-bottom: 65px;
}

.pb-70 {
  padding-bottom: 70px;
}

.pb-75 {
  padding-bottom: 75px;
}

.pb-80 {
  padding-bottom: 80px;
}

.pb-85 {
  padding-bottom: 85px;
}

.pb-90 {
  padding-bottom: 90px;
}

.pb-95 {
  padding-bottom: 95px;
}

.pb-100 {
  padding-bottom: 100px;
}

.pb-105 {
  padding-bottom: 105px;
}

.pb-110 {
  padding-bottom: 110px;
}

.pb-115 {
  padding-bottom: 115px;
}

.pb-120 {
  padding-bottom: 120px;
}

.pl-5 {
  padding-left: 5px;
}

.pl-10 {
  padding-left: 10px;
}

.pl-15 {
  padding-left: 15px;
}

.pl-20 {
  padding-left: 20px;
}

.pl-25 {
  padding-left: 25px;
}

.pl-30 {
  padding-left: 30px;
}

.pl-35 {
  padding-left: 35px;
}

.pl-40 {
  padding-left: 40px;
}

.pl-45 {
  padding-left: 45px;
}

.pl-50 {
  padding-left: 50px;
}

.pl-55 {
  padding-left: 55px;
}

.pl-60 {
  padding-left: 60px;
}

.pl-65 {
  padding-left: 65px;
}

.pl-70 {
  padding-left: 70px;
}

.pl-75 {
  padding-left: 75px;
}

.pl-80 {
  padding-left: 80px;
}

.pl-85 {
  padding-left: 85px;
}

.pl-90 {
  padding-left: 90px;
}

.pl-95 {
  padding-left: 95px;
}

.pl-100 {
  padding-left: 100px;
}

.pl-105 {
  padding-left: 105px;
}

.pl-110 {
  padding-left: 110px;
}

.pl-115 {
  padding-left: 115px;
}

.pl-120 {
  padding-left: 120px;
}


.pr-5 {
  padding-right: 5px;
}

.pr-10 {
  padding-right: 10px;
}

.pr-15 {
  padding-right: 15px;
}

.pr-20 {
  padding-right: 20px;
}

.pr-25 {
  padding-right: 25px;
}

.pr-30 {
  padding-right: 30px;
}

.pr-35 {
  padding-right: 35px;
}

.pr-40 {
  padding-right: 40px;
}

.pr-45 {
  padding-right: 45px;
}

.pr-50 {
  padding-right: 50px;
}

.pr-55 {
  padding-right: 55px;
}

.pr-60 {
  padding-right: 60px;
}

.pr-65 {
  padding-right: 65px;
}

.pr-70 {
  padding-right: 70px;
}

.pr-75 {
  padding-right: 75px;
}

.pr-80 {
  padding-right: 80px;
}

.pr-85 {
  padding-right: 85px;
}

.pr-90 {
  padding-right: 90px;
}

.pr-95 {
  padding-right: 95px;
}

.pr-100 {
  padding-right: 100px;
}

.pr-105 {
  padding-right: 105px;
}

.pr-110 {
  padding-right: 110px;
}

.pr-115 {
  padding-right: 115px;
}

.pr-120 {
  padding-right: 120px;
}

.container {
  padding-right: 15px;
  padding-left: 15px;
}

.row {
  --bs-gutter-x: 30px;
}
.row.g-0 {
  --bs-gutter-x: 0;
}
.row.row-20 {
  --bs-gutter-x:20px ;
}

.w-80 {
  width: 80%;
}

.w-89 {
  width: 80%;
}

@media (max-width: 1199px) {
  .pt-20 {  padding-top: 15px; }
  .pt-30 {  padding-top: 20px; }
  .pt-40 {  padding-top: 20px; }
  .pt-50 {  padding-top: 25px; }
  .pt-60 {  padding-top: 30px; }
  .pt-65 {  padding-top: 35px; }
  .pt-70 {  padding-top: 40px; }
  .pt-75 {  padding-top: 45px; }
  .pt-80 {  padding-top: 50px; }
  .pt-85 {  padding-top: 55px; }
  .pt-90 {  padding-top: 60px; }
  .pt-95 {  padding-top: 65px; }
  .pt-100 {  padding-top: 70px; }
  .pt-105 {  padding-top: 75px; }
  .pt-110 {  padding-top: 80px; }
  .pt-115 {  padding-top: 85px; }
  .pt-120 {  padding-top: 90px; }
  .pt-125 {  padding-top: 95px; }
  .pt-130 {  padding-top: 100px; }
  .pt-135 {  padding-top: 105px; }
  .pt-140 {  padding-top: 110px; }
  
  .pb-20 {  padding-bottom: 10px; }
  .pb-30 {  padding-bottom: 15px; }
  .pb-40 {  padding-bottom: 20px; }
  .pb-50 {  padding-bottom: 25px; }
  .pb-60 {  padding-bottom: 30px; }
  .pb-65 {  padding-bottom: 35px; }
  .pb-70 {  padding-bottom: 40px; }
  .pb-75 {  padding-bottom: 45px; }
  .pb-80 {  padding-bottom: 50px; }
  .pb-85 {  padding-bottom: 55px; }
  .pb-90 {  padding-bottom: 60px; }
  .pb-95 {  padding-bottom: 65px; }
  .pb-100 {  padding-bottom: 70px; }
  .pb-105 {  padding-bottom: 75px; }
  .pb-110 {  padding-bottom: 80px; }
  .pb-115 {  padding-bottom: 85px; }
  .pb-120 {  padding-bottom: 90px; }
  .pb-125 {  padding-bottom: 95px; }
  .pb-130 {  padding-bottom: 100px; }
  .pb-135 {  padding-bottom: 105px; }
  .pb-140 {  padding-bottom: 110px; }
}
@media (max-width: 767px) {
  .pt-20 {  padding-top: 10px; }
  .pt-25 {  padding-top: 15px; }
  .pt-30 {  padding-top: 15px; }
  .pt-35 {  padding-top: 20px; }
  .pt-40 {  padding-top: 20px; }
  .pt-45 {  padding-top: 25px; }
  .pt-50 {  padding-top: 25px; }
  .pt-55 {  padding-top: 30px; }
  .pt-60 {  padding-top: 30px; }
  .pt-65 {  padding-top: 32px; }
  .pt-70 {  padding-top: 35px; }
  .pt-75 {  padding-top: 37px; }
  .pt-80 {  padding-top: 40px; }
  .pt-85 {  padding-top: 42px; }
  .pt-90 {  padding-top: 45px; }
  .pt-95 {  padding-top: 47px; }
  .pt-100 {  padding-top: 50px; }
  .pt-105 {  padding-top: 53px; }
  .pt-110 {  padding-top: 55px; }
  .pt-115 {  padding-top: 57px; }
  .pt-120 {  padding-top: 60px; }
  .pt-125 {  padding-top: 63px; }
  .pt-130 {  padding-top: 65px; }
  .pt-135 {  padding-top: 65px; }
  .pt-140 {  padding-top: 70px; }

  .pb-20 {  padding-bottom: 10px; }
  .pb-25 {  padding-bottom: 15px; }
  .pb-30 {  padding-bottom: 15px; }
  .pb-35 {  padding-bottom: 20px; }
  .pb-40 {  padding-bottom: 20px; }
  .pb-45 {  padding-bottom: 25px; }
  .pb-50 {  padding-bottom: 25px; }
  .pb-55 {  padding-bottom: 30px; }
  .pb-60 {  padding-bottom: 30px; }
  .pb-65 {  padding-bottom: 32px; }
  .pb-70 {  padding-bottom: 35px; }
  .pb-75 {  padding-bottom: 37px; }
  .pb-80 {  padding-bottom: 40px; }
  .pb-85 {  padding-bottom: 42px; }
  .pb-90 {  padding-bottom: 45px; }
  .pb-95 {  padding-bottom: 47px; }
  .pb-100 {  padding-bottom: 50px; }
  .pb-105 {  padding-bottom: 53px; }
  .pb-110 {  padding-bottom: 55px; }
  .pb-115 {  padding-bottom: 57px; }
  .pb-120 {  padding-bottom: 60px; }
  .pb-125 {  padding-bottom: 63px; }
  .pb-130 {  padding-bottom: 65px; }
  .pb-135 {  padding-bottom: 65px; }
  .pb-140 {  padding-bottom: 70px; }
}


/*
************
*************************
04. button
******************************************************* 
*************************************************************** */
.theme-btn {
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 500;
  padding: 0 30px;
  color: var(--white-color);
  /* border-radius: 4px; */
  background: var(--theme-primary);
  cursor: pointer;
  margin-bottom: 0;
  text-align: center;
  text-transform: capitalize;
  touch-action: manipulation;
  transition: all 0.3s ease 0s;
  white-space: nowrap;
  border: none;
  position: relative;
  z-index: 1;
}
.theme-btn i {
  margin-left: 10px;
}

.theme-btn::before {
  top: 0px;
  width: 0px;
  left: auto;
  right: 0px;
  z-index: -1;
  bottom: 0px;
  content: "";
  position: absolute;
  -webkit-transition: all 0.3s linear 0s;
  -moz-transition: all 0.3s linear 0s;
  -ms-transition: all 0.3s linear 0s;
  -o-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  background-color: var(--second-color);
  /* border-radius: 4px; */
}
.theme-btn:hover {
  color: var(--white-color);
}
.theme-btn:hover:before {
  left: 0px;
  width: 100%;
  right: auto;
}

@media (max-width: 767px) {
  .theme-btn {
    padding: 0 25px;
    font-size: 14px;
    height: 42px;
  }
}

.bn-btn-2 {
  background-color: var(--body-heading);
  position: relative;
}
.bn-btn-2::before {
  top: 0px;
  width: 0px;
  left: auto;
  right: 0px;
  z-index: -1;
  bottom: 0px;
  content: "";
  position: absolute;
  -webkit-transition: all 0.3s linear 0s;
  -moz-transition: all 0.3s linear 0s;
  -ms-transition: all 0.3s linear 0s;
  -o-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  background-color: var(--theme-primary);
  border-radius: 4px;
}
.bn-btn-2:hover {
  color: var(--white-color);
}
.bn-btn-2:hover:before {
  left: 0px;
  width: 100%;
  right: auto;
}

.hover-white:hover {
  color: var(--theme-primary);
}
.hover-white:hover::before {
  background-color: var(--white-color);
}

.bn-text-bold {
  font-weight: 700;
}

.bn-width-100 {
  width: 100%;
}

.bn-play-btn {
  width: 60px;
  height: 60px;
  display: inline-block;
  background: var(--theme-primary);
  text-align: center;
  line-height: 60px;
  color: var(--white-color);
  border-radius: 50%;
  position: relative;
}
.bn-play-btn::after {
  position: absolute;
  left: 50%;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  top: 50%;
  transform: translate(-50%, -50%);
  content: "";
  background-color: var(--theme-primary);
  opacity: 0.3;
  animation-name: playAnimation;
  z-index: -1;
  animation-duration: 1.8s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-delay: 0s;
  background-color: rgba(255, 255, 255, 0.4);
}
.bn-play-btn:hover {
  color: var(--theme-primary);
  background-color: var(--white-color);
}

.video-play-btn {
  width: 100px;
  height: 100px;
  line-height: 100px;
  background: var(--white-color);
  color: #20314A;
  position: relative;
  font-size: 30px;
  -webkit-transition: all 0.3s linear 0s;
  -moz-transition: all 0.3s linear 0s;
  -ms-transition: all 0.3s linear 0s;
  -o-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}
.video-play-btn::after {
  background: rgba(255, 255, 255, 0.6);
}
.video-play-btn:hover {
  background-color: var(--theme-primary);
  color: var(--white-color);
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .video-play-btn {
    width: 80px;
    height: 80px;
    font-size: 26px;
    line-height: 80px;
  }
}
@media (max-width: 767px) {
  .video-play-btn {
    width: 50px;
    height: 50px;
    font-size: 18px;
    line-height: 50px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .video-play-btn {
    width: 60px;
    height: 60px;
    font-size: 22px;
    line-height: 60px;
  }
}

@keyframes playAnimation {
  0% {
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.6);
    opacity: 0;
  }
}

/*
************
*************************
back to top
******************************************************* 
*************************************************************** */
.progress-wrap {
  position: fixed;
  right: -100px;
  bottom: 50px;
  height: 46px;
  width: 46px;
  cursor: pointer;
  display: block;
  border-radius: 50px;
  box-shadow: inset 0 0 0 2px #161616;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
  -webkit-transition: all 0.3s linear 0s;
  -moz-transition: all 0.3s linear 0s;
  -ms-transition: all 0.3s linear 0s;
  -o-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  background-color: #fff;
}

.progress-wrap::after {
  position: absolute;
  content: "\f176";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  text-align: center;
  line-height: 45px;
  font-size: 20px;
  color: var(--second-color);
  left: 0;
  top: 0;
  height: 45px;
  width: 45px;
  cursor: pointer;
  display: block;
  z-index: 1;
  -webkit-transition: all 200ms linear;
  transition: all 200ms linear;
}

.progress-wrap svg path {
  fill: none;
}

.progress-wrap svg.progress-circle path {
  stroke: var(--second-color);
  stroke-width: 4;
  box-sizing: border-box;
  -webkit-transition: all 0.3s linear 0s;
  -moz-transition: all 0.3s linear 0s;
  -ms-transition: all 0.3s linear 0s;
  -o-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}

.progress-wrap:is(.progress-wrap-dark) {
  box-shadow: inset 0 0 0 2px #f6f8fa;
  background-color: transparent;
}

.progress-wrap:is(.progress-wrap-dark)::after {
  color: #f6f8fa;
}

.progress-wrap:is(.progress-wrap-dark) svg.progress-circle path {
  stroke: var(--second-color);
}

.progress-wrap.active-progress {
  opacity: 1;
  right: 50px;
  visibility: visible;
  transform: translateY(0);
}

@media (max-width: 767px) {
  .progress-wrap.active-progress {
    right: 15px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .progress-wrap.active-progress {
    right: 30px;
  }
}






/*
************
*************************
footer
******************************************************* 
*************************************************************** */
.footer {
  background: #212529;
  background-repeat: no-repeat;
  background-position: center center;
}
.footer-top {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* logo */
.footer-logo{
  display: flex;
  align-items: center;
}
.footer-logo img {
  width: auto;
  height: 60px;
}
.footer-logo h1 {
  flex: 1;
  font-size: 18px;
  font-weight: 500;
  font-family: Jost, sans-serif;
  color: var(--white-color);
  margin: 5px 0 0 10px;
  text-transform: uppercase;
  line-height: 1.2;
}

/* contact */
.footer-widget-contact {
  color: var(--bg-gray-6);
}

.footer-widget-contact ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-widget-contact ul li a {
  color: rgba(255, 255, 255, 0.8);
}

.footer-widget-contact ul li a i {
  margin-right: 10px;
  color: #fff;
}

@media (max-width: 991px) {
  .footer-widget{
    width: 100%;
    margin-bottom: 0 !important;
  }
}

/* social */
.footer-widget-social a {
  width: 30px;
  height: 30px;
  background: var(--white-color);
  display: inline-block;
  text-align: center;
  line-height: 30px;
  border-radius: 50%;
  font-size: 14px;
  color: var(--dark-color-soft);
  margin-right: 15px;
}
.footer-widget-social a:hover {
  background-color: var(--theme-primary);
  color: var(--white-color);
}
.footer-widget-social a:last-child {
  margin-right: 0;
}

@media (max-width: 991px) {
  .footer-widget-social{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}


/* foot nav link */
.footer-widget-title {
  font-size: 22px;
  color: var(--white-color);
  line-height: 1.45;
}
.footer-widget-list a {
  color: var(--bg-gray-6);
  display: block;
  margin-bottom: 10px;
}
.footer-widget-list a:hover {
  color: var(--white-color);
}




/* newsletter */
.subscribe-tip {
  color: var(--bg-gray-6);
}
.footer-newsletter .subscribe-form .form-control {
  border: 2px solid #e8e8e8;
  height: 52px;
  padding: 0 15px;
  border-radius: 0;
  font-size: 16px;
  color: #fff;
  box-shadow: none;
  background-color: transparent;
}

.footer-newsletter .subscribe-form .form-control::placeholder {
  color: #F2F3F5;
  opacity: 1;
}

.footer-newsletter .subscribe-form .form-control:-ms-input-placeholder {
  color: #F2F3F5;
}

.footer-newsletter .subscribe-form .form-control::-ms-input-placeholder {
  color: #F2F3F5;
}

.footer-newsletter .subscribe-form .theme-btn{
  padding: 0 20px;
}

@media (max-width: 991px) {
  .footer-newsletter{
    width: 100%;
  }
}




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

.footer-copyright-text p {
  color: var(--bg-gray-6);
  display: inline-block;
  font-size: 14px;
  margin-bottom: 0;
  position: relative;
}
.footer-Privacy a{
  color: var(--bg-gray-6);
  margin-left: 10px;
}
@media (max-width: 991px) {
  .footer-copyright .container{
    flex-direction: column;
    justify-content: center;
  }
  .footer-copyright-text{
    margin-bottom: 15px;
    text-align: center;
  }
}




.pagination-box{
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.pagination-box .page-item .page-link{
  color: var(--theme-primary);
}
.pagination-box .page-item .page-link:focus{
  background-color: #e9e9e9;
  box-shadow: 0 0 0 .25rem rgba(0, 42, 125, 0.25);
}
.pagination-box .page-item.active .page-link{
  color: #fff;
  background-color: var(--theme-primary);
  border-color: var(--theme-primary);
}
