/*
Theme Name: 	La Crosse Symphony Orchestra
Description: 	Custom theme for use with Beaver Themer
Version: 		1.0
Author: 		   DigiSage
Author URI: 	https://digisage.com
*/

/* ======================= global resets ======================= */
/* Based upon 'reset.css' in the Yahoo! User Interface Library: http://developer.yahoo.com/yui */
*, html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, label, fieldset, input, p, blockquote, th, td { margin:0; padding:0 }
table 					{ border-collapse:collapse; border-spacing:0 }
fieldset, img 			{ border:0 }
address, caption, cite, code, dfn, em, strong, th, var { font-style:normal; font-weight:normal }
caption, th	 			{ text-align:left }
q:before, q:after 	{ content:''}
a img 					{ border:none } /* Gets rid of IE's blue borders */
input[type="submit"]	{ cursor:pointer; -webkit-appearance: button; /* Corrects inability to style clickable 'input' types in iOS */ }
input[type="submit"]::-moz-focus-inner { border:0; } /* helps with input and submit sizing */
/* html5 reset */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display:block; }
audio,
canvas,
video 					   { display:inline-block; }
audio:not([controls]) 	{ display:none; }
@-ms-viewport			   { width:device-width; }
*,
*:before,
*:after 			{ -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
:link img 		{ border:none; }
a 					{ outline:none; }
.clearfix:after 				   { visibility:hidden; display:block; font-size:0; content:" "; clear:both;  height:0; }
* html .clearfix             	{ zoom:1; } /* IE6 */
*:first-child+html .clearfix 	{ zoom:1; } /* IE7 */
/* responsive */
img, object, embed 	{ max-width:100%; height:auto; }
object, embed		   { height:100%; }
img				 	   { -ms-interpolation-mode: bicubic; }

html {
	height:100%;
}
body {
	margin:0;
	padding:0;
	background:#fff;
	color:#1c1a18;
	font-family:poppins, sans-serif;
	font-size:22px;
	font-weight:300;
	text-align:left;
}

/*======================= Typography ======================= */
p {
	margin:0 0 15px 0;
	line-height:1.4;
}
ul {
	margin:0 0 15px 0;
	padding:0;
}
ul li {
 	margin:0 0 0 30px;
 	padding:0;
 	list-style:disc;
 	line-height:1.4;
}
ul li ul li	{
	list-style:circle;
}
ol {
	margin:0 0 15px 0;
	padding:0;
}
ol li {
	text-align:left;
	margin:0 0 0 30px;
	padding:0;
	list-style:decimal;
	line-height:1.4;
}
blockquote {
	margin:20px;
	padding:10px 0 10px 30px;
	font-size:26px;
   color:#777;
   font-family:abril-display, serif;
   border-left:10px solid #fbf9f7;
}
blockquote p {
	margin:0;
}
small {
	font-size:1.1rem;
}
strong, b {
	font-weight:700;
}
em, i {
	font-style:italic;
}
/* tables */
table {
	border-collapse:collapse;
	border:1px solid #aaa;
	margin:0 0 20px 0;
}
td,th	{
	padding:7px 20px;
	border:1px solid #aaa;
	text-align:center;
}
table tr:nth-child(odd) {
	background:#e7e7e8;
}
table tr:nth-child(even) {
	background:#fff;
}
th {
	background:#333;
	color:#fff;
}
/* headings */
h1,h2,h3,h4,h5,h6 {
	text-align:left;
	font-weight:400;
	color:#1c1a18;
	line-height:1.2;
   font-family:poppins, sans-serif;
}
h1 {
	font-size:100px;
   color:#1c1a18;
	margin:0 0 20px 0;
   font-family:brandon-grotesque, sans-serif;
}
h2 {
	font-size:38px;
	margin:0 0 15px 0;
   font-weight:500;
}
h3 {
	font-size:36px;
	margin:0 0 10px 0;
   font-weight:600;
}
h4 {
	font-size:26px;
	margin:0 0 10px 0;
   font-weight:500;
}
h5 {
	font-size:22px;
	margin:0 0 10px 0;
   font-weight:500;
}
h6 {
	font-size:20px;
	margin:0 0 10px 0;
   font-weight:500;
}
.brandon h2,
.brandon h3,
.brandon h4,
.brandon p {
   font-family:brandon-grotesque, sans-serif !important;
}

/* default links & buttons */
a {
	color:#8f0303;
	text-decoration:none;
	-webkit-transition:	.3s;
	transition:			   .3s;
}
a:hover {
	color:#555;
	text-decoration:none;
}
a.button,
a.fl-button {
   display:inline-block;
   color:#fff;
   line-height:1;
   font-size:22px;
   font-weight:300;
   padding:12px 80px;
   text-align:center;
   text-transform:uppercase;
   background:#8f0303;
}
a.button.open {
   color:#8f0303;
   background:transparent;
   border:1px solid #8f0303;
}
a.button.open:hover {
   color:#fff;
   background:#8f0303;
}
a.button.open.white {
   color:#9d9994;
   background:transparent;
   border:1px solid #9d9994;
}
a.button.open.white:hover {
   color:#fff;
   background:#8f0303;
   border:1px solid #8f0303;
}

/* Forms */
label {
	display:block;
	margin:0 0 5px 0;
}
input,
textarea,
select {
	display:block;
	color:#555;
	margin:0 0 15px 0;
	padding:5px;
   font-size:18px;
	border:1px solid #ccc;
	font-family:poppins, sans-serif;
	box-sizing:			   border-box;
	-ms-box-sizing:		border-box;
	-moz-box-sizing:	   border-box;
	-webkit-box-sizing:	border-box;
}
/* special override for gravity datepicker UI */
.ui-datepicker-title select {
   display:inline;
   line-height:1;
   font-size:16px;
   margin:2.5% 0;
   padding:0;
}
input[type="radio"],
input[type="checkbox"] {
	display:inline-block;
	margin:0 0 5px 0;
}
select {
	line-height:28px; /* this is needed to keep height on select elements in safari */
}
/* placeholder font color */
::-webkit-input-placeholder {
	color:#333;
}
:-moz-placeholder {
	/* Firefox 18- */ color:#333;
}
::-moz-placeholder {
	/* Firefox 19+ */ color:#333;
}
:-ms-input-placeholder {
	color:#333;
}

/* Accessibility */
.skip {
    position:absolute;
    top:-1000px;
    left:-1000px;
    height:1px;
    width:1px;
    text-align:left;
    overflow:hidden;
}
a.skip:active,
a.skip:focus,
a.skip:hover {
    left:0;
    top:0;
    width:auto;
    height:auto;
    overflow:visible;
}
/* Text meant only for screen readers. */
.screen-reader-text {
  	border:0;
  	clip:rect(1px, 1px, 1px, 1px);
  	clip-path:inset(50%);
  	height:1px;
  	margin:-1px;
  	overflow:hidden;
  	padding:0;
  	position:absolute !important;
  	width:1px;
  	word-wrap:normal !important;
}
#page-wrap {
   overflow:hidden;
}
.pagewidth {
	width:1500px;
	margin:0 auto;
   position:relative;
}
.pagewidth-1200 {
   width:1200px;
   margin:0 auto;
   position:relative;
}
.pagewidth-1540 {
   width:1540px;
   margin:0 auto;
   position:relative;
}
.pagewidth-1800 {
   width:1800px;
   margin:0 auto;
   position:relative;
}

