.title { font-family: 'Google Sans'; font-weight: 700; }

.portrait { overflow: hidden; }

.footer .footer-links a { font-size: 25px; color: #000; }

.publication-block .publication-title { width: fit-content; margin: 0 !important; font-weight: 600; font-size: 110% !important; }
.publication-block .publication-title a { color: #000; }
.publication-block .publication-venue { color: #555; width: fit-content; margin-top: 0; }
.publication-block .publication-venue-emph { font-style: normal; font-size: 80%; font-weight: 500; color: firebrick; padding-left: 0.25em; }
.publication-block .publication-awards { color: firebrick; width: fit-content; font-weight: bolder; }
.publication-block .publication-authors .author-me { color: #000; font-weight: 600; }
.publication-block .publication-authors a { color: #000 !important; }
.publication-block .publication-authors a:hover { text-decoration: underline; }
.publication-block .publication-image { border-radius: 2%; width: 100%; height: 100%; overflow: hidden; font-size: 0; }
.publication-block .publication-image img { width: 100%; }
.publication-block .publication-mousecell { position: relative; font-size: 0; }
.publication-block .publication-mousecell { width: 100%; height: 100%; display: inline-block; overflow: hidden; }
.publication-block .publication-mousecell video { display: none; }
.publication-block .publication-description { color: #333; margin: 0.5em 0; }
.publication-block .publication-links { margin: 0 !important; margin-top: 0.5em !important; }

.navbar { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }
.navbar .navbar-brand .title { color: #363636; font-weight: 600; }
.navbar .tabs ul { border-bottom: none; }
.navbar .tabs li a { border-bottom: 2px solid transparent; transition: all 0.3s ease; }
.navbar .tabs li a:hover { border-bottom-color: #dbdbdb; background-color: #fafafa; }
.navbar .tabs li.is-active a { border-bottom-color: #3273dc; color: #3273dc; font-weight: 600; }

.main-content { min-height: calc(100vh - 60px); }
.main-content .main-tab-pane { display: none; }
.main-content .main-tab-pane.is-active { display: block; }

.hike-photo { cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.hike-photo:hover { transform: scale(1.05); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }

.highlight-card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.highlight-card:hover { transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); }

.card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.card:hover { transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); }

.hike-section .title { color: #363636; margin-bottom: 1.5rem; }
.hike-section .subtitle { margin-bottom: 1rem; }
.hike-section .subtitle .icon-text { display: inline-flex; align-items: center; }
.hike-section .subtitle .icon-text .icon { margin-right: 0.25rem; }
.hike-section .tags { margin-bottom: 1rem; }
.hike-section .tags .tag { margin: 0.25rem; font-weight: 500; }
.hike-section .content { max-width: 800px; margin: 0 auto; text-align: left; color: #4a4a4a; line-height: 1.6; }

.modal { z-index: 9999; }
.modal .modal-content { max-width: 90vw; max-height: 90vh; }
.modal .modal-content img { max-width: 100%; max-height: 100%; object-fit: contain; }
.modal .modal-close { background: rgba(255, 255, 255, 0.9); }
.modal .modal-close:hover { background: white; }
