:root {
    --cassiopeia-color-primary: #000;
    --cassiopeia-color-link: #ffa62e;
    --link-color: #0a29fc;
    --link-color-rgb: 10, 41, 252;
    --cassiopeia-color-hover: #000;
    --link-hover-color: #887602;
    --link-hover-color-rgb: 136, 118, 2;
}
a {font-weight: 700;}

/* Header styling */
.container-header {
    box-shadow: 0 0 32px rgb(0 0 0 / 6%), 0 4px 8px rgb(0 0 0 / 16%);
    background-image: none;
    background-color: #fff;
}
.container-header .container-nav {
    padding-bottom: .5em;
}
.container-header .container-nav nav {
    margin-top: 0px;
}
.container-header .navbar-toggler {
    color: #0219b7;
    border: 1px solid #0219b7;
}

@media (min-width: 992px) {
 .container-header .container-nav nav {
    margin-left: auto;
    margin-right: auto;
 }
}

.metismenu.mod-menu .metismenu-item>a {font-weight: 600; color: #000;}
.metismenu.mod-menu .metismenu-item>a:hover {text-decoration: none;}
.metismenu.mod-menu .metismenu-item:hover {
  border: 2px solid #0a29fc;
  border-radius: 10px;
}

/* Offcanvas menu styling */
@media (max-width: 991.98px) {
    .offcanvas {
        max-width: 80%;
   }
}
/*.offcanvas {
    background-color: var(--cassiopeia-color-primary);
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
    border: 1px solid #ffa62e;
}
.offcanvas-header .btn-close {
   background-color: #ffa62e;
}
*/

/* Homepage styling */
#mod-custom111 {
  min-height: 100vh; 
  background-position: center;
  background-size: cover;
}
.frontcenter {
  position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 10px;
    padding: 20px;
    background: rgba(0,0,0,0.5);
}
.frontcenter button {
  background-color: #0a29fc;
  color: #fff;
  border-radius: 10px;
  padding: 8px 30px;
  font-weight: 700;
  font-size: 1.5em;
}
.frontcenter button:hover {
  background-color: #fff;
  color: #0a29fc;
}
.fronttext {
  font-family: var(--cassiopeia-font-family-headings);
  font-weight: var(--cassiopeia-font-weight-headings,700);
  color: white;
  text-transform: uppercase;
  margin: 0;
  position: absolute;
  top: 30%;
  left: 50%;
  font-size: 2rem;
  transform: translate(-50%, -50%);
  text-align: center;
  text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}
/*.homecard {border-radius: 10px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); width: 100%; margin-left: auto; margin-right: auto; margin-bottom: 20px;}
.homecard img {border-radius: 10px 10px 0 0;}
.btn-home {display: inline-block; position: relative; z-index: 1; padding: .5rem 2rem; border: 1px solid #e18100; border-radius: 100px; background: #ffa62e; text-decoration: none; color: #000000; font-size: 1.3em; font-weight: bold; margin-top: 1em;}
span.home-no {
  background: #ffa62e;
  border-radius: 0.75em;
  color: #000000;
  display: inline-block;
  font-weight: bold;
  line-height: 1.5em;
  margin-right: 5px;
  /* margin-top: 10px;
  text-align: center;
  width: 1.5em; 
  box-shadow: 3px 3px 2px 0px rgba(50, 50, 50, 0.75);
}*/

/* Cowntdown homepage styling 

.countdown {pointer-events: none; padding-top: 10vh; height: 10vh;}
.countdown-btn {text-align: center; padding-top: 55vh; padding-bottom: 25vh;}*/

/* Content styling */
h1 {
  background-color: #010f6d;
  color: #fff;
  padding: 15px;
  margin: 0 0 20px 0;
  border-radius: 5px;
}
.top-home {margin: 0}
h2 {
  background-color: #011492;
  color: #fff;
  padding: 15px;
  margin: 40px 0 20px 0;
  border-radius: 5px;
}
h3 {
  background-color: #0219b7;
  color: #fff;
  padding: 15px;
  margin: 40px 0 20px 0;
  border-radius: 5px;
}
h4 {
  background-color: #4d5ecc;
  color: #fff;
  padding: 15px;
  margin: 40px 0 20px 0;
  border-radius: 5px;
}

/*.photo-credit {
  margin-top: -10px;
  color: #333;
  font-size: 14px;
  font-style: italic;
  text-align: center;
}*/
.gygw {
  background-color: #e6e9fe;
  padding: 8px;
  border-radius: 8px;
  margin-bottom: 20px;
}

/*remove icons from article info*/
span.icon-calendar::before {content: "";}
span.icon-user::before {content: "";}