/* alert bar notice */
#alert-bar {
   background:#76b5bc;
   padding:5px 0;
   text-align:center;
   font-size:18px;
}
#alert-bar a {
   color:#1c1a18;
}
#alert-bar a:hover {
   text-decoration:underline;
}

/* ======================= Masthead ====================== */
#masthead {
	position:relative;
   width:100%;
	margin:0;
	padding:0;
	z-index:1000;
}
/* top bar */
#masthead #topbar {
   text-align:right;
   height:70px;
   overflow:hidden;
   background:url(assets/images/bg-topbar.jpg) no-repeat left top;
}
#masthead #topbar .search-wrap {
   display:inline-block;
   vertical-align:top;
   width:360px;
   margin:0 20px 0 0;
   padding:13px 0 0 0;
}
#masthead #topbar .search-wrap input.search-text {
   width:calc(100% - 40px);
   display:block;
   float:left;
   height:45px;
   line-height:45px;
   background:none;
   border:1px solid #8d8882;
   margin:0;
   padding:0 10px;
   text-align:right;
}
#masthead #topbar .search-wrap button.searchsubmit {
   width:40px;
   height:45px;
   float:left;
   margin:0;
   background:none;
   border:none;
   font-size:30px;
   color:#8d8882;
   cursor:pointer;
   text-align:right;
}
#masthead #topbar .button-wrap {
   display:inline-block;
}
#masthead #topbar .button-wrap a {
   display:block;
   height:70px;
   float:left;
   color:#fff;
   font-size:32px;
   font-weight:300;
   text-transform:uppercase;
   padding:23px 20px 0 60px;
   background-repeat:no-repeat;
   background-position:0 5px;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
#masthead #topbar .button-wrap a.give {
   text-align:right;
   background-color:#ce541b;
   background-image:url(assets/images/bg-toprow-left-btn.png);
   margin-right:20px;
}
#masthead #topbar .button-wrap a.tickets {
   background-color:#9b0f0f;
   background-image:url(assets/images/bg-toprow-right-btn.png);
}
#masthead #topbar .button-wrap a:hover {
   background-color:#1b8490;
}
/* logo and menu row */
#masthead #logo-menu {
   position:relative;
}
#masthead #logo-menu::after {
   content:'';
   display:block;
   position:absolute;
   z-index:-1;
   top:0;
   left:0;
   width:50%;
   height:123px;
   background:#eef6f6;
}
#masthead #logo-menu .pagewidth-1800 {
   background:#fff;
}
#masthead .logo {
   width:540px;
   float:left;
   padding:62px 0 0 55px;
}
#masthead .logo::before {
   content:'';
   display:block;
   position:absolute;
   z-index:0;
   top:0;
   left:0;
   width:520px;
   height:123px;
   background:#eef6f6;
}
#masthead .logo img {
   width:440px;
   height:auto;
}
#masthead .logo::after {
   content:'';
   display:block;
   position:absolute;
   z-index:0;
   top:0;
   left:530px;
   width:65px;
   height:123px;
   background:#eef6f6;
}
#masthead .logo img {
   display:block;
   position:relative;
   z-index:100;
}
#masthead .nav-wrap {
   float:right;
   width:calc(100% - 540px);
}
#masthead ul#nav {
   margin:90px 0 0 0;
   padding:0;
   float:right;
   position:relative;
}
#masthead ul#nav li {
   list-style:none;
   display:block;
   float:left;
   margin:0;
   padding:0;
}
#masthead ul#nav > li > a {
   position:relative;
   margin:0;
   padding:22px 25px 30px 25px;
   font-size:22px;
   font-weight:300;
   display:block;
   text-transform:uppercase;
   color:#1c1a18;
   letter-spacing:2px;
}
#masthead ul#nav > li > a:hover {
   text-decoration:none;
   color:#fff;
   background:#1b8490;
}
#masthead ul#nav > li.active > a {
   color:#fff;
   background:#1b8490;
}
#masthead ul#nav > li.current-menu-item > a::after {
   content:'';
   display:block;
   width:100%;
   height:5px;
   position:absolute;
   left:0;
   bottom:14px;
   background:#1b8490;
}
#masthead ul#nav li ul.sub-menu {
   display:none;
   background:rgba(17,84,91,0.95);
   position:absolute;
   width:100%;
   left:0;
   top:100%;
   margin:0;
   padding:40px 20px 15px 140px;
   border:none;
   border-left:20px solid #9b0f0f;
}
#masthead ul#nav li ul.sub-menu li {
   float:none;
   margin:0;
   position:relative;
}
#masthead ul#nav li ul.sub-menu li a {
   float:none;
   line-height:1;
   display:block;
   color:#cbc9c6;
   padding:15px 0;
   background:none;
   text-align:left;
   text-transform:uppercase;
   font-size:22px;
}
#masthead ul#nav li ul.sub-menu li a:hover {
   text-decoration:none;
   color:#fff;
}
#masthead ul#nav li ul.sub-menu li span.arrow {
   display:block;
   opacity:0;
   position:absolute;
   left:-60px;
   top:25px;
   width:30px;
   border-bottom:2px solid #fff;
   -webkit-transition:  .3s;
   transition:          .3s;
}
#masthead ul#nav li ul.sub-menu li span.arrow::after {
   content:'';
   display:block;
   position:absolute;
   right:0;
   top:-4px;
   width:10px;
   height:10px;
   transform: rotate(-45deg);
   border-right:2px solid #fff;
   border-bottom:2px solid #fff;
}
#masthead ul#nav li ul.sub-menu li:hover span.arrow {
   opacity:1;
   left:-50px;
}

/* mobile */
#masthead #logo-menu a.menu-toggle {
   display:none;
   position:absolute;
   bottom:20px;
   right:50px;
   font-size:44px;
   color:#1b8490;
}
#masthead #logo-menu a.menu-toggle:hover {
   color:#1c1a18;
}

/* main flyout menu */
.flyout-menu {
   position:fixed;
   z-index:6000;
   width:500px;
   max-width:100%;
   height:100%;
   top:0;
   right:-500px;
   background:rgba(17,84,91,0.95);
}
.flyout-menu .inner {
   position:absolute;
   top:0;
   left:0;
   width:100%;
   height:100%;
   padding:20px 120px 100px 80px;
   overflow-y:auto;
   /* Optional but highly reccomended: enables momentum scrolling on iOS */
   -webkit-overflow-scrolling:touch;
}
.flyout-menu a.close-flyout {
   display:block;
   position:absolute;
   z-index:100;
   top:45px;
   right:50px;
   width:30px;
   height:30px;
}
.flyout-menu a.close-flyout svg > path {
   fill:transparent;
   stroke:#fff;
   stroke-width:2;
   stroke-linejoin:round;
}
.flyout-menu ul {
   margin:0;
   padding:0;
}
.flyout-menu ul li {
   margin:25px 0;
   padding:0;
   list-style:none;
   position:relative;
}
.flyout-menu ul li a {
   font-size:22px;
   color:#fff;
   text-transform:uppercase;
}
.flyout-menu ul > li span.arrow {
   display:block;
   opacity:0;
   position:absolute;
   left:-60px;
   top:14px;
   width:30px;
   border-bottom:2px solid #fff;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.flyout-menu ul > li > span.arrow::after {
   content:'';
   display:block;
   position:absolute;
   right:0;
   top:-4px;
   width:10px;
   height:10px;
   transform: rotate(-45deg);
   border-right:2px solid #fff;
   border-bottom:2px solid #fff;
}
.flyout-menu ul > li:hover > span.arrow {
   opacity:1;
   left:-50px;
}
.flyout-menu ul li ul {
   margin-left:30px;
}
.flyout-menu ul li ul li {
   margin:10px 0;
}
.flyout-menu ul li ul li a {
   font-size:18px;
}
#mask {
   display:none;
   background:rgba(255,255,255,0.85);
   position:fixed;
   left:0;
   top:0;
   width:100%;
   height:100%;
   z-index:5000;
}

