/*
Theme Name: WelcomeCQ
Theme URI: https://welcomecq.cn
Author: Haonan Deng
Author URI: http://welcomecq.cn
Description: Chongqing travel insights from local.
Version: 1.0
License: GNU General Public License v2.0 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: welcomecq
*/
.main-navigation ul.site-menu>.menu-item,.search-form,.site-header,.wp-caption {
    position: relative
}

.card,.card-img {
    overflow: hidden
}

.related-posts,.sidewindow-content-inner .related-posts {
    grid-template-columns: 1fr
}

*,.hero-header-body,.sidewindow,.sidewindow-content {
    box-sizing: border-box
}

* {
    margin: 0;
    padding: 0
}

a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video {
    border: 0;
    font-size: 100%;
    font: inherit;
    margin: 0;
    padding: 0;
    vertical-align: baseline
}

.fixed-pip .youtube-close-btn,.header-toc-container.active,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
    display: block
}

:root {
    --default-width: 1200px;
    --primary: #0087c4;
    --primary_hover:#fcba19;
	--gradient_bg:linear-gradient(135deg,rgba(36, 100, 164, 1) 0%, rgba(0, 170, 196, 1) 75%);

}

html {
    -webkit-tap-highlight-color: transparent;
    background: #fff;
    font-size: 18px
}

.hero-header-img,select {
    background-repeat: no-repeat
}

body {
    font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    line-height: 1.6;
    color: #333
}

.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
    font-weight: 700;
    line-height: 1.3;
    position: relative
}

.entry-content h1,.h1,h1 {
    font-size: 1.9rem
}

.h2,h2 {
    font-size: 1.6rem
}

.entry-content h3,.h3,h3 {
    font-size: 1.3rem
}

.entry-content h4,.h4,h4 {
    font-size: 1.1rem
}

.entry-content h5,.h5,.sidewindow-content-inner h4,h5 {
    font-size: 1rem
}

.entry-content h6,.h6,.sidewindow-content-inner label,h6 {
    font-size: .8rem
}
img.alt{
	object-fit:contain;
	background-color:#f7f7f7;
	max-height:500px;
}

input[type=email],input[type=text],input[type=url],textarea {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 10px;
    font-size: 1rem;
    color: #555
}

input[type=email]:focus,input[type=text]:focus,input[type=url]:focus,textarea:focus {
    border: 2px solid var(--primary);
    outline: 0
}
select {
    appearance: none;
    border: 1px solid #ccc;
    padding: 10px 30px 10px 10px;
    font-size: 1rem;
    color: #555;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path fill="%23333" d="M7 10l5 5 5-5z"/></svg>');
    background-position: right 10px center
}
.search-field {
    border: 2px solid #eaeaea;
    padding: 5px 10px;
    font-size: 1rem;
    border-radius: 5px;
    width: 100%;
    height: 60px;
	background: #fff;
}

.search-field:focus {
    outline: 0;
    border-color: var(--primary);
}

.search-form button {
    padding-left: 2rem;
    padding-right: 2rem;
    color: #fff;
    background-color: var(--primary);
    font-size: .9rem;
    font-weight: 700;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
	border-radius: 0 5px 5px 0;
}

.search-form button:hover {
    background-color: var(--primary_hover)
}

.site-header {
    background-color: var(--primary);
	background:var(--gradient_bg);
    min-height: 70px;
    transition: height .5s cubic-bezier(.4,0,.6,1);
    display: flex;
    align-items: center;
    z-index: 99999
}

.site-header.active {
    position: sticky;
    height: 700px
}

.site-branding a {
    display: flex
}

.site-branding img {
    width: auto;
    height: 50px
}

.site-title {
    font-size: 2rem
}

.site-title a {
    color: #fff;
    text-decoration: none
}

.alt-header {
    background-color: rgba(255,255,255,.8);
    backdrop-filter: saturate(180%) blur(20px);
    position: sticky;
    border-bottom: 1px solid #eaeaea;
    top: 0;
    z-index: 999
}

.alt-header h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary)
}

.main-navigation ul.site-menu {
    align-items: center;
    display: flex;
    flex-flow: wrap;
    justify-content: flex-end;
    list-style: none;
    white-space: nowrap;
    column-gap: 1.5rem
}

.main-navigation ul.site-menu>.menu-item>a {
    color: #fff;
    text-decoration: none;
    display: inline-block;
    padding-top: 5px;
    padding-bottom: 5px;
    border-bottom: 1px solid transparent
}

.main-navigation ul.site-menu>.menu-item.current-menu-item>a,.main-navigation ul.site-menu>.menu-item>a:hover {
    border-bottom: 1px solid #fff
}

.main-navigation ul.site-menu>.menu-item.current-menu-item.blue-btn>a {
    border-bottom: none
}

.main-navigation ul.site-menu>.menu-item.current-menu-item:hover {
    border: none
}

.main-navigation ul.site-menu>.menu-item>ul.sub-menu {
    background-color: #fff;
    position: absolute;
    left: 50%;
    transform: scale(1) translateX(-50%);
    min-width: 400px;
    padding: 30px 30px 20px;
    box-shadow: 0 20px 40px rgba(0,0,0,.1);
    z-index: 99;
    list-style: none;
    top: 51px;
    display: none;
    grid-template-columns: 1fr;
    grid-column-gap: 3rem;
    grid-row-gap: .8rem;
    border-radius: 5px;
    border-bottom: 8px solid var(--primary)
}

.main-navigation ul.site-menu>.menu-item>ul.sub-menu:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 99%;
    height: 14px;
    width: 14px;
    background: #fff;
    -webkit-transform: translateX(-50%) translateY(6px) rotate(-45deg);
    transform: translateX(-50%) translateY(6px) rotate(-45deg)
}

.main-navigation ul.site-menu>.menu-item:last-child>ul.sub-menu {
    left: auto;
    right: 0;
    transform: none
}

.main-navigation ul.site-menu>.menu-item:last-child>ul.sub-menu:after {
    right: 13%;
    left: auto
}

.main-navigation ul.site-menu>.menu-item>ul.sub-menu:has(li:nth-child(7)):not(:has(li:nth-child(13))) {
    grid-template-columns: 1fr 1fr
}

.main-navigation ul.site-menu>.menu-item>ul.sub-menu:has(li:nth-child(13)) {
    grid-template-columns: 1fr 1fr 1fr
}

.main-navigation ul.site-menu>.menu-item>ul.sub-menu>li a {
    margin-bottom: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: start;
    color: #464646;
    text-decoration: none;
    min-width: 250px;
    position: relative;
    padding-right: calc(1rem + 28px)
}

.main-navigation ul.site-menu>.menu-item>ul.sub-menu>li a:after {
    font-family: var(--fa-style-family-classic);
    content: '\f105';
    font-size: .8rem;
    color: #333;
    width: 28px;
    height: 28px;
    background-color: #eee;
    border-radius: 100%;
    margin-left: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0
}

.main-navigation ul.site-menu>.menu-item>ul.sub-menu li.current_page_item a {
    font-weight: 700;
    color: var(--primary)
}

.form-check.active,.header-toc-list ul li.active a,.main-navigation ul.site-menu>.menu-item>ul.sub-menu>li a:hover,.primary,.sidewindow-footer a:hover,.subnav-wrapper ul li a:hover,.widget_nav_menu ul li a:hover {
    color: var(--primary)
}

.main-navigation ul.site-menu>.menu-item>ul.sub-menu>li a:hover:after,.page-card:hover .page-card-button {
    background-color: var(--primary);
    color: #fff
}

.site-menu>.blue-btn>a {
	border:1px solid #fff !important;
    border-radius: 5px;
    font-weight: 400;
    padding-left: 15px;
    padding-right: 15px;
}
.site-menu>.blue-btn>a:hover{
	background-color:#fff;
	color:var(--primary) !important;
}

