*,
*::before,
*::after {
  box-sizing: border-box;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: #182027;
  line-height: 1.1em;
}

p {
  margin-top: 0;
  margin-bottom: 2rem;
}
p:last-child{margin-bottom: 0;}
address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

.text-center, .heading-text-center .section-heading, .heading-text-center .section-sub-heading, .heading-text-center .section-content{text-align: center;}
.text-left, .heading-text-left .section-heading, .heading-text-left .section-sub-heading, .heading-text-left .section-content{text-align: left;}
.text-right, .heading-text-right .section-heading, .heading-text-right .section-sub-heading, .heading-text-right .section-content{text-align: right;}
.btn-left .flex-btn{justify-content: flex-start;}
.btn-center .flex-btn{justify-content: center;}
.btn-right .flex-btn{justify-content: flex-end;}

.m-b-0{margin-bottom: 0;}
.p-b-0{padding-bottom: 0;}
/*========================== [ Grid ] ==========================*/
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.small-width .container {
  max-width: 1170px;
} 

@media (min-width: 576px) {
  .container {max-width: 100%;}
}

@media (min-width: 768px) {
  .container {max-width: 98%;}
}

@media (min-width: 992px) {
  .container {max-width: 950px;}
}

@media (min-width: 1200px) {
  .container {max-width: 1170px;}
}

@media (min-width: 1500px) {
  .container{max-width: 1400px;}
}

.flex-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flex, .flex-btn{
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

.flex-row{
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.col-2{width: 50%;}
.flex-row .col-2{width: 47%;}

.grid-box {
  display: grid;
}

/* Grid Layout */
/*[class*=bs--]{margin-bottom: 50px;}*/


/*========================== [ Table ] ==========================*/
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  background-color: transparent;
}
.table {
  border-collapse: collapse !important;
}
.table td, .table th {
  background-color: #fff;
}
.table-bordered th, .table-bordered td {
  border: 1px solid #efefef;
}
table {
  background-color: transparent;
}
table col[class*="col-"] {
  position: static;
  display: table-column;
  float: none;
}
table td[class*="col-"], table th[class*="col-"] {
  position: static;
  display: table-cell;
  float: none;
}
th {
  text-align: left;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height:1.5;
  vertical-align: middle;
  border-top: 1px solid #efefef;
}

.table > thead > tr > th {
  vertical-align: middle;
  text-align:center;
  border-bottom: 2px solid #efefef;
  background-color: #fdfdfd;
}

.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}

.table > tbody + tbody {
  border-top: 2px solid #efefef;
}

.table .table {
  background-color: #fff;
}

.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}

.table-bordered {
  border: 1px solid #efefef;
}

.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #efefef;
}