/* big heading */
#main-heading {
   position:relative;
   background:#1c1a18 url(assets/images/bg-main-heading.jpg) no-repeat right top;
   background-size:auto 100%;
}
#main-heading::before {
   content:'';
   display:block;
   position:absolute;
   z-index:0;
   top:0;
   left:0;
   width:50%;
   height:100%;
   background:#1b8490;
}
#main-heading::after {
   content:'';
   display:block;
   position:absolute;
   z-index:10;
   top:0;
   right:0;
   width:50%;
   height:100%;
   background:url(assets/images/bg-main-heading.jpg) no-repeat right top;
   background-size:auto 100%;
}
#main-heading .pagewidth {
   width:1560px;
   padding:120px 20px 20px 30px;
   background:#1c1a18;
}
#main-heading h1,
#main-heading .faux-h1 {
   position:relative;
   z-index:100;
   color:#cbc9c6;
   font-size:72px;
   line-height:1;
   margin:0;
   text-transform:uppercase;
   font-weight:700;
   font-family:brandon-grotesque, sans-serif;
}

/* breadcrumbs */
#breadcrumbs {
   padding:15px 0 15px 4px;
   font-size:18px;
}
#breadcrumbs span {
   color:#9b0f0f;
}
#breadcrumbs span.sep {
   color:#1b8490;
   display:inline-block;
   padding:0 3px;
}
#breadcrumbs a {
   color:#1b8490;
}
#breadcrumbs a:hover {
   color:#9b0f0f;
}

/* ======================= page/post styling ======================= */
#primary {
   padding-bottom:50px;
}

/* informative 2 column layout */

.informative .fl-col-group {
   display:flex;
}
.informative .media-left-col > .fl-col-content {
   width:800px;
   margin-left:-100px;
}
.informative .media-left-col img {
   max-width:635px;
}

/* global modules */

/* link with arrow to right */
.link-arrow a.fl-button span.fl-button-text {
   position:relative;
}
.link-arrow a.fl-button span.fl-button-text::before {
   content:'';
   position:absolute;
   width:50px;
   top:17px;
   left:calc(100% + 20px);
   display:block;
   border-top:2px solid #fff;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.link-arrow a.fl-button span.fl-button-text::after {
   content:'';
   position:absolute;
   top:8px;
   left:calc(100% + 48px);
   display:block;
   width:20px;
   height:20px;
   transform: rotate(-45deg);
   border-right:2px solid #fff;
   border-bottom:2px solid #fff;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.link-arrow a.fl-button:hover span.fl-button-text::before {
   left:calc(100% + 30px);
}
.link-arrow a.fl-button:hover span.fl-button-text::after {
   left:calc(100% + 58px);
}

/* boxes for landing pages */
.page-box-column .fl-col-content {
   position:relative;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.page-box-column .fl-col-content .fl-module-rich-text {
   flex-grow:1;
}
.page-box-column .fl-col-content .fl-button-wrap {
   text-align:center;
}
.page-box-column .fl-col-content::after {
   content:'';
   opacity:0;
   display:block !important;
   position:absolute;
   left:0;
   bottom:0;
   width:100%;
   height:23px;
   background:#1b8490;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.page-box-column .fl-col-content:hover {
   background:#f4f8f8;
}
.page-box-column:hover .fl-col-content::after {
   opacity:1;
}

/* content grid to match our grid design better */
.pp-content-post-grid .pp-content-post {
   padding:0;
}
.pp-content-post-grid .pp-content-post.tribe_events .pp-post-event-calendar-meta {
   text-align:left;
}
.pp-content-post-grid .pp-content-post .pp-content-grid-content p {
   font-weight:300;
}
.pp-content-post-grid .pp-content-post::after {
   content:'';
   opacity:0;
   display:block !important;
   position:absolute;
   left:0;
   bottom:0;
   width:100%;
   height:23px;
   background:#1b8490;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.pp-content-post-grid .pp-content-post:hover::after {
   opacity:1;
}
.pp-content-post-grid .pp-content-post .pp-content-grid-inner {
   padding-bottom:50px;
}
.pp-content-post-grid .pp-content-post .pp-post-event-calendar-meta {
   position:relative;
}
.pp-content-post-grid .pp-content-post .pp-post-event-calendar-meta::after {
   content:'';
   display:block;
   margin:15px 0;
   width:150px;
   height:2px;
   background:#1b8490;
}

/* power pack content grid for events */
.pp-content-post {
   overflow:visible;
   position:relative;
   margin-top:50px;
   padding-bottom:140px !important;
}
.pp-content-post .date-box {
   position:absolute;
   width:80%;
   top:-50px;
   left:-1px;
   color:#1c1a18;
   background:#ffda33;
   text-align:left;
   text-transform:uppercase;
   line-height:1;
   padding:10px 25px 8px 25px;
}
.pp-content-post .date-box span {
   display:block;
}
.pp-content-post .date-box span.day {
   font-size:22px;
}
.pp-content-post .date-box span.full-date {
   font-size:28px;
   font-weight:700;
}
.pp-content-post .event-buttons {
   position:absolute;
   width:100%;
   left:0;
   bottom:50px;
}
.pp-content-post .event-buttons a.button {
   position:relative;
   display:block !important;
   width:250px;
   padding-left:0;
   padding-right:0;
   margin:20px auto 0 auto;
   z-index:100;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.pp-content-post .event-buttons a.button:hover {
   background:#1b8490 !important;
}

/* global red call to action */
.red-cta .fl-cta-button .fl-button-wrap a {
   height:40px !important;
   -webkit-transition:  .3s;
   transition:          .3s;
   position:relative;
   background:url(assets/images/arrow-right.svg) no-repeat top right !important;
   background-size:50px auto !important;
}
.red-cta .fl-cta-button .fl-button-wrap a:hover {
   left:5px;
}

/* global connect row */
#connect {
   margin:0 0 65px 0;
   position:relative;
}
#connect::before {
   content:'';
   position:absolute;
   z-index:-1;
   top:0;
   left:0;
   width:100%;
   height:295px;
   background:#ebebea;
}
#connect .title-col {
   width:35%;
   float:left;
   margin:0 0 0 -40px;
   padding:120px 40px 0 0;
}
#connect .title-col h2 {
   font-size:100px;
   color:#6e9ca1;
   margin:0;
   text-align:right;
   font-weight:700;
   line-height:1;
   text-transform:uppercase;
   font-family:brandon-grotesque, sans-serif;
}
#connect .title-col h2 span {
   display:block;
   font-size:48px;
   color:#6e9ca1;
   margin:0;
   text-align:right;
   font-weight:400;
}
#connect .social-col {
   width:calc(25% + 40px);
   float:left;
   padding:70px 0 0 0;
}
#connect.no-video .social-col {
   width:calc(65% + 40px);
}
#connect .social-col a {
   width:calc(100% / 3);
   float:left;
   padding-right:8px;
}
#connect.no-video .social-col a {
   width:130px;
   max-width:100%;
}
#connect .social-col a img {
   width:100%;
}
#connect .social-col a:hover {
   margin-top:-40px;
}
#connect .video-col {
   width:40%;
   float:left;
   padding:70px 0 0 0;
}