.card {
    background:var(--gradient_bg);
    border-radius: 12px;
    display: block;
    text-decoration: none;
    height: 100%
}

.card:hover {
    box-shadow: 0 0 20px 0 rgb(0 0 0 / .14)
}

.card-img {
    border-radius: 0;
    height: 400px;
    margin-bottom: unset;
    transition: border-left-width .25s linear;
	overflow: hidden;
    position: relative;
	background: #000; 
	clip-path: inset(0); 
}

.card-img img {
    height: 100%;
    object-fit: cover;
    width: 100%;
	filter: grayscale(40%) brightness(90%); /* Muted "vintage" travel look */
    transition: transform 1.5s cubic-bezier(0.15, 0.85, 0.35, 1), filter 0.8s ease;
}
.card-img::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
        to right, 
        rgba(255,255,255,0) 0%, 
        rgba(255,255,255,0.2) 50%, 
        rgba(255,255,255,0) 100%
    );
    transform: skewX(-25deg);
    z-index: 2;
    transition: none;
}
.card-img:hover img {
    filter: grayscale(0%) brightness(105%);
    transform: scale(1.15) rotate(1deg);
}

.card-img:hover::before {
    left: 150%;
    transition: left 0.8s ease-in-out;
}
.card-body {
    color: #fff;
    display: flex;
    flex-direction: column;
    flex-grow: 0;
    justify-content: center;
    padding: 40px 30px
}

.card:hover .card-body-header,.experience-card-content-title h3 a:hover,.mobile-main-navigation li.current-menu-item>a,.site-footer-menu .menu-item-has-children a:hover {
    text-decoration: underline
}

.show-menu-on-scroll,.sidewindow-content-inner h2:before,.sidewindow-content-inner table:before,.youtube-container.fixed-pip.closed {
    display: none
}

.header-toc,.header-toc-title {
    display: flex;
    align-items: center;
    width: 100%
}

.header-toc {
    height: 70px;
    position: relative
}

.header-toc-title {
    cursor: pointer;
    height: 100%;
    border-left: 1px solid #eaeaea;
    border-right: 1px solid #eaeaea;
    justify-content: space-between;
    padding: 1rem
}

.header-toc-title:hover:after,details[open] {
	box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 4px 0px;
	border: 1px solid rgb(234, 234, 234);
}

.header-toc-title:before {
    content: 'Table of Contents '
}

.header-toc-title.advanced-filtering:before {
    content: 'Advanced Filter'
}

.header-toc-title:after {
    font-family: 'Font Awesome 6 Free';
    content: '\f078';
    font-size: .9rem;
    z-index: 999;
    background-color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    color: var(--primary);
    transition: .5s ease-in-out
}

.header-toc-title.active:after {
    color: #fff;
    transform: rotate(180deg);
    background-color: var(--primary)
}

.header-toc-container {
    position: absolute;
    background-color: #fff;
    left: 0;
    right: 0;
    top: 0;
    z-index: 9;
    box-shadow: 0 25px 35px -7px rgba(0,0,0,.25);
    display: none;
    height: 100vh;
    overflow-y: auto
}

.header-toc-container-title {
    height: 71px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #eee;
    width: 100%;
    padding: 1rem;
    cursor: pointer
}

.header-toc-list {
    height: calc(100% - 70px)
}

.drawer-mobile-menu ul,.guide-page-side-nav ul,.header-toc-list ul,.mobile-main-navigation ul,.site-footer-menu ul.sub-menu,.subnav-wrapper ul,.widget_nav_menu ul {
    list-style: none
}

.header-toc-list ul li a {
    display: block;
    padding: .5rem 1rem;
    text-decoration: none;
    color: #333;
    font-weight: 500;
    font-size: .9rem
}

.header-toc-list ul li a:hover {
    background-color: #e3f2fd
}

.mobile-nav-button-container {
    width: 30px;
    height: 30px;
    align-items: center;
    cursor: pointer;
    transition: .8s cubic-bezier(.4,0,.6,1);
    z-index: 999;
    margin-right: 15px;
    display: none
}

.mobile-nav-button {
    position: relative;
    width: 100%
}

.mobile-nav-button span.line-1,.mobile-nav-button span.line-2,.mobile-nav-button span.line-3 {
    position: absolute;
    height: 2px;
    width: 100%;
    background: #fff;
    transition: .3s cubic-bezier(.4,0,.6,1)
}

.mobile-nav-button span.line-1 {
    top: -8px
}

.mobile-nav-button span.line-2 {
    top: 0
}

.mobile-nav-button span.line-3 {
    top: 8px
}

.mobile-nav-button.active span.line-1 {
    top: 0;
    transform: rotateZ(135deg)
}

.mobile-nav-button.active span.line-2 {
    opacity: 0
}

.mobile-nav-button.active span.line-3 {
    top: 0;
    transform: rotateZ(-135deg)
}

.mobile-main-navigation {
    opacity: 0;
    transition: opacity .5s cubic-bezier(.4, 0, .6, 1);
    z-index: -100
}

.mobile-main-navigation ul a {
    text-decoration: none;
    color: #fff
}

.mobile-main-navigation ul>li a {
    display: block;
    padding: .5rem 0;
    font-weight: 500
}

.mobile-main-navigation ul>li>ul.sub-menu {
    margin-left: 2rem
}

.mobile-main-navigation.active {
    opacity: 1;
    transition: opacity .5s cubic-bezier(.4, 0, .6, 1)
}

.drawer-menu {
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 80vw;
    box-shadow: 0 2px 6px 0 rgba(0,0,0,.12);
    z-index: 999;
    transition: transform .35s cubic-bezier(.24,1,.32,1);
    transform: translate3d(-100%,0,0)
}

.drawer-content,.drawer-footer {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0
}

.drawer-menu.active {
    transform: translate3d(0,0,0)
}

.drawer-content {
    top: 0;
    overflow-y: auto
}

.drawer-header {
    padding: .5rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    border-bottom: 1px solid var(--lightgrey);
    background-color: var(--primary)
}

.drawer-header img {
    width: auto;
    height: 30px
}

.drawer-footer {
    padding: 1rem;
    text-align: center;
    border-top: 1px solid var(--lightgrey);
    background-color: #fff
}

.drawer-mobile-menu {
    margin-top: .5rem;
    margin-bottom: .5rem
}

.drawer-mobile-menu ul li a {
    padding: .5rem 1rem;
    text-decoration: none;
    color: inherit;
    display: block;
    font-weight: 600
}

.drawer-mobile-menu ul li a:focus {
    background-color: var(--lightgrey)
}

.drawer-mobile-menu ul li ul {
    margin-left: 1.5rem
}

.drawer-mobile-menu ul li ul a {
    font-weight: initial;
    display: flex;
    flex-direction: column
}

.drawer-mobile-menu ul li ul a span {
    font-size: .7rem;
    color: #4d4d4d
}

@media (min-width: 960px) {
    .mobile-nav-btn-wrapper {
        display:none
    }
}

.site-footer {
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: #f7f7f7;
    font-size: .9rem
}

.entry-content .wp-caption-text,.site-copyright {
    font-size: .7rem
}

.black,.sidewindow-content-inner h2,.sidewindow-content-inner h3,.sidewindow-content-inner h4,.sidewindow-content-inner h5,.sidewindow-content-inner h6,.site-footer-menu a {
    color: #333
}

