@charset "UTF-8";
.highlight .err { color: #e3d2d2; background-color: #a61717; }

.highlight .c { color: #9c9996; }

.highlight .cm { color: #9c9996; }

.highlight .cp { color: #9c9996; }

.highlight .c1 { color: #9c9996; }

.highlight .cs { color: #9c9996; font-style: italic; }

.highlight .gd { color: #e25050; }

.highlight .gd .x { color: #e25050; }

.highlight .ge { font-style: italic; }

.highlight .gh { color: #999999; }

.highlight .gi { color: #3f993f; }

.highlight .gi .x { color: #3f993f; }

.highlight .go { color: #888888; }

.highlight .gp { color: #555555; }

.highlight .gr { color: #aa0000; }

.highlight .gs { font-weight: bold; }

.highlight .gt { color: #aa0000; }

.highlight .gu { color: #aaaaaa; }

.highlight .k { color: #cf222e; }

.highlight .kc { color: #cf222e; }

.highlight .kd { color: #cf222e; }

.highlight .kp { color: #cf222e; }

.highlight .kr { color: #cf222e; }

.highlight .kt { color: #445588; }

.highlight .n { color: #111111; }

.highlight .na { color: #097e39; }

.highlight .nb { color: #cf222e; }

.highlight .bp { color: #999999; }

.highlight .nc { color: #097e39; }

.highlight .ne { color: #990000; }

.highlight .nf { color: #2c7d74; }

.highlight .ni { color: #097e39; }

.highlight .nn { color: #097e39; }

.highlight .no { color: #a61154; }

.highlight .nt { color: #b81e63; }

.highlight .nv { color: #752a75; }

.highlight .vc { color: #752a75; }

.highlight .vg { color: #752a75; }

.highlight .vi { color: #752a75; }

.highlight .o { color: #0842a0; }

.highlight .ow { color: #0842a0; }

.highlight .m { color: #005a99; }

.highlight .mf { color: #005a99; }

.highlight .mh { color: #005a99; }

.highlight .mi { color: #005a99; }

.highlight .il { color: #005a99; }

.highlight .mo { color: #005a99; }

.highlight .s { color: #914d08; }

.highlight .s1 { color: #914d08; }

.highlight .s2 { color: #914d08; }

.highlight .sb { color: #914d08; }

.highlight .sc { color: #914d08; }

.highlight .sd { color: #914d08; }

.highlight .se { color: #914d08; }

.highlight .sh { color: #914d08; }

.highlight .si { color: #914d08; }

.highlight .sr { color: #009926; }

.highlight .ss { color: #0842a0; }

.highlight .sx { color: #914d08; }

.highlight .w { color: #bbbbbb; }

.highlight .lineno, .highlight .gl { color: #9c9996; }

.highlight .hll { background-color: #ffffcc; }

html { font-size: 16px; }

/** Reset some basic elements */
body, h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr, dl, dd, ol, ul, figure { margin: 0; padding: 0; }

/** Basic styling */
body { font: 400 16px/1.5 "Roboto"; color: #414141; background-color: #fdfdfd; -webkit-text-size-adjust: 100%; -webkit-font-feature-settings: "kern" 1; -moz-font-feature-settings: "kern" 1; -o-font-feature-settings: "kern" 1; font-feature-settings: "kern" 1; font-kerning: normal; display: flex; min-height: 100vh; flex-direction: column; overflow-wrap: break-word; }

/** Set `margin-bottom` to maintain vertical rhythm */
h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol, dl, figure, div.highlight, figure.highlight { margin-bottom: 15px; }

hr { margin-top: 30px; margin-bottom: 30px; }

/** `main` element */
main { display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */ }

/** Images */
img { max-width: 100%; vertical-align: middle; }

/** Figures */
figure > img { display: block; }

figcaption { font-size: 14px; }

/** Lists */
ul, ol { margin-left: 30px; }

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

/** Headings */
h1, h2, h3, h4, h5, h6 { color: #111111; font-weight: 500; }

/** Links */
a { color: #1e69d8; text-decoration: none; }

a:visited { color: #154895; }

a:hover { color: #414141; text-decoration: underline #818181; text-underline-offset: 3px; }

.social-media-list a:hover { text-decoration: none; }

.social-media-list a:hover .username { text-decoration: underline; }

/** Blockquotes */
blockquote { color: #818181; border-left: 4px solid #e7e7e7; padding-left: 15px; font-size: 1.05rem; font-style: italic; }

blockquote > :last-child { margin-bottom: 0; }

blockquote i, blockquote em { font-style: normal; }

/** Code formatting */
pre, code { font-family: "Roboto Mono", "Menlo", "Inconsolata", "Consolas", "Ubuntu Mono", "Liberation Mono", "Courier New", monospace; background-color: #f6f8fa; }

@media screen and (max-width: 600px) { pre, code { font-family: monospace; } }

pre { padding: 8px 12px; font-size: 15px; line-height: 1.4; color: #111111; overflow-x: auto; }

pre > code { display: inline-block; width: 100%; }

div.highlight, figure.highlight { border: 1px solid #e7e7e7; border-radius: 3px; }

div.highlight pre, figure.highlight pre { margin: 0; }

div.highlight table, div.highlight tbody, div.highlight th, div.highlight tr, div.highlight td, figure.highlight table, figure.highlight tbody, figure.highlight th, figure.highlight tr, figure.highlight td { margin: 0; padding: 0; border: 0; }

div.highlight .lineno, div.highlight .gl, figure.highlight .lineno, figure.highlight .gl { text-align: right; }

figure.highlight table { margin: -8px -12px -14px; }

figure.highlight td.gutter { border-right: 1px solid #e7e7e7; }

figure.highlight td.code { width: 100%; }

code.highlighter-rouge { padding: 1px 5px; font-size: 14px; border: 1px solid #e7e7e7; border-radius: 3px; }

/** Wrapper */
.wrapper { max-width: 800px; margin: 0 auto; padding: 0 30px; }

@media screen and (max-width: 600px) { .wrapper { padding-right: 18px; padding-left: 18px; } }

/** Clearfix */
.wrapper:after { content: ""; display: table; clear: both; }

/** Icons */
.orange { color: #f66a0a; }

.grey { color: #828282; }

.svg-icon { width: 1.25em; height: 1.25em; display: inline-block; fill: currentColor; vertical-align: text-bottom; overflow: visible; }

/** Tables */
table { margin-bottom: 30px; width: 100%; text-align: left; color: #3f3f3f; border-collapse: collapse; border: 1px solid #e7e7e7; }

table tr:nth-child(even) { background-color: #f6f6f6; }

table th, table td { padding: 10px 15px; }

table th { background-color: #efefef; border: 1px solid #dfdfdf; }

table td { border: 1px solid #e7e7e7; }

@media screen and (max-width: 800px) { table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; } }

/** Site header */
.site-header { position: relative; width: 100%; min-height: 55.95px; line-height: 54px; background-color: #fdfdfd; border-top: 5px solid #414141; border-bottom: 1px solid #e7e7e7; }

.site-title { font-size: 1.625rem; font-weight: 300; letter-spacing: -1px; margin-bottom: 0; float: left; }

@media screen and (max-width: 600px) { .site-title { padding-right: 45px; } }

.site-title, .site-title:visited { color: #414141; }

.site-nav { float: right; border: none; background-color: inherit; }

.site-nav label[for="nav-trigger"], .site-nav #nav-trigger { display: none; }

.site-nav .nav-item { color: #414141; }

.site-nav .nav-item:not(:last-child) { margin-right: 15px; }

@media screen and (max-width: 600px) { .site-nav { position: absolute; top: 9px; right: 18px; background-color: #fdfdfd; border: 1px solid #e7e7e7; border-radius: 5px; text-align: right; } .site-nav label[for="nav-trigger"] { display: block; float: right; width: 36px; height: 36px; cursor: pointer; } .site-nav .menu-icon { float: right; width: 36px; height: 26px; line-height: 0; padding-top: 18px; text-align: center; } .site-nav .menu-icon::before { font-family: "Font Awesome 6 Free"; font-weight: 900; } .site-nav .menu-icon > svg path { fill: #414141; } .site-nav #nav-trigger ~ label[for=nav-trigger] .menu-icon::before { content: "\f0c9"; font-size: 1.25em; } .site-nav #nav-trigger ~ .nav-items { clear: both; display: none; } .site-nav #nav-trigger:checked ~ label[for=nav-trigger] .menu-icon::before { content: "\f00d"; font-size: 1.5em; } .site-nav #nav-trigger:checked ~ .nav-items { display: block; padding-bottom: 5px; } .site-nav #nav-trigger:checked ~ .nav-items .nav-item { margin-left: 20px; padding: 5px 10px; } .site-nav .nav-item { display: block; padding: 5px 0; color: #414141; line-height: 1.5; } }

/** Site footer */
.site-footer { border-top: 1px solid #e7e7e7; padding: 30px 0; }

.footer-heading { font-size: 1.125rem; margin-bottom: 15px; }

.feed-subscribe .svg-icon { padding: 5px 5px 2px 0; }

.contact-list, .social-media-list { list-style: none; margin-left: 0; }

.footer-col-wrapper, .social-links { font-size: 0.9375rem; color: #656565; }

.footer-col { margin-bottom: 15px; }

.footer-col-1, .footer-col-2 { width: calc(50% - (30px / 2)); }

.footer-col-3 { width: calc(100% - (30px / 2)); }

@media screen and (min-width: 800px) { .footer-col-1 { width: calc(35% - (30px / 2)); } .footer-col-2 { width: calc(20% - (30px / 2)); } .footer-col-3 { width: calc(45% - (30px / 2)); } }

@media screen and (min-width: 600px) { .footer-col-wrapper { display: flex; } .footer-col { width: calc(100% - (30px / 2)); padding: 0 15px; } .footer-col:first-child { padding-right: 15px; padding-left: 0; } .footer-col:last-child { padding-right: 0; padding-left: 15px; } }

/** Page content */
.page-content { padding: 30px 0; flex: 1 0 auto; }

.page-heading { font-size: 2rem; }

.post-list-heading { font-size: 1.75rem; }

.post-list { margin-left: 0; list-style: none; }

.post-list > li { margin-bottom: 30px; }

.post-meta { font-size: 14px; color: #656565; }

.post-link { display: block; font-size: 1.5rem; }

/** Posts */
.post-header { margin-bottom: 30px; padding-bottom: 18px; text-align: center; border-bottom: 1px solid #e7e7e7; }

.post-meta .bullet-divider { padding-inline: 15px; }

.post-meta .meta-label { font-weight: 600; }

.post-meta .force-inline { display: inline; }

.post-meta .force-inline::before { content: "•"; padding-inline: 5px; }

.post-meta .post-authors { margin-top: 3px; }

.post-title, .post-content h1 { margin-bottom: 10px; font-size: 2.625rem; font-weight: 400; letter-spacing: -1px; line-height: 1.15; }

@media screen and (min-width: 800px) { .post-title, .post-content h1 { font-size: 2.625rem; } }

.post-content { margin-bottom: 30px; }

.post-content h1, .post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 { margin-top: 30px; }

.post-content h2 { font-size: 1.75rem; }

@media screen and (min-width: 800px) { .post-content h2 { font-size: 2rem; } }

.post-content h3 { font-size: 1.375rem; }

@media screen and (min-width: 800px) { .post-content h3 { font-size: 1.625rem; } }

.post-content h4 { font-size: 1.25rem; }

.post-content h5 { font-size: 1.125rem; }

.post-content h6 { font-size: 1.0625rem; }

.comments-disabled-message { text-align: center; font-weight: 300; }

.social-media-list { display: table; margin: 0 auto; }

.social-media-list li { float: left; min-width: 45px; min-height: 45px; text-align: center; margin: 5px 10px 5px 0; }

.social-media-list li:last-of-type { margin-right: 0; }

.social-media-list li a { display: block; padding: 10px 12px; border: 1px solid #e7e7e7; }

.social-media-list li a:hover { border-color: #dadada; }

/** Pagination navbar */
.pagination { display: table; margin: 0 auto; list-style-type: none; }

.pagination li { float: left; margin: 0 3px; min-width: 45px; min-height: 45px; text-align: center; }

.pagination li a { display: block; text-decoration: none; border: 1px solid #e7e7e7; }

.pagination li a:hover { border-color: #dadada; }

.pagination li a, .pagination li div { min-width: 41px; padding: 10px 12px; text-align: center; box-sizing: border-box; }

.pagination li div { border: 1px solid transparent; }

.pagination li div.pager-edge { color: #e7e7e7; border: 1px dashed; }

.pagination li div.current-page { font-weight: bold; }

/** Task-lists */
.task-list { margin-left: 0; padding-left: 18px; }

.task-list-item { list-style-type: none; }

.task-list-item-checkbox { position: relative; margin-right: 9px; margin-left: -15px; appearance: none; border: 8px solid #e7e7e7; vertical-align: text-top; z-index: -1; }

.task-list-item-checkbox::after { position: absolute; top: -8px; left: -3px; width: 4px; height: 10px; content: ""; border: solid transparent; border-width: 0 2px 2px 0; transform: rotate(45deg); }

.task-list-item-checkbox:checked::after { border-color: #414141; }

/** Grid helpers */
@media screen and (min-width: 800px) { .one-half { width: calc(50% - (30px / 2)); } }

.post .post-title { text-align: left; }

.post .post-meta { text-align: left; }

h1 a.black-link { color: black !important; text-decoration: none !important; font-weight: inherit; /* keep heading boldness */ }

h1 a.black-link:hover { text-decoration: underline !important; }

.site-nav .nav-item { font-size: 1.2rem; }

.home h3 { font-weight: normal; }

img.prof-pic { float: left; margin-right: 1em; width: 25%; border-radius: 50%; }

.page-pitch-visualizer .wrapper, .page-pitch-editor .wrapper { max-width: 1000px; }

body.wide .wrapper { max-width: 1000px; }

/* Slider */
.slick-loading .slick-list { background: #fff url("/assets/images/ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face { font-family: "slick"; src: url("/assets/fonts/slick.eot"); src: url("/assets/fonts/slick.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/slick.woff") format("woff"), url("/assets/fonts/slick.ttf") format("truetype"), url("/assets/fonts/slick.svg#slick") format("svg"); font-weight: normal; font-style: normal; }

/* Arrows */
.slick-prev, .slick-next { position: absolute; display: block; height: 20px; width: 20px; line-height: 0px; font-size: 0px; cursor: pointer; background: transparent; color: transparent; top: 50%; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); padding: 0; border: none; outline: none; }

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { outline: none; background: transparent; color: transparent; }

.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before { opacity: 1; }

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: 0.25; }

.slick-prev:before, .slick-next:before { font-family: "slick"; font-size: 50px; line-height: 1; color: black; opacity: 0.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.slick-prev { left: -50px; }

[dir="rtl"] .slick-prev { left: auto; right: -25px; }

.slick-prev:before { content: "←"; }

[dir="rtl"] .slick-prev:before { content: "→"; }

.slick-next { right: -25px; }

[dir="rtl"] .slick-next { left: -25px; right: auto; }

.slick-next:before { content: "→"; }

[dir="rtl"] .slick-next:before { content: "←"; }

/* Dots */
.slick-dotted.slick-slider { margin-bottom: 30px; }

.slick-dots { position: absolute; bottom: -25px; list-style: none; display: block; text-align: center; padding: 0; margin: 0; width: 100%; }

.slick-dots li { position: relative; display: inline-block; height: 20px; width: 20px; margin: 0 5px; padding: 0; cursor: pointer; }

.slick-dots li button { border: 0; background: transparent; display: block; height: 20px; width: 20px; outline: none; line-height: 0px; font-size: 0px; color: transparent; padding: 5px; cursor: pointer; }

.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }

.slick-dots li button:hover:before, .slick-dots li button:focus:before { opacity: 1; }

.slick-dots li button:before { position: absolute; top: 0; left: 0; content: "•"; width: 20px; height: 20px; font-family: "slick"; font-size: 6px; line-height: 20px; text-align: center; color: black; opacity: 0.25; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.slick-dots li.slick-active button:before { color: black; opacity: 0.5; }

/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }

.slick-list:focus { outline: none; }

.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; left: 0; top: 0; display: block; margin-left: auto; margin-right: auto; }

.slick-track:before, .slick-track:after { content: ""; display: table; }

.slick-track:after { clear: both; }

.slick-loading .slick-track { visibility: hidden; }

.slick-slide { float: left; height: 100%; min-height: 1px; display: none; }

[dir="rtl"] .slick-slide { float: right; }

.slick-slide img { display: block; }

.slick-slide.slick-loading img { display: none; }

.slick-slide.dragging img { pointer-events: none; }

.slick-initialized .slick-slide { display: block; }

.slick-loading .slick-slide { visibility: hidden; }

.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

.slick-arrow.slick-hidden { display: none; }

.slider-item { position: relative; width: 300px; max-height: 500px; overflow: hidden; border: 2px solid #ddd; border-radius: 8px; background-color: #fff; margin: 0 10px; flex-shrink: 0; }

.slider-item img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 0.5s ease; display: block; border-radius: 8px; z-index: 0; position: relative; }

.slider-item:hover img { transform: scale(1.2); }

/* Overlay and text remain the same */
.slider-item:hover::before { content: ''; /* Add the overlay */ position: absolute; transition: transform 0.5s ease; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); /* 50% opaque grey */ z-index: 1; pointer-events: none; }

.slider-item .title { position: absolute; top: 10%; /* Instead of 0 or 50% */ left: 10%; /* Top-left corner with a little margin */ transform: none; /* Remove center-translate */ color: white; font-size: 1.3rem; font-weight: bold; text-align: left; z-index: 3; opacity: 0; transition: opacity 0.5s ease; background-color: rgba(0, 0, 0, 0.4); /* optional background for readability */ padding: 4px 8px; border-radius: 4px; max-width: 60%; /* Optional: prevent text from getting too wide */ word-wrap: break-word; }

.slider-item:hover .title { opacity: 1; /* Make the text visible on hover */ }

/* Text styling on hover */
.slider-item .description { position: absolute; top: 40%; left: 10%; color: white; /* White text */ font-size: 1.1rem; /* Font size */ font-weight: normal; /* Bold text */ text-align: left; z-index: 3; /* Ensure text is on top of the overlay */ opacity: 0; transition: opacity 0.5s ease; background-color: rgba(0, 0, 0, 0.4); /* optional background for readability */ padding: 4px 8px; max-width: 80%; /* Optional: prevent text from getting too wide */ word-wrap: break-word; border-radius: 4px; }

/* Show description text on hover */
.slider-item:hover .description { opacity: 1; /* Make the text visible on hover */ }

.post-preview { margin-bottom: 2rem; }

.preview-container { display: flex; align-items: flex-start; margin-top: 0.5rem; }

.preview-image { width: 300px; height: auto; max-height: 300px; object-fit: cover; object-position: top left; border: 1px solid #ccc; border-radius: 8px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); padding: 4px; background-color: white; transition: all .5s ease; margin-right: 20px; }

.preview-text { flex: 1; }

.preview-image:hover { object-fit: cover; width: 400px; max-height: 800px; }

/* Button styling */
.arrow-button { width: 50px; /* Set the width of the button */ height: 50px; /* Set the height of the button */ background-image: url("/assets/images/left.png"); /* Replace with the path to your arrow image */ background-size: contain; /* Ensure the image fits the button without stretching */ background-repeat: no-repeat; /* Prevent the image from repeating */ background-position: center; /* Center the image inside the button */ border: none; /* Remove default border */ cursor: pointer; /* Change cursor to a pointer when hovered */ outline: none; /* Remove the outline when focused */ transition: transform 0.3s ease; /* Optional: smooth transition effect on hover */ background-color: transparent; }

/* Hover effect */
.arrow-button:hover { transform: scale(1.2); /* Slightly increase the button size on hover */ }

.float-left-figure { float: left; width: 48%; margin-right: 50px; margin-bottom: 10px; }

.float-left-figure img { width: 100%; height: auto; border-radius: 5px; display: block; /* Ensures no space below image */ }

.float-left-figure figcaption { font-style: italic; color: #555; font-size: 14px; margin-top: 5px; text-align: left; }

.float-right-figure { float: right; width: 38%; margin-left: 50px; margin-bottom: 10px; border: 2px solid #ccc; padding: 15px; background-color: #f9f9f9; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); box-sizing: border-box; }

.float-right-figure img, .float-right-figure video { width: 100%; height: auto; border-radius: 5px; display: block; /* Ensures no space below */ }

.float-right-figure img + img { margin-top: 10px; }

.float-right-figure figcaption { font-style: italic; color: #555; font-size: 16px; margin-top: 5px; text-align: center; }

.center-figure { float: center; width: 98%; margin-right: 50px; margin-bottom: 10px; border: 2px solid #ccc; padding: 15px; background-color: #f9f9f9; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); margin: 20px auto; /* Adds space above and below the figure */ }

.center-figure img { width: 100%; height: auto; border-radius: 5px; display: block; /* Ensures no space below image */ }

.center-figure video { width: 100%; height: auto; border-radius: 5px; display: block; /* removes inline spacing */ }

.center-figure figcaption { font-style: italic; color: #555; font-size: 14px; margin-top: 5px; text-align: center; }

/* Define a reusable class for framed, centered figures with captions */
.framed-figure { text-align: center; border: 2px solid #ccc; padding: 15px; background-color: #f9f9f9; display: block; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); width: 100%; /* Adjust width as needed */ margin: 20px auto; /* Adds space above and below the figure */ }

.framed-figure img { max-width: 100%; /* Ensures image is responsive */ height: auto; border-radius: 5px; /* Optional: adds rounded corners to the image */ }

.framed-figure figcaption { font-style: italic; margin-top: 10px; color: #555; font-size: 14px; }

.video-row { display: flex; justify-content: center; /* center them horizontally */ gap: 20px; /* space between videos */ margin: 20px 0; background-color: #f9f9f9; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); }

.video-row figure { width: 48%; /* each figure takes ~half the row */ margin: 0; /* reset default margins */ text-align: center; /* center caption text */ }

.video-row video { width: 100%; /* fill figure width */ height: auto; border-radius: 5px; display: block; }

.video-row figcaption { font-style: italic; color: #555; font-size: 14px; margin-top: 5px; }

.hover-zoom { transition: transform 0.3s ease; cursor: pointer; }

.hover-zoom:hover { transform: scale(2); z-index: 2; }

.hover-zoom_small { transition: transform 0.3s ease; cursor: pointer; }

.hover-zoom_small:hover { transform: scale(1.2); z-index: 2; }

.pitch-btn { background-color: #fff; /* white background */ color: #000; /* black text */ border: 2px solid #000; /* black border */ border-radius: 8px; /* rounded corners */ padding: 4px 8px; /* vertical and horizontal padding */ font-family: inherit; /* use website font */ font-size: 20px; /* adjust size as needed */ cursor: pointer; /* pointer on hover */ transition: background 0.2s, color 0.2s; /* smooth hover effect */ }

.pitch-btn:hover { background-color: #000; /* invert on hover */ color: #fff; }

.header-row { display: flex; align-items: top; /* vertically centers the text and button */ justify-content: space-between; /* optional: pushes them to edges */ /*gap: 10px;                 /* optional spacing between title and button */ }

#menu-bar { display: flex; gap: 40px; /* space between dropdowns */ align-items: center; padding-bottom: 20px; }

.menu-title { font-size: 28px; margin-bottom: 3px; /* smaller space below this heading only */ }

.dropbtn { background-color: white; border: 2px solid white; color: black; padding: 4px; font-size: 26px; text-align: left; cursor: pointer; border-radius: 8px; }

/* Dropdown button on hover & focus */
.dropbtn:hover, .dropbtn:focus { /*background-color: #98eff9;*/ color: #00035b; text-decoration: underline; }

/* The container <div> - needed to position the dropdown content */
.dropdown { position: relative; display: inline-block; }

/* Dropdown Content (Hidden by Default) */
.dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 500px; max-height: 400px; /* Limit height */ overflow-y: auto; /* Add vertical scrollbar */ box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); z-index: 1; }

/* Links inside the dropdown */
.dropdown-content a { color: black; padding: 14px 16px; text-decoration: none; display: block; }

/* Change color of dropdown links on hover */
.dropdown-content a:hover { background-color: #ddd; }

/* Show the dropdown menu (use JS to add this class to the .dropdown-content container when the user clicks on the dropdown button) */
.show { display: block; }

/* The search field */
.dropdown-content input { box-sizing: border-box; background-image: url("../images/searchicon.png"); background-position: 14px 12px; background-repeat: no-repeat; font-size: 16px; padding: 14px 20px 12px 45px; min-width: 500px; border: none; border-bottom: 1px solid #ddd; }

/* The search field when it gets focus/clicked on */
.dropdown-content input:focus { outline: 3px solid #ddd; }

.pitch-info-boxes { display: flex; gap: 20px; /* spacing between boxes */ margin-top: 10px; /* no border or background here */ }

.info-box, .pitch_info_wrapper { border: 2px solid #ccc; border-radius: 8px; padding: 10px; /* reduced padding */ background: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); text-align: center; box-sizing: border-box; color: black; }

.pitch_info_wrapper { text-align: left; font-size: 16px; line-height: .9; /* slightly smaller font */ }

.info-box { flex: 1; padding: 5px; /* slightly smaller than pitch_info_wrapper */ }

.pitch-viz-wrapper { display: flex; flex-direction: column; gap: 20px; /* spacing between top and main row */ width: 100%; /* full available width */ }

.pitch-info-top { width: 100%; box-sizing: border-box; /* include padding in width */ }

.pitch-viz-container { display: flex; gap: 20px; /* spacing between the two boxes */ align-items: flex-start; /* align them at top */ margin-top: 0px; }

.left-column { display: flex; flex-direction: column; gap: 20px; flex: 0 0 30%; /* same width as pitch info */ }

.spin-axis-wrapper { border: 2px solid #ccc; border-radius: 8px; padding: 0px; background: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); height: 250px; width: 100%; display: flex; flex-direction: column; justify-content: center; /* horizontal centering if needed */ align-items: center; /* vertical centering */ }

.spin-axis-title { font-size: 18px; font-weight: bold; margin-top: 8px; margin-bottom: 4px; /* space between title and canvas */ text-align: center; }

#spin_axis_plot { width: 70%; height: calc(70% - 20px); /* reduce height to account for title */ }

#spin_axis_plot { width: 90%; /* leave some margin inside wrapper */ height: 90%; /* fill most of wrapper */ }

.pitch-plot-wrapper { border: 2px solid #ccc; /* light gray frame */ border-radius: 8px; /* rounded corners */ padding: 10px; /* space between border and plot */ background: #fff; /* optional background */ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* subtle drop-shadow */ display: inline-block; /* shrink-wrap to plot width */ flex: 0 0 70%; /* fixed 60% width */ box-sizing: border-box; position: relative; }

#plot { width: 100%; aspect-ratio: 1.5 / 1; /* width:height = 2:1, so height = 50% width */ }

.plot-legend { position: absolute; top: 10px; right: 10px; background: rgba(255, 255, 255, 0.8); padding: 6px 10px; border-radius: 6px; font-size: 18px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); }

.camera-button { background-color: rgba(255, 255, 255, 0.8); padding: 6px 10px; border-radius: 6px; border: 2px solid rgba(0, 0, 0, 0.1); /* match legend border */ font-family: inherit; font-size: 18px; cursor: pointer; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); /* match legend shadow */ }

.camera-wrapper { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }

.sliders-panel { display: flex; gap: 0px; /* space between spin rate and spin axis sliders */ margin: 0px 0; /* spacing above/below sliders */ margin-bottom: -5px; flex-direction: column; }

.slider-wrapper { border: 2px solid #ccc; border-radius: 8px; padding: 2px; background: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); display: flex; justify-content: space-between; align-items: center; flex: 0 0 70%; box-sizing: border-box; margin-bottom: 20px; }

.slider-title { width: 22%; font-size: 20px; display: flex; justify-content: flex-start; align-items: center; /* vertical centering */ /*transform: translateY(6.5px);*/ padding-left: 10px; margin: 0px; box-sizing: border-box; }

.slider-text { width: 15%; font-size: 20px; display: flex; justify-content: center; align-items: center; /* vertical centering */ /*transform: translateY(6.5px);*/ padding: 0px; margin: 0; }

.slidecontainer { width: 70%; display: flex; justify-content: center; align-items: center; /* vertical centering */ }

.slider { -webkit-appearance: none; appearance: none; width: 100%; height: 15px; border-radius: 5px; background: #d3d3d3; outline: none; opacity: 0.7; transition: opacity .2s; margin-left: 0px; }

/* Slider handle */
.slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; border-radius: 50%; width: 25px; height: 25px; background: #95d0fc; border: 2px solid black; cursor: pointer; margin-top: -5px; }

.slider::-moz-range-thumb { width: 25px; height: 25px; background: #95d0fc; border-radius: 70%; cursor: pointer; }

.slider::-webkit-slider-runnable-track { height: 15px; /*border-radius: 5px;*/ background: #d3d3d3; border-radius: 5px; }

/*# sourceMappingURL=style.css.map */