/* accordions */
.fl-accordion-button-icon-left,
.fl-accordion-button-icon-right {
   opacity:1;
}

/* ======================= footer.php ======================= */
#footer {
   position:relative;
   background:#24221f;
   display:flex;
}
#footer .footer-left {
   width:40%;
   background:url(assets/images/bg-footer-left.jpg) no-repeat center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
#footer .footer-left .inner {
   width:720px;
   max-width:100%;
   float:right;
   text-align:right;
   padding:130px 60px 120px 20px;
}
#footer .footer-left .inner img {
   width:540px;
   max-width:100%;
   opacity:.7;
}
#footer .footer-right {
   width:60%;
   position:relative;
}
#footer .footer-right::after {
   content:'';
   display:block;
   position:absolute;
   z-index:0;
   top:0;
   left:0;
   width:100%;
   height:60px;
   background:#76b5bc;
}
#footer .footer-right .menu-row {
   position:relative;
   z-index:100;
}
#footer .footer-right .menu-row ul {
   margin:0 0 0 45px;
   padding:0;
}
#footer .footer-right .menu-row ul li {
   margin:0;
   padding:0;
   list-style:none;
   float:left;
}
#footer .footer-right .menu-row ul li a {
   display:block;
   height:60px;
   line-height:60px;
   padding:0 25px;
   color:#1c1a18;
   font-size:22px;
   text-transform:uppercase;
}
#footer .footer-right .menu-row ul li:first-child a {
   border-left:10px solid #24221f;
}
#footer .footer-right .menu-row ul li a:hover {
   color:#fff;
   text-decoration:none;
   background:#11545b;
}
#footer .footer-right .connect-row .inner {
   width:1080px;
   max-width:100%;
   float:left;
   color:#9d9994;
   font-size:22px;
   text-transform:uppercase;
   padding:65px 20px 0 100px;
}
#footer .footer-right .connect-row .inner .address-col {
   width:70%;
   float:left;
}
#footer .footer-right .connect-row .inner .address-col a {
   display:block;
   color:#9d9994;
}
#footer .footer-right .connect-row .inner .address-col a:hover {
   color:#fff;
}
#footer .footer-right .connect-row .inner .social-col {
   width:30%;
   float:left;
   padding-top:65px;
}
#footer .footer-right .connect-row .inner .social-col a {
   display:block;
   float:left;
   width:60px;
   height:60px;
   border:5px solid transparent;
   margin-right:10px;
}
#footer .footer-right .connect-row .inner .social-col a:hover {
   border-color:rgba(255,255,255,0.1);
}

#copyright {
   background:#1c1a18;
   text-align:center;
   color:rgba(255,255,255,0.3);
   padding:8px 20px;
   line-height:1.2;
   font-size:14px;
}
#copyright p {
   margin:0;
}

/* ======================= Page Templates ======================= */

/* marketplace */
.marketplace #main-heading {
   /*   background: url(assets/images/marketplace-header.jpg) no-repeat center center;*/
   background: url(assets/images/marketplace-header-2.jpg) no-repeat center center;
   background-size: cover;
   height: 212px;
   overflow: hidden;
}
.marketplace #main-heading::before {
   display: none !important;
}
.marketplace #main-heading::after {
   display: none;
}
.marketplace #main-heading .pagewidth {
   background: none;
   padding-top: 10px;
}
.marketplace #main-heading h1 {
   width: 375px;
   height: 200px;
   margin-left: 40px;
   text-indent: -9999px;
   overflow: hidden;
   background: url(assets/images/LSO-MarketPlace-logo-white.svg) no-repeat center center;
/*   background: url(assets/images/marketplace-logo-spring.svg) no-repeat center center;*/
   background-size: 100% auto;
}
.marketplace-block .fl-col-content {
   display: flex;
   flex-direction: column;
   margin: 25px;
   border: 1px solid #ccc;
}
.marketplace-block .purchase-info {
   flex-grow: 1;
}
@media(max-width:1200px) {
   .marketplace #main-heading {
      height: 180px;
   }
   .marketplace #main-heading .pagewidth {
      padding-top: 0;
      padding-bottom: 0;
   }
   .marketplace #main-heading h1 {
      width: 300px;
      height: 180px;
   }
}
@media(max-width:768px) {
   .marketplace #main-heading {
      height: 140px;
   }
   .marketplace #main-heading .pagewidth {
      padding: 0;
   }
   .marketplace #main-heading h1 {
      width: 260px;
      height: 140px;
      margin-left: 20px;
   }
}
@media(max-width:500px) {
   .marketplace-block h2 span {
      font-size: 26px !important;
   }
}
@media(max-width:360px) {
   .marketplace #main-heading h1 {
      width: calc(100% - 60px);
   }
}

/* search */
body.page .fl-post-feed-post,
body.archive .fl-post-feed-post {
   padding-bottom:40px;
}

/* search archive */
body.search .fl-post-feed-post {
   padding-bottom:40px;
}
body.search .fl-post-feed-post .fl-post-feed-meta {
   display:none;
}
body.search .fl-post-feed-post.type-post .fl-post-feed-meta {
   display:block;
}
body.search .fl-builder-content > .fl-row-fixed-width {
   padding-right:20%;
}
body.search .searchform input {
   display:inline-block;
   margin-right:5px;
}
body.search .searchform button.searchsubmit {
   border:none;
   background:none;
   width:40px;
   font-size:30px;
   display:inline-block;
   cursor:pointer;
   position:relative;
   top:4px;
}

/* single.php */
body.single #primary {
   padding-top:50px;
}
body.single h1 {
   font-weight:300;
   font-size:48px;
   text-transform:uppercase;
}
body.single #primary.pagewidth {
   padding-right:20%;
}

/* events single */
.tribe-events-event-image img {
   width:600px;
   max-width:100%;
}
#tribe-events-content h1.tribe-events-single-event-title {
   font-weight:300;
   font-size:48px;
   text-transform:uppercase;
   font-family:brandon-grotesque, sans-serif;
}

/* home page */
.home-hero-title {
   position:relative;
}
.home-hero-title::before {
   content:'';
   display:block;
   width:345px;
   height:64px;
   position:absolute;
   z-index:0;
   top:-20px;
   left:-100px;
   background:rgba(155,15,15,0.3);
}
.home-hero-title::after {
   content:'';
   display:block;
   width:70px;
   height:64px;
   position:absolute;
   z-index:0;
   top:-20px;
   left:260px;
   background:rgba(155,15,15,0.3);
}
.home-hero-title h1 {
   position:relative;
   z-index:10;
}