.site-footer-menu {
    list-style: none;
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr 1fr;
}
@media (min-width:769px){
	.site-footer-menu{
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}

.post-item a,.site-copyright a:hover,.site-footer-menu .menu-item-has-children a {
    text-decoration: none
}
.site-footer-menu > li > a{
	font-weight:bold;
}
.site-footer-menu ul.sub-menu li {
    padding-top: 5px
}

.site-copyright {
    border-top: 1px solid #ccc;
    margin-top: 30px;
    padding-top: 30px;
    color: #737373
}

.social-sharing,details {
    border-top: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea
}

.site-copyright p {
    margin-bottom: .3rem
}

.site-copyright a {
    color: #737373;
    text-decoration: underline
}

.footer-widget .textwidget,.p-0,.textwidget.custom-html-widget {
    padding: 0
}

.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6 {
    margin: .67rem 0;
    font-weight: 700;
    line-height: 1.3;
    position: relative
}

.entry-content p,.entry-content table,.related-posts,.youtube-placeholder {
    margin-bottom: 1rem
}

.entry-content h2 {
    margin-top: 2.5rem;
    font-size: 1.6rem
}

.entry-content h2:before {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    width: 80px;
    height: 5px;
    background-color: var(--primary)
}
.entry-content p strong{
	color:rgb(232, 16, 16);
}

.entry-content p:last-child,ul.post-list li:last-child {
    margin-bottom: 0
}

.entry-content a {
    color: #005fee;
    text-decoration: underline;
    font-weight: 700
}

.entry-content a:hover {
    color: #0050c7;
    text-decoration: none
}

.entry-content a[target="_blank"]:after {
    content: '\f35d';
    font-family: 'Font Awesome 6 Free';
    padding-left: 5px;
    padding-right: 3px;
    display: inline-block
}

.entry-content a[href^="https://surl.amap.com/"],a.map-pin-trigger {
    text-decoration: none;
    font-weight: 700;
    background: linear-gradient(to right,transparent 50%,RGBA(0,205,238,.18) 50%);
    transition: background-position .2s;
    background-size: 200% 100%;
	border-bottom: 1px dashed #2196f3;
}

.entry-content a[href^="https://surl.amap.com/"]:hover,a.map-pin-trigger:hover {
    background-position: -100% bottom;
	cursor:pointer;
}

.entry-content a[href^="https://surl.amap.com/"]:after {
    font-family: 'Font Awesome 6 Free';
    content: '\f3c5';
    margin-left: 5px;
    color: red
}

.entry-content a[href^="https://surl.amap.com/"]:hover:after {
    animation: 2s linear infinite pin_up_down
}
a.map-pin-trigger:after{
	font-family: 'Font Awesome 6 Free';
    content: '\f5a0';
    margin-left: 5px;
    color: red
}

@keyframes pin_up_down {
    0%,100%,15%,25%,35% {
        transform: translateY(0)
    }

    20% {
        transform: translateY(-6px)
    }

    30% {
        transform: translateY(-3px)
    }
}

.entry-content a[href$=".doc"],.entry-content a[href$=".docx"],.entry-content a[href$=".pdf"],.entry-content a[href$=".ppt"],.entry-content a[href$=".pptx"],.entry-content a[href$=".xls"],.entry-content a[href$=".xlsx"],.entry-content a[href$=".zip"] {
    color: #cb0700
}

.entry-content a[href$=".doc"]:after,.entry-content a[href$=".docx"]:after,.entry-content a[href$=".pdf"]:after,.entry-content a[href$=".ppt"]:after,.entry-content a[href$=".pptx"]:after,.entry-content a[href$=".xls"]:after,.entry-content a[href$=".xlsx"]:after,.entry-content a[href$=".zip"]:after {
    font-family: "Font Awesome 6 Free";
    content: "\f019";
    padding-left: 5px;
    display: inline-block
}

.entry-content a[href^="mailto:"]:after {
    font-family: "Font Awesome 6 Free";
    content: "\f0e0";
    padding-left: 5px;
    padding-right: 3px;
    display: inline-block
}

.entry-content a[href^="tel:"]:after {
    font-family: "Font Awesome 6 Free";
    content: "\f098";
    padding-left: 5px;
    padding-right: 3px;
    color: #029245;
    display: inline-block
}
.entry-content a.side-popup-link:after{
	font-family: "Font Awesome 6 Free";
    content: "\f2d2";
	margin-left:5px;
	display:inline-block;
}

.entry-content ul {
    margin-left: .5rem;
    list-style: none
}

.entry-content ul li {
    position: relative;
    padding: 0 0 1rem 2rem
}

.entry-content ul li:before {
    background: var(--primary);
    content: '';
    display: block;
    height: 8px;
    left: 0;
    margin-top: -4px;
    position: absolute;
    top: .8rem;
    width: 8px
}
.entry-content ol{
	margin-bottom:1rem;
}
.entry-content ol li {
    counter-increment: item;
    padding: 10px 10px 10px 45px;
    min-height: 2.2em;
    position: relative;
    list-style-type: none
}

.entry-content ol li:before {
    border-radius: 50%;
    color: var(--primary);
    background-color: #e6f3fa;
    float: left;
    position: absolute;
    box-sizing: content-box;
    line-height: 2.2;
    text-align: center;
    font-weight: 600;
    height: 2.2em;
    width: 2.2em;
    left: 0;
    margin-top: -6px;
    content: counter(item);
}

.alignnone {
    float: none
}

.alignleft {
    float: left
}

.alignright {
    float: right
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center
}

.entry-content img,.sidewindow-content-inner iframe,.sidewindow-content-inner img,.sidewindow-content-inner video {
    max-width: 100%;
    height: auto
}

.entry-content figure {
    max-width: 100%;
    margin-bottom: 1rem
}

.bold,.entry-content strong {
    font-weight: 700
}

.wp-caption figcaption {
    position: absolute;
    bottom: 25px;
    right: 15px;
    color: #fff;
    background-color: #000;
    display: flex;
    border-radius: 4px;
    padding: .4rem 1.8rem .4rem .6rem;
    max-width: 300px;
    opacity: 0;
    transition: max-width .5s,max-height .5s,background-color .5s,opacity .5s
}

.wp-caption:after {
    content: '\f030';
    font-family: 'Font Awesome 6 Free';
    position: absolute;
    padding: .4rem;
    bottom: 21px;
    right: 15px;
    color: #fff;
    box-shadow: 0 20px 40px rgba(0,0,0,.1)
}

.wp-caption:hover figcaption {
    opacity: 1
}

.entry-content table {
    width: 100%;
    position: relative;
    border-collapse: collapse;
    border-radius: 5px;
    overflow: hidden;
    background-color: #f7f7f7
}

.entry-content table:before {
    background: #ededed;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    z-index: 1
}

.entry-content table thead {
    position: relative;
    z-index: 3
}

.entry-content table tbody {
    column-count: 2;
    column-fill: balance;
    column-gap: 0;
    display: block;
    z-index: 2;
    position: relative
}

.entry-content table tr {
    break-inside: avoid-column;
    flex: 1 0 50%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    min-width: 250px
}

.entry-content table td,.entry-content table th {
    padding: .8rem;
    min-width: 110px
}
.entry-content table td:nth-child(2){
	text-align:right;
}
.entry-content table th {
    background-color: #f1f1f1;
    font-weight: 700
}

.social-sharing {
    margin-top: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center
}

.social-sharing-list {
    list-style: none;
    display: flex;
    column-gap: 1rem
}

.social-sharing-list li a {
    padding: 8px 15px;
    border-radius: 5px;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    text-align: center
}

.social-sharing-list li a.facebook {
    background: #0866ff
}

.social-sharing-list li a.x {
    background-color: #000
}

.social-sharing-list li a.linkedin {
    background-color: #0a66c2
}

.operating-status,details summary span.activity-title {
    display: flex;
    align-items: center
}

.operating-status:before {
    width: 30px;
    height: 30px;
    border-radius: 100%
}

.hero-header-img img,.hero-header-img::before,.hero-header-img video {
    position: absolute;
    width: calc(100% + (100vw - 1000px));
    height: 100%;
    top: 0;
    left: 0
}

.operating-status.closed:before {
    background-color: red
}

/* Homepage Header*/
.hero-header.discovery-style {
    position: relative;
    height:100vh;
    width: 100%;
    overflow: hidden;
    padding:150px 20px 0 20px;
	background:#000;
	max-width:1920px;
	max-height:1080px;
	margin:auto;
	margin-top:-70px;
}

.hero-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}
.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    opacity: 0;
    filter: brightness(0) blur(20px) scale(1.1);
	-webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000;
    perspective: 1000;
    -webkit-animation: stunningReveal 3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation: stunningReveal 3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@-webkit-keyframes stunningReveal {
    0% { opacity: 0; -webkit-filter: brightness(0) blur(15px); transform: scale(1.1); }
    100% { opacity: 1; -webkit-filter: brightness(0.85) blur(0px); transform: scale(1); }
}
@keyframes stunningReveal {
    0% { opacity: 0; filter: brightness(0) blur(15px); transform: scale(1.1); }
    100% { opacity: 1; filter: brightness(0.85) blur(0px); transform: scale(1); }
}
.hero-content {
    position: relative;
    z-index: 10;
    text-align: center;
    max-width: 750px;
    padding: 0 20px;
    margin: auto;
    color: #fff;
    opacity: 0;
    animation: fadeInContent 1.5s ease-out forwards;
    animation-delay: 1s; 
}
@keyframes fadeInContent {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.hero-content h1{
	font-size: clamp(2.5rem, 6vw, 3.5rem);
}
.hero-subtitle {
    font-size: 1.25rem;
    margin-bottom: 2rem;
    text-shadow: 0 2px 10px rgba(0,0,0,0.7);
}
.hero-footer-text{
	margin-top:2rem;
}
.spotlight-hotspot {
    position: absolute;
    z-index: 25;
    cursor: pointer;
}

.spotlight-square {
    width: 28px;
    height: 28px;
    border: 2px solid rgba(255, 255, 255, 0.8);
    background: rgba(0, 135, 196, 0.2); /* Tinted with your blue */
    position: relative;
    transition: all 0.3s ease;
}

.spotlight-pulse {
    position: absolute;
    inset: -2px;
    border: 2px solid rgba(255, 255, 255, 0.6);
    animation: spotlight-ring 5s infinite;
}

@keyframes spotlight-ring {
    0% { transform: scale(1); opacity: 0.5; }
    100% { transform: scale(3); opacity: 0; }
}
@media (max-width: 768px) {
    .hero-header.discovery-style {
        min-height: 80vh;
		display:flex;
		align-items:center;
		padding:0;
    }
    .spotlight-hotspot {
        display: none; 
    }

    .hero-header-body h1 {
        font-size: 2.2rem !important; /* Smaller headline for phones */
    }

    .hero-subtitle {
        font-size: 1rem;
    }

    .scroll-arrow {
        display: none; /* Save space on mobile */
    }
}

/* Info Box Design */
.spotlight-info {
    position: absolute;
    bottom: 45px;
    left: -10px;
    width: 300px;
    padding: 24px;
    background: rgba(10, 10, 10, 0.8);
    backdrop-filter: blur(12px); /* High-end glass effect */
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 4px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    text-align: left;
}

.spotlight-hotspot:hover .spotlight-info {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.spotlight-label {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #0087c4; /* Your brand blue */
    margin-bottom: 8px;
    font-weight: bold;
}

.spotlight-info h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    color: #fff;
}

.spotlight-info p {
    font-size: 14px;
    line-height: 1.6;
    color: #ccc;
    margin-bottom: 15px;
}

.spotlight-link {
    font-size: 13px;
    color: #fff;
    text-decoration: none;
    padding-bottom: 2px;
    transition: color 0.3s;
}

.spotlight-link:hover {
    color: #0087c4;
}

/* Navigation Arrow */
.scroll-arrow {
    margin-top: 3rem;
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-10px);}
    60% {transform: translateY(-5px);}
}