/*article info in one line*/
dl.article-info {
  display: inline-flex;
  font-size: 0.8em;
  border-bottom: 1px solid grey;
}
dl.article-info a {
  color: black;
}
.author-block {
  padding: 30px 10px;
  font-size: 0.9em;
}
.author-block a {
  color: black;
  text-decoration: none;
}
.author-photo {
  padding-bottom: 20px;
}

/* Pier map styling*/
.boat-map {
  background-image: url("https://thailandboat.com/images/bangkok/bangkok-river-map-sm.webp");
  background-repeat: repeat-y;
  background-position: center top;
  outline: 2px solid #4d5ecc;
  border-radius: 5px;
}
.stripe {background: rgba(0, 0, 0, 0.05);}
span.map-no {
  background: #0a29fc;
  border-radius: 8px;
  color: #fff;
  display: inline-block;
  font-size: 0.75em;
  font-weight: bold;
  padding: 2px 6px;
}
span.ferry {
  background: #fff;
  border: 2px solid #0a29fc;
  border-radius: 8px;
  color: #000;
  font-size: 0.75em;
  font-weight: bold;
  padding: 2px 6px;
}
.west {text-align: right; width: 48%;}
.cross {text-align: center; width: 8%;}
.east {text-align: left; width: 44%;}
.flag-green {color: green; text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;}
.flag-orange {color: orange; text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;}
.flag-red {color: red; text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;}
.flag-yellow {color: yellow; text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;}
.flag-blue {color: blue; text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;}
.flag-city {background-color: green; color: #fff; font-weight: bold; font-size: 0.75em; padding: 2px 6px; border-radius: 8px;}
.flag-urban {background-color: purple; color: #fff; font-weight: bold; font-size: 0.75em; padding: 2px 6px; border-radius: 8px;}
.flag-metro {background-color: #001A83; color: #fff; font-weight: bold; font-size: 0.75em; padding: 2px 6px; border-radius: 8px;}
.flag-cruise {background-color: #333; color: gold; font-weight: bold; font-size: 0.75em; padding: 2px 6px; border-radius: 8px;}
.bts-green {color: darkgreen; border: 2px solid darkgreen; border-radius: 100%; padding: 3px;}
.bts-gold {color: goldenrod; border: 2px solid goldenrod; border-radius: 100%; padding: 3px;}
.mrt-blue {color: blue; border: 2px solid blue; border-radius: 100%; padding: 3px;}
.mrt-purple {color: rebeccapurple; border: 2px solid rebeccapurple; border-radius: 100%; padding: 3px;}
.pier-uc {color: red; font-style: italic; font-size: 0.75em;}
.pier-peak {color: #333; font-style: italic; font-size: 0.75em;}

.divTable{
	display: table;
	width: 100%;
}
.divTableRow {
	display: table-row;
}
.divTableHeading {
	display: table-header-group;
	font-weight: bold;
}
.divTableCell {
	display: table-cell;
	padding: 4px 8px;
    vertical-align: middle;
}
.divTableHead {
	display: table-cell;
    padding: 4px 6px;
}
.divTableBody {
	display: table-row-group;
}

a.fill-div {
    display: block;
    height: 100%;
    width: 100%;
    text-decoration: none;
}

/* Right sidebar styling */
body.wrapper-fluid .site-grid {
  grid-template-columns: [full-start] minmax(0,1fr) [main-start] minmax(0,0%) minmax(0,30%) minmax(0,30%) minmax(0,40%) [main-end] minmax(0,1fr) [full-end]
}
div.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 70px;
  z-index: 0;
  border: solid 1px #0a29fc;
  border-radius: 5px;
  padding: 10px;
  background-color: #f5f6fe;
}
h3.sticky {
  margin: 0 0 20px 0;
}

/* Bottom styling 
.back-to-top-link {
    background-color: #010f6d;
    border: 2px solid #010f6d;
}
.back-to-top-link:hover {
    color: #010f6d;
    border: 2px solid #010f6d;
}*/

/* Ads styling */
.banner-top {display: flex; border: solid 1px lightgray;}
.banner-top-text {padding: 20px; display: flex; align-items: center;}
.banner-top-title {font-size: 2rem; padding-bottom: 20px;}
.banner-top-note {color: rgb(126, 140, 141);}
.banner-top-link {font-size: 1.7rem; font-weight: bold; text-align: center; padding-top: 20px;}
.banner-top-link a {text-decoration: none; margin-right: 15px;}

@media (max-width: 767.98px) {
  .banner-top {display: block;}
  .banner-top-title {font-size: 1.4rem; padding-bottom: 10px;}
  .banner-top-link {font-size: 1.2rem; font-weight: semibold; text-align: center; padding-top: 10px;}
  /*.banner-top-text {display: none;}*/
}