/* upcoming events row shortcode */
#upcoming-events h2 {
   color:#cbc9c6;
   font-size:100px;
   margin:0 0 -28px 0;
   font-weight:800;
   text-transform:uppercase;
}
.events-wrap {
   display:flex;
   height:600px;
   overflow:hidden;
   background:#f9f9f9;
}
.events-wrap .event {
   -webkit-transition:  1s;
   transition:          1s;
   border-right:2px solid #fff;
}
.events-wrap .event:last-of-type {
   border-right:none;
}
.events-wrap .event.closed {
   width:220px;
   cursor:pointer;
}
.events-wrap.num-events-1 .event.open {
   width:100%;
}
.events-wrap.num-events-2 .event.open {
   width:calc(100% - 220px);
}
.events-wrap.num-events-3 .event.open {
   width:calc(100% - 440px);
}
.events-wrap .event .feat-img {
   position:relative;
   width:60%;
   height:100%;
   float:left;
   background-repeat:        no-repeat;
   background-position:      center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
   -webkit-transition:  1s;
   transition:          1s;
}
.events-wrap .event .feat-img .date-box {
   position:absolute;
   width:220px;
   top:0;
   left:0;
   color:#1c1a18;
   background:#ffda33;
   text-transform:uppercase;
   line-height:1;
   padding:15px 25px;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.events-wrap.num-events-3 .event:nth-of-type(2) .feat-img .date-box {
   width:218px;
}
.events-wrap .event .feat-img .date-box span {
   display:block;
}
.events-wrap .event .feat-img .date-box span.day {
   font-size:26px;
   font-weight:400;
}
.events-wrap .event .feat-img .date-box span.month,
.events-wrap .event .feat-img .date-box span.year {
   font-size:36px;
   font-weight:500;
}
.events-wrap .event.closed .feat-img .date-box:hover {
   background:rgba(255,218,51,0.8);
}
.events-wrap .event .preview {
   width:40%;
   float:left;
   padding:60px 45px 0px 45px;
}
.events-wrap .event .preview .inner {
   opacity:0;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.events-wrap .event:nth-of-type(1) .preview .inner {
   opacity:1;
}
.events-wrap .event .preview h3 {
   font-size:48px;
   font-weight:400;
   line-height:1.1;
   font-family:brandon-grotesque, sans-serif;
}
.events-wrap .event .preview .excerpt {
   margin-bottom:40px;
}
.events-wrap .event .preview a.button.open {
   width:280px;
   margin-bottom:25px;
   padding-left:0;
   padding-right:0;
   display:block;
}
/* closed events */
.events-wrap .event.closed .feat-img {
   width:100%;
}

/* tickets row shortcode */
#tickets-row .inner-row {
   background:#1c1a18 url(assets/images/bg-tickets-row-aqua.jpg) no-repeat center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
#tickets-row .inner-row > .pagewidth {
   display:flex;
   justify-content:space-between;
}
#tickets-row .tickets-col-1 {
   width:40%;
   padding:150px 20px 30px 20px;
}
#tickets-row .tickets-col-1 .pre-title {
   color:#cdddde;
   line-height:1.1;
   font-size:42px;
   margin:0 0 10px 0;
   font-family:brandon-grotesque, sans-serif;
}
#tickets-row .tickets-col-1 h2 {
   color:#fff;
   font-size:58px;
   line-height:1;
   font-weight:700;
   text-transform:uppercase;
   font-family:brandon-grotesque, sans-serif;
}
#tickets-row .tickets-col-2 {
   width:28%;
   background:#1c1a18;
   padding:0 30px;
   display:flex;
}
#tickets-row .align-bottom {
   display:flex;
   flex-direction:column;
   align-self:flex-end;
}
#tickets-row .tickets-col-2 h3 {
   color:#ffda33;
   font-size:48px;
   font-weight:500;
   line-height:1.1;
   margin:0 0 60px 0;
   text-transform:uppercase;
   font-family:brandon-grotesque, sans-serif;
}
#tickets-row h3 span.alt-color-1 {
   display:block;
   color:#6e9ca1;
   font-size:36px;
   font-weight:700;
   margin-top:15px;
}
#tickets-row .tickets-col-3 {
   width:28%;
   background:#1c1a18;
   padding:0 30px;
   display:flex;
}
#tickets-row .tickets-col-3 h3 {
   color:#ffda33;
   font-size:48px;
   font-weight:400;
   line-height:1.1;
   margin:0 0 60px 0;
   text-transform:uppercase;
   font-family:brandon-grotesque, sans-serif;
}
#tickets-row .tickets-col-3 h3 span.alt-color-2 {
   display:block;
   margin:15px 0 15px 0;
   color:#736e56;
   font-size:26px;
   font-weight:300;
}
#tickets-row a.button {
   padding-left:20px;
   padding-right:20px;
}

/* news row(s) - option to show manually created row OR latest post row */
.full-bg-image {
   width:100%;
   background-repeat:        no-repeat;
   background-position:      center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
#home-recent-news-row {
   display:flex;
}
#home-recent-news-row .thumbnail-col {
   width:40%;
   border-right:12px solid #fff;
}
#home-recent-news-row .content-col {
   width:60%;
   padding:35px 0 20px 45px;
   background:#ebebea url(assets/images/bg-arch.png) no-repeat right 90%;
}
#home-recent-news-row .content-col .inner {
   width:57%;
}
#home-recent-news-row .content-col h2.news-heading {
   color:#9b0f0f;
   font-size:18px;
   font-weight:500;
   text-transform:uppercase;
}
#home-recent-news-row .content-col h2.post-title {
   font-size:48px;
   font-weight:400;
   font-family:brandon-grotesque, sans-serif;
}

/* support la crosse symphony dual buttons */
.support-content-col {
   position:relative;
}
.dual-buttons {
   width:95%;
   position:absolute;
   display:flex;
   left:0;
   bottom:-60px;
   background:url(assets/images/bg-xylophone.jpg) no-repeat center center;
}
.dual-buttons a {
   display:block;
   width:50%;
   padding:55px 20px;
   text-align:center;
   color:#fff;
   font-weight:400;
   font-size:26px;
   line-height:1.1;
   text-transform:uppercase;
}
.dual-buttons a span {
   font-weight:700;
   display:block;
   font-size:36px;
}
.dual-buttons a.button-left {
   background:rgba(209,84,26,0.9);
}
.dual-buttons a.button-right {
   background:rgba(142,13,13,0.9);
}
.dual-buttons a:hover {
   background:rgba(26,124,132,0.9);
}

/* dynamic spotlight / meet the musician row (can be manual row or dynamic) */
#home-meet-musician-row .pagewidth-1540 {
   display:flex;
}
#home-meet-musician-row .thumbnail-col {
   width:38%;
   border-left:12px solid #fff;
}
#home-meet-musician-row .content-col {
   width:62%;
   background:#fff;
   padding:20px 130px 40px 60px;
}
#home-meet-musician-row .content-col h2.big-heading {
   color:#9d9994;
   font-size:70px;
   font-weight:700;
   margin:0;
   padding:0;
   text-transform:uppercase;
   font-family:brandon-grotesque, sans-serif;
}
#home-meet-musician-row .content-col .post-excerpt {
   margin-bottom:30px;
}

/* education programs */
.image-mixup img:nth-child(1) {

}