.hero-header {
    width: 100%;
    overflow: hidden;
    position: relative
}

.hero-header-wrapper {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    min-height: 400px;
    width: 100%;
    position: relative
}

.hero-header-body {
    padding-top: 3rem;
    padding-bottom: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 40%;
    z-index: 1
}

.hero-header-img {
    width: 50%;
    position: relative;
    background-size: cover;
    background-position: center;
    z-index: 0
}

.hero-header-img img,.hero-header-img video {
    bottom: 0;
    right: 0;
    object-fit: cover
}

.hero-header-img::before {
    content: '';
    background: inherit;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    clip-path: inset(0 0 0 0)
}

@media (max-width: 1200px) {
    .main-navigation {
        display:none
    }

    .mobile-nav-button-container {
        display: flex
    }

    .hero-header-img img,.hero-header-img video {
        width: calc(100% + (100vw - 100px))
    }
}

.post-tags {
    list-style: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: .5rem;
    row-gap: .5rem;
    flex-wrap: wrap
}

.post-tags span a {
    background-color: rgba(69,88,115,.1);
    text-overflow: ellipsis;
    padding: 3px 8px;
    display: inline-block;
    font-size: .7rem;
    color: #455873;
    text-decoration: none;
    border-radius: 2px
}

.post-tags span a:hover {
    background-color: #dfe1e4
}

.sidewindow {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 400px;
    max-width: 90vw;
    height: 80vh;
    max-height: 90vh;
    min-width: 240px;
    min-height: 400px;
    transition-duration: 250ms;
    transition-timing-function: ease-in;
    transition-property: opacity,left,top,width,height,transform;
    border: 1px solid #cbcbcb;
    box-shadow: rgba(0,0,0,.2) 0 16px 32px 0;
    border-radius: 4px;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    z-index: 99999;
    overflow: hidden
}

.sidewindow.active {
    opacity: 1;
    visibility: visible
}

.sidewindow-header {
    display: flex;
    background-color: #f4f6f7;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,.16)
}

.sidewindow-header .title {
    margin: 5px 0 0 10px;
    padding: 5px 8px;
    border-radius: 4px 4px 0 0;
    background-color: #fff;
    font-size: .9rem
}

.sidewindow-header .close-button {
    cursor: pointer;
    font-size: 1rem;
    padding: 5px 10px
}
.sidewindow-searchbar{
	background-color: #f7f7f7;
	width: 100%;
	display: flex;
	gap: 10px;
	padding: 5px 12px;
	border:1px solid #f7f7f7;
	align-items:center;
}
.sidewindow-searchbar:hover{
	border: 1px solid var(--primary);
}

.sidewindow-content {
    flex-grow: 1;
    padding: 15px;
    overflow-y: auto
}

.sidewindow-content-inner {
    font-size: .9rem;
    color: #666
}

.sidewindow-content-inner h2:first-child {
    margin-top: 0;
    padding-top: 0;
    border: none
}

.sidewindow-content-inner h2 {
    margin-top: 1.3rem;
    font-size: 1.2rem
}

.sidewindow-content-inner h3 {
    font-size: 1.05rem
}

.sidewindow-content-inner h5 {
    font-size: .95rem
}

.sidewindow-content-inner a,.sidewindow-content-inner h6 {
    font-size: .9rem
}

.sidewindow-content-inner table tbody {
    column-count: 1
}

.sidewindow-content-inner table tr:nth-child(2n) {
    background-color: #f1f1f1
}

.sidewindow-content-inner::-webkit-scrollbar {
    width: 8px
}

.sidewindow-content-inner::-webkit-scrollbar-track {
    background: #f1f1f1
}

