@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,700,600);
@import url(http://fonts.googleapis.com/css?family=Oswald:400,300);


body {
    background: url(../images/background.jpg) no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position: 50% 50%;
    font-family: 'Open Sans', sans-serif;
}

a,
a:hover,
a:focus,
a:active,
a.active {
    outline: 0;
}

ul,ol {
    margin: 0;
    padding: 0;
}

li {
    list-style: none;
}

a {
    color: #FF432E;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

p {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    line-height: 21px;
}


.btn-primary {
    border-color: #FF432E;
    background-color: #FF432E;
    text-transform: uppercase;
    font-weight: 300;
    color: #fff;
    -webkit-border-radius:3px;
    -moz-border-radius:3px;
    -o-border-radius:3px;
    border-radius:3px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary {
    color: #fff;
    border-color: #ea321e;
    background-color: none !important;
}

.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
    border-color: #FF432E;
    background-color: #FF432E;
}


/**** Start Section Title Section ****/

.section-title h3{
    color: #666 !important;
    //font-style: italic;
    font-size: 28px;
    font-family: 'Oswald', sans-serif;
    text-transform: none;
}

.section-title p {
    padding-bottom: 60px;
    color: #999;
    font-size: 18px;
    //font-style: italic;
    font-weight: 300;
}


/**** Start Logo Section ****/

#logo-section {
    
}

.logo h1 {
    font-family: 'Lobster', cursive;
    color: #fff;
    font-size: 60px;
}

.logo span {
    color: #999;
}



/**** Start Background Color ****/

.blue {
    background: #28ABE3;
}

.green {
    background: #72bf48;
}

.red {
    background: #FF432E;
}

.light-red {
    background: #FB6648;
}

.light-orange {
    background: #FA6900;
}

.color {
    background: #0ECEAB;
}



/**** Start Main Body Section ****/

.mainbody-section {
    padding-top: 50px;
    padding-bottom: 10px;
}

.menu-item {
    color: #fff;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 30px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	
}

.menu-item a {
    color: #fff;
    display: block;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.menu-item a p {
    font-family: 'Oswald', sans-serif;
    font-weight: 300;
    font-size: 20px;
}

.menu-item a i {
    font-size: 50px;
    padding-bottom: 20px;
}

.menu-item:hover a {
    text-decoration: none;
    //color: #333;
	animation: wobble;
	-webkit-animation: wobble;
	animation-duration: 1000ms;
	-webkit-animation-duration: 1000ms;
}

@media only screen 
and (min-width : 600px) 
and (max-width : 991px) {
    
    .menu-item {
        display: inline-block;
        width: 32.8%;
    }
    
    .menu-item.responsive {
        width: 49.5%;
        float: left;
        margin-right: 3px;
    }
    
    .menu-item.responsive-2 {
        width: 49.5%;
        float: right;
    }
    
}



@media only screen 
and (min-width : 992px) 
and (max-width : 1199px) {
    
    .menu-item {
        padding-top: 15px;
        padding-bottom: 15px;
    }
    
    .menu-item a i {
        font-size: 32px;
    }
    
    .menu-item a p {
        font-size: 16px;
    }
    
}


.home-slider img {
    width: 100%;
    height: auto;
}

.home-slider .carousel-indicators {
    position: absolute;
    bottom: 10%;
}

.home-slider .carousel-indicators .active {
	background-color: #FF432E;
}


.copyright {
    background: rgba( 0, 0, 0, 0.7);
    color: #fff;
    padding-top: 20px;
    padding-bottom: 20px;
}



/**** Start Modal Section ****/

.section-modal .modal-content {
    padding: 100px 0 !important;
    min-height: 100%;
    border: 0 !important;
    border-radius: 0;
    background-clip: border-box;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
    color: #888;
    font-weight: 300;
}



.section-modal .close-modal {
    position: absolute;
    top: 25px;
    right: 25px;
    width: 75px;
    height: 75px;
    background-color: transparent;
    cursor: pointer;
}

.section-modal .close-modal:hover {
    opacity: .3;
}

.section-modal .close-modal .lr {
    z-index: 1051;
    width: 1px;
    height: 75px;
    margin-left: 35px;
    background-color: #222;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.section-modal .close-modal .lr .rl {
    z-index: 1052;
    width: 1px;
    height: 75px;
    background-color: #222;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}






/**** Start Feature Section ****/


.feature, .feature-2 {
    padding-bottom: 80px;
}

.feature {
    text-align: center;
}
.feature h4{
    font-size: 15px;
    color: #666;
    font-weight: 300;
    font-family: 'Oswald', sans-serif;
}

.feature-2 h4{
    font-size: 15px;
    color: #444;
    padding-bottom: 10px;
    font-weight: 300;
    font-family: 'Oswald', sans-serif;
}

.feature p, .feature-2 p {
    color: #444;
    font-size: 13px;
    line-height: 20px;
    font-weight: 300;
}


.feature i {
   font-size:3.5em;
   color:#fff;
    background: #FF432E;
    width: 100px;
    height: 100px;
   padding:25px;
    margin-bottom: 10px;
   -webkit-border-radius:70%;
   -moz-border-radius:70%;
   -o-border-radius:70%;
   border-radius:70%;
   position: relative;
	box-shadow: 0 0 0 30px transparent;
	-webkit-transform: translate3d(2, 2, 2);
	-moz-transform: translate3d(2, 2, 2);
	-o-transform: translate3d(2, 2, 2);
	transform: translate3d(2, 2, 2);
	-webkit-transition: box-shadow .6s ease-in-out;
	-moz-transition: box-shadow .6s ease-in-out;
	-o-transition: box-shadow .6s ease-in-out;
	transition: box-shadow .6s ease-in-out;
}
.no-touch .feature:hover i,
	.no-touch .feature:active i,
	.no-touch .feature:focus i {
        
		-webkit-transition: box-shadow .4s ease-in-out;
		-moz-transition: box-shadow .4s ease-in-out;
		-o-transition: box-shadow .4s ease-in-out;
		transition: box-shadow .4s ease-in-out;
		box-shadow: 0 0 0 0 #FF432E;
}


.feature-2 i {
    color:#FF432E;
   font-size:3em;
   padding:1px 10px 0 1px;
   position: relative;
	
}



/**** Start Portfolio Section ****/

.portfolio-item {
    position: relative;
    margin-bottom: 30px;
}

.portfolio-item .portfolio-details {
    background: rgba(0, 0, 0, 0.8);
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.portfolio-item .portfolio-details h4 {
    padding-top: 20%;
    padding-bottom: 10%;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-weight: 300;
    font-size: 20px;
}

.portfolio-item .portfolio-details a i {
    font-size: 30px;
}

.portfolio-item:hover .portfolio-details {
    opacity: 1;
    animation: pulse;
    -webkit-animation: pulse;
    animation-duration: 300ms;
    -webkit-animation-duration: 300ms;
}


/**** End Portfolio Section ****/


/**** Start ABout Us Section ****/

.about-text {
    padding-bottom: 50px;
}
.about-text p {
    color: #777;
    text-align: justify;
}
.about-text ul {
    margin-top: 30px;
    font-size: 13px;
}
.about-text li {
    margin-bottom: 10px;
    color: #999;
}
.about-text li i {
    padding-right: 10px;
    color: #FF432E;
}


/* progress bar */

.skill {
    padding-bottom: 5px;
}

.skill p {
  margin-bottom:7px;

}

.progress {
  background: #fff;
  overflow: visible;
  height: 20px;
  margin-bottom: 10px;
  background-color: #f9f9f9;
  border-radius: 0px;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.progress-bar {
    background: #FF432E;
  float: left;
  height: 100%;
  font-size: 12px;
  color: #ffffff;
  text-align: center;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
  position:relative;
}

 .progress-bar-span { 
 opacity:1;
 position:absolute;
 top:-5px;
 background:#ACB2B8;
 padding:3px 10px;
 color:#FFF;
 border-radius: 0px;
 right:0px;
    -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  -ms-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out; 
 }

.skill:hover .progress-bar-span {
  opacity:1;
    -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  -ms-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}


/* Custom Tab */

.custom-tab .nav-tabs.nav-justified > .active > a, 
.custom-tab .nav-tabs.nav-justified > .active > a:hover, 
.custom-tab .nav-tabs.nav-justified > .active > a:focus {
    border-radius: 0;
    //border-left-color: transparent;
    color: #666;
    border-bottom-color: #ddd;
}

.custom-tab .nav-tabs.nav-justified {
    margin-bottom: 20px;
    background: #FF432E;
}

.custom-tab .nav-tabs.nav-justified > li {
    border-right: 1px solid #f1f1f1;
}
.custom-tab .nav-tabs.nav-justified > li:last-child {
    border-right: none;
}

.custom-tab .nav-tabs.nav-justified > li > a {
    padding: 10px;
    font-size: 18px;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-weight: 300;
}

.custom-tab .nav-tabs.nav-justified > li > a:hover {
    border-radius: 0;
    color: #333;
}

.custom-tab .tab-content .tab-pane p {
    text-align: justify;
    color: #777;
}

@media only screen 
and (min-width : 320px) 
and (max-width : 991px) {
    
    .custom-tab {
		margin-top: 30px;
	}
    
}







/*** Start Pricing Section ****/


.pricing-section {
    padding: 80px 0;
    background: #f5f5f5;
}

.pricing-table {
    text-align: center;
    background: #fff;
}

@media only screen 
and (min-width : 320px) 
and (max-width : 991px) {
    
    .pricing-table {
		margin-bottom: 30px;
	}
    
}



.plan-name {
	padding: 15px 0;
    background: #FF432E;
}

.plan-name h3 {
	font-weight: 300;
	color: #fff;
}

.plan-price {
	padding: 25px 0;
}

.plan-price .price-value {
	font-size: 38px;
	line-height: 40px;
	font-weight: 600;
	color: #444;
}

.plan-price .price-value span {
	font-size: 18px;
	font-weight: 300;
	line-height: 18px;
}

.plan-price .interval {
	line-height: 14px;
}

.plan-list li {
	padding: 13px;
	font-size: 14px;
	border-bottom: 1px solid #eee;
}

.plan-list li:first-child {
	border-top: 1px solid #eee;
}

.plan-signup {
	padding: 25px 0;
    background: #FF432E;
}

.plan-signup a {
	text-transform: uppercase;
    color: #fff;
}


/**** Start Team Member Section ****/


.team-member {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
}

.team-details {
    font-family: 'Open Sans', sans-serif;
    padding-left: 10px;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    opacity: 0;
}

.team-member img {
    width: 100%;
    height: auto;
}

.team-details h4 {
    font-size: 25px;
    font-weight: 300;
    color: #FF432E;
    font-family: 'Oswald', sans-serif;
    text-transform: none;
    text-align: center;
    padding-top: 20%;
}

.team-details .designation {
    font-size: 16px;
    font-weight: 300;
    color: #fff;
    text-align: center;
}

.team-details ul {
    padding-top: 40%;
}
.team-details li {
    display: inline-block;
    list-style: none;
    padding-right: 10px;
}

.team-details li a {
    padding: 5px 8px;
    background: #FF432E;
    color: #fff;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
}

.team-member:hover .team-details {
    opacity: 1;
    -webkit-animation: pulse;
    animation: pulse;
    animation-duration: 300ms;
    -webkit-animation-duration: 300ms;
}



/**** Start Latest News Section ****/


.latest-post {
    padding-bottom: 20px;
}

.latest-post h4 {
    padding-top: 20px;
    padding-bottom: 5px;
}

.latest-post h4 a {
    color: #FF432E;
}

.latest-post .post-details li {
    color: #FF432E;
    display: inline;
    font-size: 13px;
    color: #999;
    padding-right: 10px;
}

.latest-post .post-details li i {
    padding-right: 5px;
    color: #FF432E;
}

.latest-post p {
    padding: 15px 0;
    color: #999;
    font-weight: 300;
    text-align: justify;
}



/**** Start Contact Section ****/


.footer-contact-info {
    background: #FF432E;
    color: #fff;
    padding: 20px 30px;
    //margin-top: 80px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
}

@media only screen 
and (min-width : 320px) 
and (max-width : 991px) {
    
    .footer-contact-info {
		margin-bottom: 30px;
		margin-top: 30px;
	}
    
}

.footer-contact-info ul {
    padding-bottom: 10px;
}

.footer-contact-info h4 {
    padding-bottom: 10px;
}

.footer-contact-info li strong {
    font-weight: 600;
}


.footer-social {
    padding: 78px 0;
    border: 1px solid #FF432E;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
}

.footer-social li {
    display: inline-block;
    padding: 0 10px;
}

@media only screen and (max-width : 360px) {
    
    .footer-social li {
		padding: 0 5px;
	}
    
}

.footer-social li a {
    background: #FF432E;
    padding: 8px;
    color: #fff;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    border: 1px solid #FF432E;
    
}

.footer-social li i {
    font-size: 15px;
    width: 20px;
    height: 20px;
}

.footer-social li:hover a {
    background: #fff;
    //border: 1px solid #FF432E;
    color: #666;
}



.contact .btn-primary {
    padding: 20px;
    font-size: 16px;
}

.contact .btn-primary:hover {
    background: transparent;
}

.contact .section-title h3{
    color: #fff;
}

.contact .section-heading {
    color: #fff;
}

.contact .form-group {
    margin-bottom: 25px;
}

.contact .form-group input,
.contact .form-group textarea {
    padding: 20px;
}

.contact .form-group input.form-control {
    height: auto;
}

.contact .form-group textarea.form-control {
    height: 236px;
}

.contact::-webkit-input-placeholder {
    text-transform: uppercase;
    font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 700;
    color: #bbb;
}

.contact:-moz-placeholder {
    text-transform: uppercase;
    font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 700;
    color: #bbb;
}

.contact::-moz-placeholder {
    text-transform: uppercase;
    font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 700;
    color: #bbb;
}

.contact:-ms-input-placeholder {
    text-transform: uppercase;
    font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 700;
    color: #bbb;
}

.contact .text-danger {
    color: #e74c3c;
}

.contact button {
    font-weight: 400;
    margin-top: 30px;
}

.contact .btn-primary {
    padding: 20px;
    font-size: 16px;
}

.contact .btn-primary:hover {
    background: transparent;
    color: #FF432E;
}



/**** Start Testimonial Section ****/

.testimonial {
    margin-bottom: 80px;
}

.testimonial h4 {
    font-family: 'Oswald', sans-serif;
    font-weight: 300;
    padding-top: 20px;
    padding-bottom: 20px;
}

.testimonial .speech {
    background: #FF432E;
    padding: 20px;
    color: #fff;
}

/* Collage artwork for identifiable recording covers */
.record-tile .record-cover {display:block; width:120px; height:120px; object-fit:cover; margin:0 auto 16px; border-radius:6px;}

/* Recorded products: accessible album detail and ordering view */
.record-open {border:0;background:transparent;color:inherit;padding:0;cursor:pointer;width:100%;text-align:center;font:inherit;}
.record-open:focus-visible,.record-back:focus-visible {outline:3px solid #2187bc;outline-offset:5px;}
.record-open .record-title {display:block;font-size:19px;line-height:1.4;margin-top:12px;}
.record-open .record-action {display:block;text-decoration:underline;color:#c04739;margin-top:8px;font-size:14px;}
.record-detail {max-width:960px;margin:25px auto 80px;text-align:left;}
.record-detail[hidden],#record-products-grid[hidden] {display:none !important;}
.record-back {border:0;background:transparent;text-decoration:underline;color:#b63830;margin:0 0 24px;padding:8px 0;cursor:pointer;}
.record-detail-layout {display:grid;grid-template-columns:minmax(180px,320px) 1fr;gap:35px;align-items:start;}
.record-detail-layout>img {width:100%;height:auto;object-fit:contain;box-shadow:0 3px 16px #0002;}
.record-detail-layout h3 {margin-top:0;}
.record-order-note {font-size:13px;color:#777;}
@media(max-width:650px) {.record-detail-layout {grid-template-columns:1fr;} .record-detail-layout>img {max-width:300px;margin:auto;}}

/* Public speaking landing page — scoped to avoid changing other modals */
.speaking-page{max-width:1120px;padding:90px 20px 75px;color:#555;font-family:'Open Sans',Arial,sans-serif}
.speaking-hero{text-align:center;padding:60px 7% 70px;background:#18242a;color:#fff;border-radius:6px}
.speaking-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#d4ae73;margin-bottom:20px}
.speaking-hero h2{font-size:clamp(32px,4vw,52px);font-weight:600;line-height:1.2;color:#fff;margin:0 auto 25px;max-width:780px}
.speaking-lede{font-size:19px;line-height:1.8;color:#e2e5e6;max-width:760px;margin:0 auto 30px}
.speaking-cta{display:inline-block;background:#bb8351;color:#fff!important;text-decoration:none!important;border-radius:3px;padding:14px 25px;font-size:15px;font-weight:700;transition:background .2s}
.speaking-cta:hover,.speaking-cta:focus{background:#97663d;color:#fff!important}
.speaking-intro{display:grid;grid-template-columns:110px minmax(0,1fr);gap:36px;padding:65px 6%;align-items:start}
.speaking-accent{width:90px;height:90px;border-radius:50%;background:#f1e8dc;color:#94643d;display:flex;align-items:center;justify-content:center;font-size:40px}
.speaking-page h3{font-size:29px;color:#29373d;line-height:1.3;margin:0 0 20px}
.speaking-page p{font-size:16px;line-height:1.85}
.speaking-topics{text-align:center;padding:55px 5% 70px;background:#f7f5f2;border-radius:6px}
.speaking-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px;text-align:left}
.speaking-topic-grid article{background:#fff;padding:32px 25px;border-radius:5px;border-top:3px solid #bb8351}
.speaking-topic-grid i{font-size:28px;color:#bb8351}
.speaking-topic-grid h4{font-size:19px;font-weight:700;color:#29373d;margin:18px 0 12px}
.speaking-topic-grid p{font-size:15px;margin:0}
.speaking-inquiry{text-align:center;padding:75px 9% 30px}
.speaking-inquiry>p{max-width:780px;margin:0 auto 25px}
.speaking-inquiry .speaking-note{font-size:13px;color:#777;margin-top:28px}
@media(max-width:767px){.speaking-page{padding:65px 12px 35px}.speaking-hero{padding:45px 20px}.speaking-lede{font-size:16px}.speaking-intro{grid-template-columns:1fr;padding:45px 12px;gap:18px}.speaking-topic-grid{grid-template-columns:1fr}.speaking-topics{padding:40px 18px}.speaking-inquiry{padding:50px 12px 20px}}

/* Steve Kenny featured Jazz Police events */
.kenny-featured-events{max-width:1080px;margin:28px auto 38px;padding:25px 28px;background:#f7f8fa;border-left:5px solid #ef5142;text-align:left}
.kenny-featured-events h4{font-size:25px;color:#353535;margin:0 0 10px}
.kenny-featured-events>p{color:#777;margin-bottom:18px}
.kenny-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kenny-event-card{background:#fff;padding:19px;border:1px solid #e5e5e5;border-radius:5px;min-width:0}
.kenny-event-date{font-weight:700;color:#c74738;font-size:14px}
.kenny-event-card h5{font-size:20px;margin:9px 0;line-height:1.3;overflow-wrap:anywhere}
.kenny-event-card p{margin:6px 0;color:#555}
.kenny-event-card a{display:inline-block;margin-top:9px;text-decoration:underline}
.jazz-calendar-all-heading{text-align:center;margin:24px 0 15px;font-size:24px}
@media(max-width:700px){.kenny-event-grid{grid-template-columns:1fr}.kenny-featured-events{padding:20px 15px}}

/* Contact information: readable without hover; preserve the empty orange panel. */
#contact-modal .footer-contact-info,
#contact-modal .footer-contact-info h4,
#contact-modal .footer-contact-info ul,
#contact-modal .footer-contact-info li,
#contact-modal .footer-contact-info strong,
#contact-modal .footer-contact-info a,
#contact-modal .footer-contact-info a:link,
#contact-modal .footer-contact-info a:visited,
#contact-modal .footer-contact-info a:hover,
#contact-modal .footer-contact-info a:focus { color: #fff !important; opacity: 1 !important; visibility: visible !important; }
#contact-modal .footer-contact-info a { text-decoration: underline; }
#contact-modal .contact-empty-panel { min-height: 141px; background: #ff432e; }

/* Redesigned Contact landing page — scoped to avoid affecting other site sections */
#contact-modal .modal-content { background:#f8f6f1; color:#282b2d; }
#contact-modal .contact-redesign { max-width:1050px; padding-top:48px; padding-bottom:85px; }
#contact-modal .contact-intro { max-width:700px; margin:0 auto 42px; }
#contact-modal .contact-eyebrow { color:#b64b31; font-size:12px; font-weight:700; letter-spacing:3px; margin-bottom:10px; }
#contact-modal .contact-intro h2 { font-family:inherit; font-size:42px; font-weight:600; color:#242424; margin:0 0 16px; }
#contact-modal .contact-intro > p:last-child { font-size:17px; line-height:1.7; color:#666; }
#contact-modal .contact-cards { display:flex; flex-wrap:wrap; }
#contact-modal .contact-cards > div { display:flex; margin-bottom:24px; }
#contact-modal .contact-card { width:100%; min-height:515px; border-radius:12px; padding:38px 35px; box-shadow:0 10px 32px rgba(34,25,18,.09); }
#contact-modal .contact-card h3 { font-size:26px; font-weight:600; margin:12px 0 17px; }
#contact-modal .contact-card p { font-size:15px; line-height:1.75; }
#contact-modal .contact-card-reach { background:#bd4a32; color:white; }
#contact-modal .contact-card-reach h3, #contact-modal .contact-card-reach p { color:white; }
#contact-modal .contact-card-icon { font-size:30px; opacity:.95; }
#contact-modal .contact-direct-links { margin-top:25px; }
#contact-modal .contact-direct-links a { display:flex; align-items:center; gap:14px; padding:14px 0; border-top:1px solid rgba(255,255,255,.3); color:white!important; text-decoration:none; }
#contact-modal .contact-direct-links a > i { width:25px; font-size:20px; }
#contact-modal .contact-direct-links small { display:block; font-size:12px; opacity:.9; margin-bottom:3px; }
#contact-modal .contact-direct-links strong { display:block; font-size:16px; font-weight:600; overflow-wrap:anywhere; }
#contact-modal .contact-social-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
#contact-modal .contact-social-links a { color:white!important; border:1px solid rgba(255,255,255,.7); border-radius:30px; padding:10px 16px; text-decoration:none; }
#contact-modal .contact-social-links a:hover { background:rgba(255,255,255,.18); }
#contact-modal .contact-social-links i { margin-right:6px; }
#contact-modal .contact-card-support { background:white; color:#292929; text-align:center; border:1px solid #e9e2d8; }
#contact-modal .contact-card-support h3 { color:#242424; }
#contact-modal .contact-card-support > p { color:#626262; }
#contact-modal .contact-tipjar-logo { display:block; margin:20px auto 17px; max-width:200px; }
#contact-modal .contact-tipjar-logo img { display:block; width:100%; height:auto; border-radius:50%; }
#contact-modal .contact-tipjar-button { display:inline-block; background:#bd4a32; color:white!important; border-radius:28px; padding:12px 22px; text-decoration:none; font-weight:600; }
#contact-modal .contact-tipjar-button:hover { background:#97351f; }
#contact-modal .contact-tipjar-note { margin-top:16px; font-size:13px!important; }
@media(max-width:767px) { #contact-modal .contact-redesign { padding-top:35px; } #contact-modal .contact-intro h2 { font-size:34px; } #contact-modal .contact-card { min-height:0; padding:30px 25px; } }

/* Homepage slideshow: fixed geometry prevents layout shifts between slides. */
.home-slider #carousel-example-generic { width:100%; }
.home-slider #carousel-example-generic .carousel-inner { width:100%; aspect-ratio:1000 / 643; overflow:hidden; background:#131316; }
.home-slider #carousel-example-generic .carousel-inner > .item { height:100%; width:100%; }
.home-slider #carousel-example-generic .carousel-inner > .item > img { width:100%; height:100%; object-fit:contain; display:block; }
.home-slider #carousel-example-generic .carousel-indicators { bottom: 3%; }

/* A Night Together album credits and track list */
.night-together-information{margin:20px 0 25px;max-width:720px;text-align:left}.night-together-information[hidden]{display:none!important}.night-together-information h4{margin:22px 0 12px}.record-meta,.record-credits{display:grid;grid-template-columns:minmax(115px,35%) 1fr;gap:7px 16px;margin:0 0 20px}.record-meta dt,.record-credits dt{font-weight:700}.record-meta dd,.record-credits dd{margin:0}.record-track-wrap{width:100%;overflow-x:auto}.record-track-table{width:100%;border-collapse:collapse;font-size:14px}.record-track-table th,.record-track-table td{padding:9px 10px;border-bottom:1px solid #ddd;text-align:left}.record-track-table th:last-child,.record-track-table td:last-child{text-align:right;white-space:nowrap}.record-track-table th{background:#eee}.record-track-note td{font-style:italic;color:#666}.record-track-caption{font-size:12px;color:#777;margin:8px 0 18px}.record-barcode{margin:12px 0 18px}@media(max-width:480px){.record-meta,.record-credits{grid-template-columns:1fr;gap:2px}.record-meta dd,.record-credits dd{margin-bottom:9px}}

/* Twin Cities Jazz Sampler archival release details */
.sampler-information{max-width:900px}.sampler-information h4{margin-top:26px}.sampler-track-table{font-size:14px;line-height:1.5}.sampler-track-table td{vertical-align:top}.sampler-track-table td:first-child{width:36px;color:#777}.sampler-track-table td:nth-child(2){min-width:190px}.sampler-track-table tbody tr:nth-child(even){background:#f7f7f7}.sampler-track-title{display:block;font-weight:600}.sampler-source{display:block;font-size:12px;color:#666;margin-top:3px}.sampler-attribution{font-size:12px;color:#666;margin-top:18px}.sampler-track-table th:last-child{width:62px}@media(max-width:600px){.sampler-track-table th,.sampler-track-table td{padding:8px 5px}.sampler-track-table{font-size:13px}.sampler-source{font-size:11px}.sampler-information .record-meta,.sampler-information .record-credits{grid-template-columns:minmax(100px,36%) 1fr;gap:7px 10px}}


/* Twin Cities Jazz Samplers — high-contrast editorial discography, November 2026 */
#record-detail:has(.sampler-information:not([hidden])) {max-width:1180px;}
#record-detail:has(.sampler-information:not([hidden])) .record-detail-layout {grid-template-columns:minmax(170px,245px) minmax(0,1fr);gap:32px;}
#record-detail:has(.sampler-information:not([hidden])) .record-detail-layout > div {min-width:0;}
.sampler-information {
  --sampler-ink:#182b3a;--sampler-blue:#174f77;--sampler-accent:#c16b29;
  --sampler-muted:#45586a;--sampler-border:#cbd8e2;
  max-width:none!important;width:100%;margin:26px 0 35px!important;
  color:var(--sampler-ink)!important;font-family:inherit;font-size:16px;line-height:1.6;
}
.sampler-information h4 {
  margin:30px 0 14px!important;padding:0 0 11px;
  color:#123b5c!important;font-size:22px!important;font-weight:800!important;
  line-height:1.25;letter-spacing:.01em;border-bottom:3px solid #db8b45;
}
.sampler-information h4 small {font-size:14px!important;color:#465e70!important;font-weight:700;}
.sampler-information .record-meta,.sampler-information .record-credits {
  display:grid;grid-template-columns:minmax(130px,29%) minmax(0,1fr);
  gap:0!important;padding:9px 20px;margin:0 0 22px;
  border:1px solid #d4e0e9;border-radius:12px;background:#f0f5f9;
  box-shadow:0 3px 12px rgba(13,42,64,.05);
}
.sampler-information .record-meta dt,.sampler-information .record-credits dt,
.sampler-information .record-meta dd,.sampler-information .record-credits dd {
  padding:11px 4px!important;margin:0!important;border-bottom:1px solid #d7e1e8;
  font-size:15px!important;line-height:1.5;color:#203648!important;
}
.sampler-information .record-meta dt,.sampler-information .record-credits dt {
  font-weight:800!important;color:#285b7e!important;
}
.sampler-information .record-meta dt:nth-last-of-type(1),.sampler-information .record-meta dd:last-child,
.sampler-information .record-credits dt:nth-last-of-type(1),.sampler-information .record-credits dd:last-child {border-bottom:0;}
.sampler-information .record-track-wrap {overflow-x:visible;width:100%;}
.sampler-information .sampler-track-table {width:100%;border-collapse:separate;border-spacing:0 8px;
  font-size:16px!important;line-height:1.55!important;table-layout:fixed;}
.sampler-information .sampler-track-table thead th {
  padding:10px 14px!important;background:#173e5b!important;color:#fff!important;
  border:0!important;font-size:13px!important;font-weight:800!important;
  text-transform:uppercase;letter-spacing:.075em;
}
.sampler-information .sampler-track-table thead th:first-child {border-radius:8px 0 0 8px;}
.sampler-information .sampler-track-table thead th:last-child {border-radius:0 8px 8px 0;}
.sampler-information .sampler-track-table tbody tr {background:#f3f7fa!important;}
.sampler-information .sampler-track-table tbody tr:nth-child(even) {background:#e8f1f7!important;}
.sampler-information .sampler-track-table tbody td {
  padding:15px 14px!important;border-top:1px solid #d7e3ed!important;
  border-bottom:1px solid #d7e3ed!important;color:#233849!important;
  vertical-align:top;overflow-wrap:anywhere;
}
.sampler-information .sampler-track-table tbody td:first-child {
  width:48px!important;text-align:center;font-size:17px!important;font-weight:900!important;
  color:#a25118!important;background:#fcebdc;border-left:1px solid #d7e3ed;
  border-radius:9px 0 0 9px;
}
.sampler-information .sampler-track-table th:first-child {width:48px!important;text-align:center;}
.sampler-information .sampler-track-table th:last-child {width:77px!important;text-align:right;}
.sampler-information .sampler-track-table tbody td:last-child {
  width:77px!important;border-right:1px solid #d7e3ed;border-radius:0 9px 9px 0;
  color:#174f77!important;font-weight:800!important;font-variant-numeric:tabular-nums;
}
.sampler-information .sampler-track-table td:nth-child(2) {min-width:0!important;}
.sampler-information .sampler-track-table td:nth-child(2)>strong {
  display:block;color:#1b5b80!important;font-size:15px!important;font-weight:800!important;
  line-height:1.4;
}
.sampler-information .sampler-track-title {
  display:block;margin:3px 0 5px;font-size:19px!important;font-weight:800!important;
  color:#152b3c!important;line-height:1.35;
}
.sampler-information .sampler-source {
  display:block;margin-top:7px;font-size:14px!important;line-height:1.5!important;
  color:#43576a!important;
}
.sampler-information .sampler-source em {color:#84491f!important;font-weight:700;font-style:normal;}
.sampler-information .sampler-attribution {
  font-size:14px!important;line-height:1.65;color:#3c5265!important;
  border-left:4px solid #d18b4b;background:#f6f1e9;
  border-radius:0 8px 8px 0;padding:14px 18px;margin-top:24px;
}
.sampler-information .sampler-attribution a {color:#125b8b!important;font-weight:800;text-decoration:underline;}
@media(max-width:850px) {
  #record-detail:has(.sampler-information:not([hidden])) .record-detail-layout {grid-template-columns:1fr;gap:18px;}
  #record-detail:has(.sampler-information:not([hidden])) .record-detail-layout>img {max-width:250px;margin:0 auto;}
}
@media(max-width:600px) {
  .sampler-information {font-size:15px!important;}
  .sampler-information h4 {font-size:20px!important;}
  .sampler-information .record-meta,.sampler-information .record-credits {grid-template-columns:minmax(95px,35%) minmax(0,1fr);padding:8px 12px;}
  .sampler-information .record-meta dt,.sampler-information .record-meta dd,
  .sampler-information .record-credits dt,.sampler-information .record-credits dd {font-size:14px!important;padding:10px 3px!important;}
  .sampler-information .sampler-track-table {border-spacing:0 7px;}
  .sampler-information .sampler-track-table thead th {padding:9px 7px!important;font-size:11px!important;}
  .sampler-information .sampler-track-table tbody td {padding:12px 8px!important;}
  .sampler-information .sampler-track-table tbody td:first-child,.sampler-information .sampler-track-table th:first-child {width:31px!important;font-size:14px!important;}
  .sampler-information .sampler-track-table tbody td:last-child,.sampler-information .sampler-track-table th:last-child {width:52px!important;font-size:13px!important;}
  .sampler-information .sampler-track-table td:nth-child(2)>strong {font-size:13px!important;}
  .sampler-information .sampler-track-title {font-size:17px!important;}
  .sampler-information .sampler-source {font-size:12.5px!important;}
}