/* ======================= Theme helpers ======================= */
.hidden {
	display:none;
}
br.clear {
	clear:both;
	display:block;
	height:1px;
	margin:-1px 0 0 0
}
.dont-break-out {
	/* this will contain long strings (like URLs) from exiting their container */
  	overflow-wrap: break-word;
  	word-wrap: break-word;
  	-ms-word-break: break-all;
  	/* Instead use this non-standard one: */
  	word-break: break-word;
  	/* Adds a hyphen where the word breaks, if supported (No Blink) */
  	-ms-hyphens: auto;
  	-moz-hyphens: auto;
  	-webkit-hyphens: auto;
  	hyphens: auto;
}

/* ======================= Presentational classes generated by WordPress ======================= */
.aligncenter {
	display:block;
	margin:0 auto;
}
.alignleft {
	float:left;
}
.alignright {
	float:right;
}
img.alignright {
	margin:0 0 10px 20px;
}
img.alignleft {
	margin:0 20px 10px 0;
}
/* WP captions */
.wp-caption	{
	margin:0 0 20px 0;
}
.wp-caption.alignleft {
	margin-right:20px;
}
.wp-caption.alignright {
	margin-left:20px;
}
p.wp-caption-text {
	margin:5px 0 0 0;
	font-style:italic;
	font-size:14px;
}

/* ======================= Plugin Styling ======================= */
.buttonWidgetAnnotation a,
.customHtmlAnnotation,
.customVideoAnnotation,
a.customLinkAnnotation,
a.dp-autolink,
a.linkAnnotation,
section.linkAnnotation a {
   opacity: 0 !important;
}

/* popup maker (only for homepage video #ID) */
#pum-3811 a.button {
   display: block !important;
   width: 250px !important;
   padding: 10px !important;
   margin: 15px auto 0 auto !important;
}
@media(max-width:700px) {
   #pum-3811 .pum-container {
      box-shadow: none !important;
      border: none !important;
      background: none !important;
   }
   #pum-3811 .pum-container iframe {
      max-width: 100% !important;
   }
   #pum-3811 button.pum-close {
      right: 20px !important;
   }
}

/* ======================= Theme custom short codes ======================= */
/* horizontal rule */
div.hr, hr {
	width:100%;
	height:1px;
	clear:both;
	margin:20px 0;
	background:#ccc;
}

/* ======================= Responsive helper ======================= */
#dimensions {
	position:fixed;
	width:70px;
	top:85px;
	left:0px;
	z-index:10000;
	font-size:10px;
	text-align:center;
	background:rgba(255,255,255,0.7);
	color:#222;
}

@media (max-width: 1840px) {
   .pagewidth-1800 {
      width:100%;
      padding-left:20px;
      padding-right:20px;
   }
   .support-content-col {
      width:100%;
   }
   .support-dead-column {
      display:none !important;
   }
}

@media (max-width: 1800px) {
   #masthead ul#nav > li > a {
      font-size:18px;
   }
   #masthead ul#nav li ul.sub-menu li a {
      font-size:18px;
   }
   #masthead ul#nav li ul.sub-menu li span.arrow {
      top:23px;
   }
   #masthead ul#nav li ul.sub-menu {
      padding-left:75px;
   }
   .informative .media-left-col > .fl-col-content {
      width:100%;
      margin-left:0;
   }
   .fl-node-5fb2f92ed5e1d > .fl-col-content {
      margin-left:0;
   }
   .informative .media-left-col img {
      max-width:100%;
   }
   .right-content-col > .fl-col-content {
      margin-left:0 !important;
   }
   .prog-sched-row .program-col h2,
   .prog-sched-row .schedule-col h2 {
      font-size:40px !important;
   }
   .prog-sched-row .link-arrow {
      margin-left:-50px;
   }
   .prog-sched-row .link-arrow a.fl-button span {
      font-size:22px !important;
   }
   .link-arrow a.fl-button span.fl-button-text::before {
      top:14px;
   }
   .link-arrow a.fl-button span.fl-button-text::after {
      top:5px;
   }
}

@media (max-width: 1650px) {
   #masthead .logo {
      width:400px;
   }
   #masthead .logo::before {
      width:430px;
      height:110px;
   }
   #masthead .logo::after {
      height:110px;
      left:440px;
   }
   #masthead .nav-wrap {
      width:calc(100% - 400px);
   }
   #masthead ul#nav {
      margin-top:75px;
   }
   #masthead ul#nav > li > a {
      padding-left:15px;
      padding-right:15px;
   }
   #masthead #topbar .button-wrap a {
      font-size:26px;
   }
   #main-heading {
      border-left:20px solid #1b8490;
   }
   #main-heading::before {
      display:none;
   }
   #connect .title-col {
      margin:0;
   }
   #connect.has-video .social-col {
      width:25%;
   }
   #connect.no-video .social-col {
      width:65%;
   }
}

@media (max-width: 1600px) {
   #main-heading .pagewidth {
      width:100%;
   }
   #footer .footer-left {
      width:25%;
   }
   #footer .footer-left .inner {
      padding-right:20px;
   }
   #footer .footer-left .inner img {
      display:block;
      margin:0 auto;
   }
   #footer .footer-right {
      width:75%;
   }
   .informative .media-left-col img {
      max-width:100%;
   }
}

@media (max-width: 1540px) {
   .pagewidth {
      width:100%;
      padding-left:20px;
      padding-right:20px;
   }
   #home-meet-musician-row .pagewidth-1540 {
      width:100%;
      padding:0;
   }
   #breadcrumbs {
      padding:5px 20px 5px 55px;
   }
   #connect .title-col h2 {
      font-size:72px;
   }
   #connect .title-col h2 span {
      font-size:38px;
   }
   .events-wrap .event .feat-img {
      width:50%;
   }
   .events-wrap .event .preview {
      width:50%;
   }
   #tickets-row .tickets-col-1 .pre-title {
      font-size:34px;
   }
   #tickets-row .tickets-col-1 h2 {
      font-size:42px;
   }
   #tickets-row .tickets-col-2 {
      width:24%;
   }
   #tickets-row .tickets-col-2 h3 {
      font-size:36px;
      margin-bottom:30px;
   }
   #tickets-row .tickets-col-3 {
      width:32%;
   }
   #tickets-row .tickets-col-3 h3 {
      font-size:36px;
      margin-bottom:30px;
   }
}

@media (max-width: 1425px) {
   #masthead .nav-wrap {
      display:none;
   }
   #masthead #logo-menu {
      padding-bottom:15px;
   }
   #masthead #logo-menu a.menu-toggle {
      display:block;
   }
   #main-heading h1,
   #main-heading .faux-h1 {
      font-size:70px;
   }
   #footer .footer-right .menu-row ul li a {
      font-size:18px;
   }
   #footer .footer-right .connect-row .inner {
      padding:30px 20px 20px 40px;
   }
   .prog-sched-row .program-col,
   .prog-sched-row .schedule-col {
      width:100% !important;
      float:none !important;
   }
   .prog-sched-row .button-col {
      width:100% !important;
      float:none !important;
   }
   .prog-sched-row .link-arrow {
      margin:-18px 0 15px 70px;
   }
   /* paragraph content */
   .fl-node-5fb53fb936590 .fl-module-content {
      margin-right:0px !important;
   }
}

@media (max-width: 1300px) {
   #connect::before {
      height:250px;
   }
   .events-wrap .event .preview {
      padding:30px 20px;
   }
   /* support row content padding */
   .fl-node-5fb54a232e46b > .fl-col-content {
      padding-left:0 !important;
   }
}