.sidewindow-content-inner button,.sidewindow-content-inner input,.sidewindow-content-inner select,.sidewindow-content-inner textarea {
    font-size: .85rem;
    width: 100%
}
.sidewindow-content-inner .fixed-pip {
    display: none;
    visibility: hidden;
    opacity: 0
}

.sidewindow-content-inner::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px
}

.sidewindow-content-inner::-webkit-scrollbar-thumb:hover {
    background: #555
}

.sidewindow-footer {
    padding: 5px 10px;
    box-shadow: 0 -1px 2px 0 rgba(0,0,0,.16);
    font-size: .8rem
}

.sidewindow-footer a {
    color: #777
}

.youtube-placeholder {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 5px;
    border: none
}
.youtube-container p{
	display:none;
}
.youtube-container,.youtube-container iframe {
    position: absolute;
    width: 100%;
    height: 100%
}

.youtube-close-btn {
    position: absolute;
    top:3px;
    right:3px;
    background:rgba(0, 0, 0, 0.53);
    border: none;
    cursor: pointer;
    display: none;
    z-index: 1001;
    text-align: center;
    font-size: 1.5rem;
    color: #fff;
	padding:2px 5px;
    transition: .2s
}

.youtube-close-btn:hover {
    transform: scale(1.2);
    transition: .2s;
    color: red
}

.related-posts {
    display: grid;
    gap: 1.5rem 1rem
}

.related-post-item {
    box-shadow: 0 0 5px rgba(0,0,0,.07);
    border-radius: 5px;
    transition: .3s;
    height: 100%;
    overflow: hidden
}

.related-post-item:hover {
    box-shadow: 0 0 18px rgba(0,0,0,.2);
    transform: scale(1.015)
}

.related-post-item a {
    text-decoration: none;
    color: inherit;
    display: block
}

.breadcrumbs,.breadcrumbs a {
    color: #737373
}

.related-post-item img {
    width: 100%;
    height: auto;
    object-fit: cover
}

.author-avatar,.author-avatar img {
    width: 65px;
    height: 65px
}

.related-post-item .entry-thumbnail {
    height:auto;
    overflow: hidden
}

.p-3,.related-post-item .entry-title {
    padding: 1rem
}

@media (min-width: 768px) {
    .related-posts {
        display:grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem 1rem
    }

    .page-card-img {
        order: 2
    }
	.related-post-item img{
		height:150px;
	}
	.related-post-item .entry-thumbnail{
		height:150px;
	}
}

@media (min-width: 1200px) {
    .header-toc-container.default-active {
        display:block;
        z-index: 999
    }

    .related-posts {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 1.5rem 1rem
    }
	.related-posts.fr-3{
		grid-template-columns: 1fr 1fr 1fr;
	}
	.related-post-item img{
		height:150px;
	}
	.related-post-item .entry-thumbnail{
		height:150px;
	}
}

.youtube-container.fixed-pip {
    position: fixed !important;
    bottom: 20px;
    right: 20px;
    width: 300px !important;
    height: 168px !important;
    z-index: 9999;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    border-radius: 8px;
    overflow: hidden;
}

.youtube-container.fixed-pip iframe {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden
}

.site-main {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
}

.breadcrumbs {
    margin-bottom: 10px
}

.author-box {
    display: flex;
    flex-direction: row;
    column-gap: 1rem;
    font-size: .8rem;
    color: #7a7a7a;
    margin-top: 1rem;
    margin-bottom:1rem;
	padding:15px;
	border-radius:5px;
	background: linear-gradient(to right, #f4f4f4, rgba(244, 244, 244, 0));
}
.author-box i{
	width: 50px;
    height: 50px;
	font-size: 1.7rem;
    display: inline-flex;
    justify-content: space-around;
    align-items: center;
}
.author-avatar img {
    background-color: var(--primary);
    display: block
}

.author-info {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.founderbox {
    border: 1px solid #eaeaea;
    background-color: #fbfcfd;
    display: flex;
	margin-top:1rem;
	margin-bottom:1rem;
}

.founderbox-img {
    background-color: #f5f6f7;
    width: 250px;
    min-width: 260px;
    display: inline-flex
}

.founderbox-img img {
    width: 260px;
    min-width: 260px;
    margin-left: -8px;
    margin-top: 20px;
    height: auto
}

.founderbox-text {
    padding: 1.3rem
}

@media (max-width: 800px) {
    .header-toc-title:before {
        content:'TOC'
    }

    .header-toc-title.advanced-filtering:before {
        content: 'Filter'
    }

    .header-toc-container.active {
        left: initial;
        width: 80vw
    }

    .founderbox {
        flex-direction: column;
        position: relative
    }

    .founderbox-img {
        width: 100%;
        min-height: 340px
    }

    .founderbox-img img {
        min-width: 50%;
        width: 50%;
        margin-left: 20px
    }

    .founderbox-text {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        background-color: rgba(247,247,247,.93)
    }
}

.page-card,.subnav-wrapper {
    background-color: #fff
}

.info-container {
	background-color:#e6f3fa;
	border:1px solid #dceaf1;
    margin-bottom: 1.5rem;
    border-radius: .3rem;
    font-size: .95rem;
	position:relative;
}
.callout-icon{
	position:absolute;
	right: 1rem;
	font-size: 1rem;
}
.callout-icon:before{
	font-family: "Font Awesome 6 Free";
	color:#fff;
	padding:10px 5px;
	border-radius:5px;
}
.info-container.info .callout-icon:before{
	content: "\f005";
	background-color:var(--primary)
}
.info-container.warning{
	background-color: #fbf0e8;
	border-color:#fbe0d0;
}
.info-container.warning .callout-icon:before{
	content: "\f071";
	background-color:#B25225
}
.info-container.hotel .callout-icon:before{
	content: "\f236";
	background-color:var(--primary)
}
.info-container .title {
    padding: .5rem 1rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.info-container .details {
    padding:1.2rem
}

.entry-content a.page-card,.guide-page-side-nav a {
    color: inherit;
    text-decoration: none
}

.info-container p a {
    text-align: right
}

.star-rating {
    display: inline-flex;
    column-gap: .2rem
}

.category-item,.tag-list {
    column-gap: .5rem;
    row-gap: .5rem
}

details {
    margin-top: -1px
}

details summary::-webkit-details-marker {
    display: none
}

details summary {
    padding: .8rem;
    display: flex;
    align-items: center;
    cursor: pointer;
    justify-content: space-between
}

details summary span.activity-title:before {
    background-color: var(--primary);
    min-width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Font Awesome 6 Free';
    margin-right: .5rem;
    color: #fff;
    font-size: 1rem;
    border-radius: .2rem
}

.details-wrapper,.p-4 {
    padding: 1.5rem
}
details:has(+ p,+ img) {
    margin-bottom: 1rem
}

.activity-status:before {
    font-family: 'Font Awesome 6 Free';
    width: 20px;
    height: 20px;
    font-size: .8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.activity-status.Yes:before {
    content: '\f078';
    transition: transform .3s;
    font-size: 1rem
}

details[open] .activity-status.Yes:before {
    transform: rotate(180deg);
    transition: transform .3s
}

.activity-status.No:before {
    content: '\f00d';
    color: #fff;
    background-color: red
}

.activity-status.Warning:before {
    content: '\21';
    color: #fff;
    background-color: orange
}

/* Gallery */
/**
 * 1. GLOBAL GALLERY GRID (1 Large + 3 Small)
 */
.gallery {
    display: grid;
    grid-template-columns: 3fr 1fr; /* Featured image takes 75% width */
    grid-template-rows: repeat(3, 1fr); /* 3 perfectly equal rows on the right */
    gap: 10px;
    margin: 0 0 1.5rem;
    padding: 0;
    align-items: stretch;
}
figure.gallery-item{
	margin-bottom:0;
}
/* Hide images after the 4th one on the grid layout */
.gallery .gallery-item:nth-child(n+5) {
    display: none !important;
}

/* Featured Position (Spans all 3 rows) */
.gallery-item:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
    height: 100%;
}

/* Right Stack Positions */
.gallery-item:nth-child(2) { grid-column: 2 / 3; grid-row: 1 / 2; }
.gallery-item:nth-child(3) { grid-column: 2 / 3; grid-row: 2 / 3; }
.gallery-item:nth-child(4) { 
    grid-column: 2 / 3; 
    grid-row: 3 / 4; 
    position: relative; 
}

/**
 * 2. IMAGE & CAPTION CLEANUP
 * This removes the "default" text gaps seen in your screenshot.
 */
.gallery-item figure, 
.gallery-item a { 
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Prevents image distortion */
    display: block;
    border-radius: 6px;
    transition: transform 0.3s ease;
}
.gallery-icon{
	height:100%;
}

/* Hide WordPress figcaptions/labels in the grid view */
.gallery-item figcaption,
.gallery-caption {
    display: none !important;
}

/**
 * 3. "+ MORE" OVERLAY (Glassmorphism)
 */
.gallery-show-more {
    position: absolute;
    inset: 0; /* Ensures it covers the 4th image perfectly */
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    border: none;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    backdrop-filter: blur(4px);
    transition: background 0.3s ease;
}

.gallery-show-more:hover {
    background: rgba(0, 0, 0, 0.75);
}

.gallery-show-more span {
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
}

.gallery-show-more em {
    font-style: normal;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 5px;
    opacity: 0.9;
}

/**
 * 4. LIGHTBOX STYLES & ANIMATIONS
 */
#custom-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(0, 0, 0, 0.95);
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#lightbox-img {
    max-width: 90%;
    max-height: 75vh;
    object-fit: contain;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5);
    opacity: 0;
    transform: translateY(15px) scale(0.98);
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

#lightbox-img.loaded {
    opacity: 1;
    transform: translateY(0) scale(1);
}

#lightbox-caption {
    color: #f0f0f0;
    margin-top: 20px;
    font-size: 16px;
    text-align: center;
    max-width: 800px;
    font-weight: 400;
    padding: 0 30px;
}

#lightbox-counter {
    color: #888;
    font-size: 13px;
    margin-top: 12px;
    letter-spacing: 2px;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 25px;
    color: #fff;
    font-size: 45px;
    cursor: pointer;
    opacity: 0.6;
}

.lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 40px;
    padding: 20px;
    cursor: pointer;
    opacity: 0.4;
    transition: 0.2s;
}

.lightbox-nav:hover { opacity: 1; color: #3498db; }
.nav-prev { left: 15px; }
.nav-next { right: 15px; }

/**
 * 5. MOBILE RESPONSIVENESS
 */
@media (max-width: 768px) {
    .gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(2, 140px);
        gap: 8px;
    }
    
    /* 2x2 Square grid for mobile */
    .gallery-item:nth-child(1) { grid-column: 1 / 2; grid-row: 1 / 2; }
    .gallery-item:nth-child(2) { grid-column: 2 / 3; grid-row: 1 / 2; }
    .gallery-item:nth-child(3) { grid-column: 1 / 2; grid-row: 2 / 3; }
    .gallery-item:nth-child(4) { grid-column: 2 / 3; grid-row: 2 / 3; }

    .lightbox-nav { display: none; } /* Use swipe on mobile */
}

@media (max-width: 576px) {
    .hero-header .container {
        padding:0
    }

    .hero-header-wrapper {
        flex-direction: column-reverse;
        min-height: auto
    }

    .hero-header-body {
        width: 100%;
        padding: 1rem 15px
    }

    .hero-header-img {
        width: 100%;
        height: 300px
    }

    .hero-header-img img,.hero-header-img::before {
        width: 100%
    }
}

.featured-image img {
    width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: cover
}

.guide-page-side-nav {
    position: sticky;
    top: 2rem;
    overflow-y: auto
}

.guide-page-side-nav li {
    margin-top: .5rem
}

.guide-page-side-nav a {
    box-sizing: border-box;
    padding: 10px 12px;
    margin-top: .9rem;
    display: block
}

.guide-page-side-nav li.active a {
    border-left: 3px solid var(--primary);
    font-weight: 700;
    color: var(--primary)
}

.subnav-wrapper {
    position: sticky;
    top: 5rem;
    box-shadow: 0 4px 16px 0 rgba(69,88,115,.2);
    border-radius: 5px;
    padding: .8rem 0
}

.subnav-wrapper ul li a {
    display: block;
    padding: .8rem 1rem;
    color: #333;
    text-decoration: none
}

.subnav-wrapper ul li:first-child a {
    padding-top: .8rem
}

.subnav-wrapper ul li:last-child a,.widget_nav_menu ul li:last-child a {
    padding-bottom: .8rem
}

.subnav-wrapper ul.sub-pages {
    padding-left: 1rem;
    border-left: 1px solid #f4f4f4
}

.subnav-wrapper ul li.current>a {
    color: var(--primary);
    border-left: 4px solid var(--primary);
    background-color: #e6f3fa
}

.page-card {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 1rem;
    border-radius: 5px;
    border: 1px solid #eaeaea;
    overflow: hidden;
    height: 300px;
    margin-left: auto;
    margin-right: auto;
    max-width: 900px
}

.page-card-img {
    width: 50%;
    transition: border-left-width .25s linear;
    border-left: 0 solid var(--primary);
    overflow: hidden
}

.page-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform .25s linear
}

.page-card-body {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 2rem
}

.page-card-button {
    border-radius: 3px;
    font-size: .9rem;
    padding: .5rem .9rem;
    border: 2px solid var(--primary);
    color: var(--primary);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    width: fit-content;
    transition: background-color .55s;
    display: flex;
    align-items: center
}

.page-card-button:after {
    font-family: var(--fa-style-family-classic);
    content: "\f138";
    margin-left: 8px
}

.page-card:hover .page-card-img {
    border-left-width: 8px
}

.page-card:hover .page-card-img img {
    transform: scale(1.15)
}

.share-box {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
}

.feedback-link a {
    color: #777;
    font-size: .9rem
}
.feedback-link a:hover{
	color:#005fee;
}

aside div:last-child {
    position: sticky;
    top: 5rem;
    margin-bottom: 0
}

.widget,ul.post-list li {
    margin-bottom: 2rem
}

.widget {
    box-shadow: 0 0 5px rgba(0,0,0,.07)
}

.experience-card,.post-item {
    box-shadow: 0 3px 8px 0 rgba(54,57,73,.05)
}

.widget-title {
    padding: 1rem;
    font-size: 1rem;
    font-weight: 700;
    border-bottom: 1px solid #f2f2f2
}
.widget-title:before{
    display: none;
}

.textwidget {
    padding: 1rem;
    font-size: .8rem
}

.category-header,.textwidget p {
    margin-bottom: .5rem
}

.widget_nav_menu ul li a {
    padding: .5rem 1rem 0;
    color: #333;
    display: block;
    text-decoration: none
}

.widget_nav_menu ul li a:after {
    font-family: 'Font Awesome 6 Free';
    content: '\f054';
    font-size: .5rem;
    margin-left: .3rem;
    vertical-align: middle
}

.widget_media_image {
    background: 0 0;
    border: none
}

.widget_media_image img {
    width: 100%;
    height: auto
}

ul.post-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative
}

@media (min-width: 768px) {
    .site-sidebar {
        top:1rem
    }

    ul.post-list::after {
        background: #e4e8ed;
        content: "";
        display: block;
        height: 100%;
        left: 50%;
        margin-left: -.5px;
        position: absolute;
        right: inherit;
        top: 0;
        width: 1px
    }

    ul.post-list li:nth-of-type(odd) {
        margin-right: 61.0169491525%
    }

    ul.post-list li:nth-of-type(2n) {
        margin-left: 61.0169491525%;
        margin-top: -230px
    }
}