@media (max-width: 1200px) {
   .pagewidth-1200 {
      width:100%;
      padding-left:20px;
      padding-right:20px;
   }
   #main-heading .pagewidth {
      padding:60px 20px 10px 20px;
      background:none;
   }
   #main-heading h1,
   #main-heading .faux-h1 {
      font-size:50px;
   }
   #breadcrumbs {
      padding-left:42px;
      line-height:1.2;
   }
   #connect .title-col {
      padding-right:20px;
   }
   #connect .social-col {
      width:27%;
   }
   #connect .video-col {
      width:38%;
   }
   .events-wrap .event .preview .excerpt {
      margin-bottom:40px;
      font-size:18px;
   }
   .education-programs-row h2 {
      font-size:72px !important;
   }
   .education-programs-row h3 {
      font-size:36px !important;
   }
   body.single #primary.pagewidth {
      padding-right:20px;
   }
   body.search .fl-builder-content > .fl-row-fixed-width {
      padding-right:0;
   }
   .pp-content-post-grid .pp-content-post .pp-content-grid-inner {
      padding:20px 20px 50px 20px !important;
   }
}

@media (max-width: 1100px) {
   #connect .title-col {
      width:100%;
      float:none;
      padding:40px 0 30px 0;
   }
   #connect .title-col h2 {
      text-align:center;
   }
   #connect .title-col h2 span {
      text-align:center;
   }
   #connect.has-video .social-col {
      width:41%;
      padding-top:0;
   }
   #connect.has-video .video-col {
      width:59%;
      padding-top:0;
   }
   /* no video */
   #connect.no-video .social-col {
      width:100%;
      padding-top:0;
      text-align:center;
   }
   #connect.no-video .social-col a {
      display:inline-block;
      float:none;
   }
   #connect.no-video .video-col {
      width:100%;
      padding-top:0;
   }
   #footer .footer-right .menu-row ul li a {
      padding-left:15px;
      padding-right:15px;
   }
   #footer .footer-right .connect-row .inner .address-col {
      width:100%;
      float:none;
   }
   #footer .footer-right .connect-row .inner .social-col {
      width:100%;
      float:none;
      padding-top:30px;
      margin-left:-5px;
   }
   #footer .footer-right .connect-row .inner .address-col {
      font-size:18px;
   }
   .events-wrap .event .preview a.button.open {
      width:auto;
   }
   #tickets-row .inner-row {
      padding-bottom:20px;
   }
   #tickets-row .inner-row > .pagewidth {
      flex-wrap:wrap;
   }
   #tickets-row .tickets-col-1 {
      width:100%;
      padding-top:50px;
   }
   #tickets-row .tickets-col-2 {
      width:calc(50% - 20px);
      padding:20px;
   }
   #tickets-row .tickets-col-3 {
      width:calc(50% - 20px);
      padding:20px;
   }
   .education-programs-row {

   }
   .fl-node-5fb53b5072e33 .fl-photo-content {
      margin-bottom:30px;
   }
   .fl-node-5fb53a450975f .fl-module-content {
      margin-left:50px !important;
   }
}

@media (max-width: 1000px) {
   #alert-bar {
      height:auto;
      line-height:1;
      padding:5px 0;
      font-size:16px;
   }
   .flyout-menu .inner {
      padding:20px 20px 50px 20px;
   }
   .flyout-menu .inner a.flyout-logo {
      display:block;
      width:calc(100% - 120px);
   }
   .flyout-menu ul > li span.arrow {
      display:none;
   }
   #masthead #topbar {
      height:50px;
   }
   #masthead #topbar .search-wrap {
      width:50%;
      display:block;
      float:left;
      margin:0;
      padding-top:7px;
   }
   #masthead #topbar .search-wrap input.search-text {
      height:36px;
      line-height:36px;
   }
   #masthead #topbar .search-wrap button.searchsubmit {
      font-size:26px;
      height:35px;
   }
   #masthead #topbar .button-wrap {
      width:50%;
      display:block;
      float:right;
   }
   #masthead #topbar .button-wrap a {
      display:inline-block;
      float:none;
      font-size:18px;
      width:auto;
      height:50px;
      padding:0 10px;
      line-height:50px;
      background-image:none !important;
   }
   #masthead #topbar .button-wrap a.give {
      margin-right:0;
   }
   #masthead #logo-menu::after {
      background:none;
   }
   #masthead .logo {
      padding-top:20px;
   }
   #masthead .logo::before {
      height:70px;
   }
   #masthead .logo::after {
      height:70px;
   }
   #masthead #logo-menu a.menu-toggle {
      bottom:5px;
   }
   #breadcrumbs {
      font-size:16px;
   }
   #footer {
      display:block;
   }
   #footer .footer-left {
      width:100%;
      float:none;
   }
   #footer .footer-left .inner {
      padding:30px;
   }
   #footer .footer-left .inner {
      width:100%;
      float:none;
   }
   #footer .footer-left .inner img {
      width:320px;
      max-width:100%;
   }
   #footer .footer-right {
      width:100%;
      float:none;
   }
   #footer .footer-right::after {
      display:none;
   }
   #footer .footer-right .menu-row ul {
      background:#76b5bc;
      text-align:center;
      margin:0;
   }
   #footer .footer-right .menu-row ul li {
      display:inline-block;
      float:none;
   }
   #footer .footer-right .menu-row ul li:first-child a {
      border:none;
   }
   #footer .footer-right .connect-row .inner {
      padding:30px 20px;
      text-align:center;
   }
   #footer .footer-right .connect-row .inner .social-col {
      text-align:center;
      margin:0;
   }
   #footer .footer-right .connect-row .inner .social-col a {
      display:inline-block;
      float:none;
   }
   .events-wrap {
      display:block;
      height:auto;
   }
   .events-wrap .event {
      display:flex;
      width:100% !important;
      border:none !important;
   }
   .events-wrap .event .feat-img {
      height:auto;
   }
   .events-wrap .event:nth-of-type(1) {
      display:flex;
   }
   .events-wrap .event .feat-img {
      width:50% !important;
   }
   .events-wrap .event:nth-of-type(1) .preview .inner {
      opacity:1 !important;
   }
   .events-wrap .event:nth-of-type(2),
   .events-wrap .event:nth-of-type(3) {
      display:none;
   }
}

@media (max-width: 900px) {
   .prog-sched-row .link-arrow {
      margin:-18px 0 15px 0px;
   }
   .prog-sched-row .program-col .fl-module-content {
      margin-left:-8px;
   }
   .prog-sched-row .schedule-col .fl-module-content {
      margin-left:18px;
   }
   .education-programs-row h2 {
      font-size:60px !important;
   }
   .dual-buttons a {
      font-size:22px;
   }
   .dual-buttons a span {
      font-size:26px;
   }
}

@media (max-width: 800px) {
   .events-wrap .event .preview a.button.open {
      margin-bottom:20px;
   }
   .events-wrap .event .preview a.button.open:nth-of-type(2) {
      margin-bottom:0px;
   }
}