.post-item {
    max-width: 460px
}

.post-item:hover {
    box-shadow: 0 29px 60px 0 rgba(54,57,73,.09)
}

.post-item img {
    display: block;
    height: auto;
    max-height: 250px;
    width: 100%;
    object-fit: cover
}

@media (max-width: 600px) {
    .youtube-container.fixed-pip {
        width:150px;
        height: 84px
    }

    .post-item img {
        max-height: auto
    }
}

.post-item h2 {
    padding: 1.5rem;
    color: #333;
    font-size: 1.2rem;
    font-weight: 600
}

.no-results {
    background-color: #fff;
    color: var(--primary);
    padding: 1rem;
    z-index: 1
}

.experience-card {
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    margin-bottom: 1.5rem;
    min-height: 220px;
    border: 1px solid #eaeaea;
	transition: all .25s ease-in-out;
}
.experience-card:hover{
	box-shadow: 0 0 18px rgba(0,0,0,0.2);
	transform: scale(1.015);
}
.experience-card-thumbnail{
	width:40%;
}

.experience-card-thumbnail img {
    width: 100%;
    height:100%;
    min-height: 220px;
    display: block;
    object-fit: cover
}

.experience-card-content {
    width:60%;
    padding: 20px 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.experience-card-content-title,.filter-options-container h4 {
    margin-bottom: 1rem
}

.experience-card-content-title h3 a {
    color: inherit;
    text-decoration: none;
    vertical-align: middle
}

.experience-card-content-title h3:after {
    font-family: 'Font Awesome 6 Free';
    content: "\f054";
    background-color: var(--primary);
    width: 20px;
    height: 20px;
    border-radius: 100%;
    font-size: .6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-left: 10px
}

.experience-card-cat {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between
}

.category-box {
    margin-bottom: 30px
}

.tags-header {
    margin-top: 1rem
}

.category-title {
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .5px
}

.category-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    row-gap: .5rem
}

.tag-list {
    list-style: none;
    display: flex;
    flex-wrap: wrap
}

.tag-list .category-name {
    background: #f8fafc;
    border-color: #94a3b8
}

.category-checkbox:checked+.category-name,.tag-checkbox:checked+.category-name {
    background: #e3f2fd;
    border-color: #2196f3;
    color: #2196f3
}

.category-item {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap
}

.category-label {
    position: relative;
    display: inline-block
}

.category-checkbox,.tag-checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.category-name {
    display: inline-block;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 20px;
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 500;
    color: #1f3a44;
    cursor: pointer;
    transition: .3s
}

.category-name:hover {
    background: #f3f4f6
}

.category-separator {
    margin: 0 5px;
    color: #6b7280;
    font-size: 14px
}

.applied-filters,.form-check {
    margin-bottom: 1rem;
    display: flex
}

.filter-options-container {
    padding: 20px
}
.close-filter-modal{
	position: fixed;
	right: 20px;
	display:none;
}
.open-filter-modal{
	display:none;
	width:100%;
	margin-top:1rem;
}
@media (max-width: 768px){
	.filter-options-container{
		position:fixed;
		width:100%;
		height:100%;
		left:0;
		right:0;
		top:0;
		bottom:0;
		overflow-y: auto;
		display:none;
		z-index:99999999;
		background-color:#fff;
	}
	.filter-options-container.active,.close-filter-modal,.open-filter-modal{
		display:block;
	}
}

.filter-options-container input[type=checkbox] {
    appearance: none;
    background-color: #fff;
    border: 1px solid #656565;
    border-radius: 4px;
    cursor: pointer;
    height: 32px;
    margin: 0;
    position: relative;
    width: 32px;
    overflow: hidden
}

.form-check {
    flex-direction: row;
    align-items: center;
    column-gap: .5rem
}

.form-check.active input[type=checkbox]:checked:before {
    background-color: var(--primary);
    border-radius: 3px;
    color: #fff;
    content: "";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Font Awesome 6 Free';
    font-size: 1rem;
    font-weight: 900;
    height: 30px;
    width: 30px
}

.form-check.unavailable {
    opacity: .5;
    pointer-events: none
}

.applied-filters {
    margin-top: 1rem;
    flex-wrap: wrap
}

.applied-filter {
    background-color: #0176ab;
    color: #fff;
    border-radius: 32px;
    font-size: 1rem;
    height: auto;
    margin: 0 8px 8px 0;
    padding: 6px 12px
}

.applied-filter .remove-filter,.white {
    color: #fff
}

.applied-filter:hover,.bg-primary {
    background-color: var(--primary)
}

@media (max-width: 768px) {
    .entry-content h1 {
        font-size:28px
    }

    .entry-content h2 {
        font-size: 24px
    }

    .entry-content h3 {
        font-size: 20px
    }

    .entry-content h4 {
        font-size: 18px
    }

    .entry-content h5 {
        font-size: 16px
    }

    .entry-content h6 {
        font-size: 14px
    }

    .entry-content table:before,.page-card-button {
        display: none
    }

    .entry-content table tbody {
        column-count: 1
    }

    .entry-content table tr:nth-child(2n) {
        background-color: #f1f1f1
    }

    .page-card {
        flex-direction: column;
        height: auto
    }

    .experience-card-thumbnail,.experience-card-thumbnail img,.experience-card-content,.page-card-body,.page-card-img {
        width: 100%
    }
    .page-card-body {
        padding: .3rem 1rem 1rem
    }

    .experience-card {
        flex-direction: column
    }

    .experience-card-cat {
        flex-direction: column;
        align-items: baseline;
        row-gap: 1rem
    }

    .category-list {
        gap: 8px
    }

    .category-name {
        padding: 5px 10px;
        font-size: 13px
    }
}

.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--primary);
    border-radius: 50%;
    animation: 1s linear infinite spin;
    background-color: #fff
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

button {
    cursor: pointer;
    border: none;
    display: block
}

.btn,a.btn,button {
    border-radius: 5px;
    font-size: .9rem;
    padding: .9rem;
    background-color: var(--primary);
    border: 1px solid var(--primary);
    color: #fff;
    text-decoration: none;
    display: inline-block;
    font-weight: 700;
    text-align: center;
		
}

.btn:hover,a.btn:hover,button:hover {
    background-color: #fff;
    color: var(--primary)
}

.btn.small,.p-2 {
    padding: .3rem;
	font-size: .8rem;
	font-weight: 500;
}

.btn.full {
    display: block;
    width: 100%
}

.alert {
    font-weight: 700;
    margin-bottom: 20px;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    column-gap: 1rem
}

.alert:before {
    font-family: 'Font Awesome 6 Free';
    font-size: 2.5rem;
    font-style: normal;
    line-height: 1;
    margin-right: 10px;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased
}

.alert.info,.alert.info a {
    color: #269abc
}

.alert.info:before {
    content: "\f05a"
}

.alert.warning,.alert.warning a {
    color: #ee7100
}

.alert.warning:before {
    content: "\f071"
}

.alert.error,.alert.error a {
    color: #d3080c
}

.alert.error:before {
    content: "\f06a"
}

.alert.good {
    color: #469a21
}

.alert.good:before {
    content: "\f058"
}

.contextual-alert {
    border-width: 0 0 0 6px;
    padding: 20px 0 20px 30px;
    border-style: solid;
    position: relative;
    margin-left: 10px;
    margin-bottom: 1rem
}

.contextual-alert:before {
    font-family: "Font Awesome 6 Free";
    font-size: 26px;
    margin-left: -1.76em;
    position: absolute;
    background-color: #fff
}

.contextual-alert.info {
    border-color: var(--primary)
}

.contextual-alert.info:before {
    content: "\f06a";
    color: var(--primary)
}

.contextual-alert.good {
    border-color: #278400
}

.contextual-alert.good:before {
    content: "\f058";
    color: #278400
}

.contextual-alert.warning {
    border-color: #ee7100
}

.contextual-alert.warning:before {
    content: "\f071";
    color: #ee7100
}

.contextual-alert.danger {
    border-color: #d3080c
}

.contextual-alert.danger:before {
    content: "\f057";
    color: #d3080c
}

.grey {
    color: #7a7a7a
}

.bg-grey {
    background-color: #f4f6f8
}

.bg-lightblue {
    background-color: #e6f3fa
}

.text-url {
    text-decoration: none;
    display: flex;
    align-items: center;
    color: var(--primary)
}

.text-url:after {
    font-family: 'Font Awesome 6 Free';
    content: '\f061';
    margin-left: 5px;
    font-size: .8rem;
    color: var(--primary);
    transition: margin-left .3s
}

.text-url:hover:after {
    margin-left: 10px
}

.italic {
    font-style: italic
}

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

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

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

.size-16 {
    font-size: 16px
}

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

.size-20 {
    font-size: 20px
}

.size-22 {
    font-size: 22px
}

.size-24 {
    font-size: 24px
}

.size-26 {
    font-size: 26px
}

.size-28 {
    font-size: 28px
}

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

.size-32 {
    font-size: 32px
}

.size-34 {
    font-size: 34px
}

.size-36 {
    font-size: 36px
}

.size-38 {
    font-size: 38px
}

.size-40 {
    font-size: 40px
}

.size-50 {
    font-size: 50px
}

.size-60 {
    font-size: 60px
}

.p-1 {
    padding: .25rem
}

.p-5 {
    padding: 2rem
}

.pt-1 {
    padding-top: .25rem
}

.pt-2 {
    padding-top: .5rem
}

.pt-3 {
    padding-top: 1rem
}

.pt-4 {
    padding-top: 1.5rem
}

.pt-5 {
    padding-top: 2rem
}

.pr-1 {
    padding-right: .25rem
}

.pr-2 {
    padding-right: .5rem
}

.pr-3 {
    padding-right: 1rem
}

.pr-4 {
    padding-right: 1.5rem
}

.pr-5 {
    padding-right: 2rem
}

.pb-1 {
    padding-bottom: .25rem
}

.pb-2 {
    padding-bottom: .5rem
}

.pb-3 {
    padding-bottom: 1rem
}

.pb-4 {
    padding-bottom: 1.5rem
}

.pb-5 {
    padding-bottom: 2rem
}

.pl-1 {
    padding-left: .25rem
}

.pl-2 {
    padding-left: .5rem
}

.pl-3 {
    padding-left: 1rem
}

.pl-4 {
    padding-left: 1.5rem
}

.pl-5 {
    padding-left: 2rem
}

.px-1 {
    padding-left: .25rem;
    padding-right: .25rem
}

.px-2 {
    padding-left: .5rem;
    padding-right: .5rem
}

.px-3 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-4 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.px-5 {
    padding-left: 2rem;
    padding-right: 2rem
}

.py-1 {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.py-2 {
    padding-top: 2rem;
    padding-bottom: 2rem
}

.py-3 {
    padding-top: 3rem;
    padding-bottom: 3rem
}

.py-4 {
    padding-top: 4rem;
    padding-bottom: 4rem
}

.py-5 {
    padding-top: 5rem;
    padding-bottom: 5rem
}
.grid{
	display:grid;
}
.grid-2fr{
	grid-template-columns:1fr 1fr;
	gap:15px;
}
@media (max-width:800px){
	.grid-2fr{
		grid-template-columns:1fr;
	}
}
.radio-input {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-bottom: 10px;
}

.radio-input input[type="radio"] {
    width: 44px;
    height: 44px;
    opacity: 0;
}

.radio-input label {
    align-self: center;
    max-width: calc(100% - 74px);
    margin-bottom: 0;
    padding: 7px 15px;
    cursor: pointer;
    touch-action: manipulation;
}

.radio-input label::before {
    content: "";
    box-sizing: border-box;
    position: absolute;
    top: 2px;
    left: 2px;
    width: 40px;
    height: 40px;
    border: 2px solid currentColor;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0);
}

.radio-input label::after {
    content: "";
    position: absolute;
    top: 12px;
    left: 12px;
    width: 0;
    height: 0;
    border: 10px solid currentColor;
    border-radius: 50%;
    opacity: 0;
    background: currentColor;
}

.radio-input input[type="radio"]:focus + label::before {
    border-width: 4px;
    box-shadow: 0 0 0 4px #fd0;
}

@media screen and (forced-colors: active), (-ms-high-contrast: active) {
    .radio-input input[type="radio"]:focus + label::before {
        outline-color: Highlight;
    }
}

.radio-input input[type="radio"]:checked + label::after {
    opacity: 1;
}

/* Full Screen Layout */
#map-modal.modern-full-screen {
    display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    background: #fff; z-index: 1000000; flex-direction: column;
}
.map-header {
    height: 60px; background: #fff; display: flex; align-items: center;
    padding: 0 20px; border-bottom: 1px solid #eee; flex-shrink: 0;
}
.back-button {
    display: flex; align-items: center; gap: 10px; cursor: pointer;
    font-weight: 600; color: #333;
}
.modal-body { display: flex; flex-grow: 1; overflow: hidden; position: relative; }

/* Sidebar Styling */
#map-sidebar {
    width: 350px; background: #f8f9fa; overflow-y: auto; 
    border-right: 1px solid #eee; z-index: 10;
}
.location-item {
    margin: 10px;
	padding: 15px;
	background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
	cursor: pointer;
	border: 2px solid transparent;
}
.location-item div:last-child {
	text-transform: capitalize;
	font-size: 16px;
	font-weight: 500;
}
.location-item.active {
	border-color:var(--primary);
	background: #e3f2fd;
}

#map-container { flex-grow: 1; height: 100%; background: #e0e0e0; }

/* Mobile Viewports */
@media (max-width: 768px) {
    .modal-body { flex-direction: column-reverse; }
    #map-sidebar { width: 100%; height: 40%; border-right: none; border-top: 1px solid #eee; }
    #map-container { height: 60%; }
}

/* Map Popup Buttons */
.nav-box {
	margin-top: 10px;
	display: flex;
	flex-direction:column;
	gap: 8px;
}
.nav-btn {
	flex: 1;
	padding: 8px; border-radius: 6px; text-align: center; color: #fff !important; font-size: 13px; font-weight: 600; text-decoration: none !important; }
.btn-amap { background: #007aff; }
.btn-google { background: #34a853; }

/* 1. The Base Placeholder */
/* The Shimmer Skeleton */
.loading-shimmer {
    background: #f6f7f8;
    background-image: linear-gradient(
        to right, 
        #f6f7f8 0%, 
        #edeef1 20%, 
        #f6f7f8 40%, 
        #f6f7f8 100%
    );
    background-repeat: no-repeat;
    background-size: 800px 100%; 
    display: block;
    width: 100%;
    min-height: 300px; /* Adjust based on your average image height */
    animation: shimmer-effect 1.5s infinite linear;
}

@keyframes shimmer-effect {
    0% { background-position: -468px 0; }
    100% { background-position: 468px 0; }
}

/* Smooth fade-in once loaded */
.lazy-image {
    opacity: 0.8;
    transition: opacity 0.4s ease-in-out;
}

.lazy-image.loaded {
    animation: none;
    background: transparent;
    opacity: 1;
    min-height: auto;
}