@media (max-width: 768px) {
   .informative .fl-col-group {
      flex-direction:column-reverse;
   }
   .prog-sched-row .fl-col-group > .fl-col {
      width:100%;
      max-width:100% !important;
   }
   #home-recent-news-row {
      display:block;
   }
   #home-recent-news-row .thumbnail-col {
      width:100%;
      border-right:none;
      height:500px;
      border-bottom:12px solid #fff;
   }
   #home-recent-news-row .content-col {
      width:100%;
      padding:30px 20px 20px 20px;
   }
   #home-recent-news-row .content-col .inner {
      width:100%;
   }
   /* home program/schedule button row */
   .fl-node-5fb43ec589015 .fl-module-content {
      padding-top:20px;
   }
   .fl-node-5fb43ec589015 p {
      margin:0 !important;
   }
   .prog-sched-row .program-col .fl-module-content {
      margin-left:18px;
   }
   .prog-sched-row .program-col .fl-module-content h2,
   .prog-sched-row .schedule-col .fl-module-content h2 {
      text-align:center;
   }
   .prog-sched-row .link-arrow .fl-button-wrap {
      text-align:center !important;
   }
   .prog-sched-row .link-arrow .fl-button-wrap a.fl-button {
      display:inline-block;
      margin-left:-40px;
   }
   .fl-node-5fb53a450975f .fl-module-content {
      margin-left:20px !important;
      margin-right:20px !important;
   }
   .dual-buttons {
      position:static;
   }
   #home-meet-musician-row > .fl-row-content-wrap {
      background:none !important;
   }
   #home-meet-musician-row .pagewidth-1540 {
      display:block;
   }
   #home-meet-musician-row .thumbnail-col {
      width:100%;
      height:500px;
      border-left:none;
      border-bottom:12px solid #fff;
   }
   #home-meet-musician-row .content-col {
      width:100%;
      background:#fff;
      padding:0 0 40px 0;
   }
   #home-meet-musician-row .content-col h2.big-heading {
      font-size:60px;
   }
}

@media (max-width: 767px) {
   #masthead #topbar .search-wrap {
      width:calc(100% - 170px);
   }
   #masthead #topbar .button-wrap {
      width:170px;
   }
   #masthead #topbar .button-wrap a span {
      display:none;
   }
   #main-heading .pagewidth {
      padding-top:30px;
   }
   #main-heading h1,
   #main-heading .faux-h1 {
      font-size:36px;
   }
   .red-cta .fl-cta-text h3 {
      text-align:center;
   }
   .red-cta .fl-cta-button .fl-button-wrap a {
      background-position:center center !important;
   }
   .events-wrap .event .feat-img .date-box span.day {
      font-size:22px;
   }
   .events-wrap .event .feat-img .date-box span.month,
   .events-wrap .event .feat-img .date-box span.year {
      font-size:26px;
   }
   .events-wrap .event .preview h3 {
      font-size:38px;
   }
   #tickets-row .inner-row > .pagewidth {
      display:block;
   }
   #tickets-row .tickets-col-2 {
      width:100%;
      margin:0 0 20px 0;
   }
   #tickets-row .tickets-col-3 {
      width:100%;
   }
}

@media (max-width: 700px) {
   #connect {
      margin-bottom:30px;
   }
   #footer .footer-right .menu-row ul {
      padding:12px 0 10px 0;
   }
   #footer .footer-right .menu-row ul li {
      display:block;
      line-height:1;
   }
   #footer .footer-right .menu-row ul li a {
      padding:10px 0;
      height:auto;
      line-height:1;
   }
   h2.fl-callout-title {
      line-height:1.2 !important;
   }
}

@media (max-width: 600px) {
   #masthead .logo {
      width:calc(100% - 80px);
      padding-left:0px;
      padding-right:20px;
   }
   #masthead .logo img {
      width:350px;
      max-width:100%;
   }
   #masthead .logo::before,
   #masthead .logo::after {
      display:none;
   }
   #breadcrumbs {
      display:none;
   }
   #upcoming-events h2 {
      font-size:72px;
      margin-top:40px;
      margin-bottom:-18px;
   }
   .events-wrap .event:nth-of-type(1) {
      display:block;
   }
   .events-wrap .event:nth-of-type(1) .feat-img {
      width:100% !important;
      height:270px;
      float:none;
   }
   .events-wrap .event:nth-of-type(1) .feat-img .date-box {
      background:rgba(255,218,51,0.8);
   }
   .events-wrap .event:nth-of-type(1) .preview {
      width:100%;
      float:none;
   }
   #home-recent-news-row .thumbnail-col {
      height:350px;
   }
   #home-meet-musician-row .thumbnail-col {
      height:350px;
   }
   #connect.has-video .social-col {
      text-align:center;
      width:100%;
      float:none;
   }
   #connect.has-video .social-col a {
      display:inline-block;
      float:none;
      max-width:60px;
      margin:0 4px;
      padding:0;
   }
   #connect.has-video .social-col a:hover {
      margin-top:0;
   }
   #connect.has-video .video-col {
      width:100%;
      float:none;
   }
   .pp-content-post a.button {
      width:auto;
   }
   body.single h1 {
      font-size:36px;
      line-height:1.1;
   }
}

@media (max-width: 500px) {
   body {
      font-size:18px;
   }
   h2:not(body.home) {
      font-size:38px !important;
   }
   a.button,
   a.fl-button {
      font-size:18px;
      line-height:1.2;
      padding-left:20px !important;
      padding-right:20px !important;
   }
   .flyout-menu a.close-flyout {
      top:20px;
      right:20px;
   }
   #masthead #logo-menu a.menu-toggle {
      bottom:-5px;
      right:20px;
   }
   .prog-sched-row .program-col h2,
   .prog-sched-row .schedule-col h2 {
      font-size:36px !important;
   }
   #tickets-row .tickets-col-1 .pre-title {
      font-size:26px;
   }
   .education-programs-row h2 {
      font-size:40px !important;
   }
   .education-programs-row h3 {
      font-size:30px;
   }
   #home-recent-news-row .thumbnail-col {
      height:320px;
   }
   #home-meet-musician-row .thumbnail-col {
      height:320px;
   }
   /* home video title */
   .fl-node-5fb5786aebba3.fl-module-heading .fl-heading {
      font-size:42px;
   }
   #upcoming-events h2 {
      font-size:50px;
      margin-bottom:-12px;
   }
   #tickets-row .tickets-col-1 {
      padding:50px 0 35px 0;
   }
   #tickets-row .tickets-col-1 .pre-title {
      font-size:26px;
      line-height:1.1;
   }
   #tickets-row .tickets-col-1 h2 {
      font-size:30px !important;
   }
   #tickets-row .tickets-col-3 h3 {
      font-size:30px;
   }
   #connect .title-col h2 {
      font-size:45px;
   }
   #connect .title-col h2 span {
      font-size:30px;
   }
   .dual-buttons {
      width:100%;
      display:block;
   }
   .dual-buttons a {
      width:100%;
      padding:35px 20px;
   }
   h2.fl-callout-title {
      font-size:26 !important;
   }
   .fl-callout-text {
      font-size:22 !important;
   }
   h1.fl-heading {
      font-size:36px !important;
   }
   /* search */
   body.search .searchform input {
      width:calc(100% - 50px);
   }
}

@media (max-width: 400px) {
   #masthead #topbar .search-wrap {
      width:100%;
   }
   #masthead #topbar .search-wrap input.search-text {
      color:rgba(255,255,255,0.5);
   }
   #masthead #topbar .button-wrap {
      display:none;
   }
   #masthead #logo-menu a.menu-toggle {
      font-size:36px;
   }
}