   /*
   
   Theme Name: BMFI 2019
   Text Domain: bmfi2019
   Author: Zero Defect Design LLC
   Author URI: https://zerodefectdesign.com
      
   */
   
   
   /* fonts */
   
   @font-face { font-family: 'nf'; font-weight: 300; font-style: normal; src: url('fonts/bmfi300.woff2') format('woff2'),url('fonts/bmfi300.woff') format('woff'); }  
   @font-face { font-family: 'nf'; font-weight: 300; font-style: italic; src: url('fonts/bmfi300i.woff2') format('woff2'),url('fonts/bmfi300i.woff') format('woff'); }
   @font-face { font-family: 'nf'; font-weight: 400; font-style: normal; src: url('fonts/bmfi400.woff2') format('woff2'),url('fonts/bmfi400.woff') format('woff'); }  
   @font-face { font-family: 'nf'; font-weight: 400; font-style: italic; src: url('fonts/bmfi400i.woff2') format('woff2'),url('fonts/bmfi400i.woff') format('woff'); } 
   @font-face { font-family: 'nf'; font-weight: 600; font-style: normal; src: url('fonts/bmfi600.woff2') format('woff2'),url('fonts/bmfi600.woff') format('woff'); }
   @font-face { font-family: 'nf'; font-weight: 600; font-style: italic; src: url('fonts/bmfi600i.woff2') format('woff2'),url('fonts/bmfi600i.woff') format('woff'); }

   /* resets + standards */
   
   * 
   { 
      box-sizing: border-box; border: none; outline: none; text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-kerning: auto; 
   }
   html { height: 100%; -webkit-text-size-adjust: 100%; }
   body { margin: 0px; padding: 0px; }
   *:before, *:after { box-sizing: inherit; } 
   .cf:before, .cf:after { content: " "; display: table; }
   .cf:after { clear: both; }
   table { border: 0; padding: 0; border-spacing: 0px; border-collapse: collapse; }   
   input[type=text], input[type=email], input[type=password], input[type=submit], textarea, select, button
   { 
      -webkit-appearance: none; -moz-appearance: none; 
      background-color: #EFEFEF; color: #000000; padding: 3px 6px; 
   }
   select 
   { 
      padding-right: 40px; background: transparent url('images/icon-angle-down.svg') right center no-repeat !important;
      background-size: 14px auto !important; background-position: right 10px top 4px !important;
   }
	select.flatpickr-monthDropdown-months { background-image: none !important; }
   label { cursor: pointer; }
	sup, sub { vertical-align: baseline; position: relative; top: -0.4em; }
	sub { top: 0.4em; }
   
   /* themes */
   
   :root { --hd: #C23C33; --link: #C23C33; --hover: #9DAAA9; } 
   body.section-about { --hd: #9DAAA9; --link: #6E6E6E; } /* , body.section-films, body.category-films */
   body.section-education, body.category-film-studies { --hd: #9AB462; --link: #8BA258; }
   body.section-join, body.category-special-events { --hd: #74C2BE; --link: #74C2BE; }
   body.section-support { --hd: #E69704; --link: #E69704; }
   body.subsection-stage-on-screen { --hd: #727473; --link: #727473; }
   body.subsection-series, body.section-series { --hd: #E0C000; --link: #CDB000; }
   body.subsection-cinema-select { --hd: #95C6C0; --link: #88B5B0; }
   

   /* section labels */

   .has-label { position: relative; }
   .has-label .label 
   { 
      position: absolute; bottom: 0px; left: 0px; right: 0px; padding: 3px 4px 2px 4px; letter-spacing: 1px;
      font-size: 12px; line-height: 14px; text-transform: uppercase; font-weight: 600;
   }
   .label-red { color: #FFFFFF; background-color: #C23C33; }
   .label-films, .label-grey { color: #FFFFFF; background-color: #9DAAA9; }
   .label-education { color: #FFFFFF; background-color: #9AB462; }
   .label-black { color: #FFFFFF; background-color: #000000; }
   .label-join { color: #FFFFFF; background-color: #74C2BE; }
   .label-support { color: #FFFFFF; background-color: #E69704; }
   .label-stage { color: #FFFFFF; background-color: #727473; }
   .label-series { color: #FFFFFF; background-color: #E0C000; }
   .label-royal { color: #FFFFFF; background-color: #003091; }
   
   /* structure */
   
   .frame { padding-left: 5vw; padding-right: 5vw; }
   .content { display: flex; align-items: flex-start; padding-top: 50px; padding-bottom: 30px; }
   .primary { flex-basis: 75%; padding-right: 4.5vw; }
   .secondary { flex-basis: 25%; padding-left: 1.5vw; font-size: 17px; line-height: 20px; }
   .secondary div { margin-bottom: 30px; }
   #hd { background-color: #000000; }
   .content { background-color: #FFFFFF; }
   .secondary ul { list-style-type: none; margin: 0px; padding: 0px; }
   .secondary ul li { padding: 4px 0px 8px 0px; margin: 0px; line-height: 110% }
   ul.search-results li { margin-bottom: 15px; }
   .light { opacity: 0.6; }
   
   #topline { background-color: #303434; display: flex; justify-content: space-between; align-items: center; }
   #topline div { flex-basis: 50%; flex-grow: 1; flex-shrink: 1; margin: 0px -5px; }
   #topline div:last-child { text-align: right; }
   #topline a 
   { 
      color: var(--hd); display: inline-block; padding: 6px 5px 4px 5px; background-repeat: no-repeat; background-position: center center; background-size: auto 50%; 
      font-weight: 600; text-transform: uppercase;
   }
   #topline a:hover { color: #FFFFFF; opacity: 1; }
   
   #topline a.cart { width: 36px; background-image: url('images/icon-shopping-cart.svg'); position: relative; }
   #topline a.signin { padding-left: 26px; background-image: url('images/icon-user-circle.svg'); background-position: left center; position: relative; }
   
   .social a.facebook { width: 26px; background-image: url('images/icon-facebook.svg'); opacity: 0.5; }
   #topline .social a.facebook { background-position: 60% center !important; background-size: auto 45% !important; }
   .social a.twitter { width: 26px; background-image: url('images/icon-twitter.svg'); opacity: 0.5; background-position: center center; }   
	.social a.tiktok { width: 26px; background-image: url('images/icon-tiktok.svg'); opacity: 0.5; background-position: center center; }   
   .social a.instagram { width: 26px; background-image: url('images/icon-instagram.svg'); opacity: 0.5; background-position: center center; }
   .social a.vimeo { width: 26px; background-image: url('images/icon-vimeo.svg'); opacity: 0.5; background-position: center center; }
            
   #topline a.give { padding-left: 26px; background-image: url('images/icon-heart.svg'); margin-left: 10px; background-position: left center; }
   
   #announce, a #announce 
   { 
      display: block; color: #FFFFFF; background-color: #C23C33; padding: 5px 10px; 
      font-size: 125%; line-height: 125%; font-weight: 400; text-align: center; 
   }
   a:hover #announce { color: #FFFFFF; background-color: #9DAAA9; }
   
   /* type */

   body { background-color: #000000; }
   body, input, textarea, select, table { font: 400 18px/26px 'nf', sans-serif; color: #000000; }
   select, label, button { cursor: pointer; }
   b { font-weight: 600; }
   h2, h2 select { font-weight: 300; font-size: 40px; line-height: 48px; text-transform: uppercase; }
   .ord, h2 .ord { text-transform: none; }
	h1 { font-size: 2em; line-height: 1.2; font-weight: 600; }
	h1 sup, h2 sup, h3 sup, #announce sup { font-weight: 300; font-size: 50%; top: -0.6em; margin-right: 0.3em; }
   h2 { margin: 0 0 0.5em 0; }
   h2 .subtitle { font-size: 32px; line-height: 38px; color: #9DAAA9; }
   h2 select
   {
      padding-right: 30px; background: #EFEFEF url('images/icon-angle-down.svg') right center no-repeat; 
      background-size: 20px auto; border-right: 10px solid #EFEFEF;
   }
   h3 { font-weight: 600; font-size: 24px; line-height: 32px; }
   h5 
   { 
      font-weight: 600; font-size: 17px; line-height: 23px; border-top: 10px solid #9DAAA9; padding: 10px 0px; 
      margin: 0px 0px 5px 0px; text-transform: uppercase; letter-spacing: 1px;
   }
   h6 { font-weight: 600; font-size: 17px; line-height: 23px; text-transform: uppercase; letter-spacing: 1px; margin: 0px 0px 20px 0px; }
   ul.post-list li { margin-bottom: 6px; }
   ul.post-list li .date { color: #6E6E6E; font-size: 90%; font-weight: 600; }
   .showtime-past 
   { 
      display: inline-block; padding: 1px 2px; margin-top: 3px; font-size: 100%; color: #BCBCBC; line-height: 100%;
      border: 1px dotted #BCBCBC; white-space: nowrap; 
   }
   .divided { margin-top: 1em; padding-top: 1em; border-top: 1px solid #9DAAA9; }
	hr { width: 100%; height: 2px; background: #cccccc; overflow: hidden; padding: 0; display: block; border: 0; margin: 1em 0; }
   
   /* links */
   
   a { text-decoration: none; color: var(--link); }
   .primary p a, .primary li a, .primary dd a { color: #000000; border-bottom: 1px solid var(--link); }
   .primary p a:hover, .primary li a:hover, .primary dd a:hover { color: var(--link); }
   .secondary a:hover { color: #000000; opacity: 1; }
   .breadcrumbs { display: block; margin: 0px 0px 15px 0px; }
   .breadcrumbs a { text-transform: uppercase; letter-spacing: 1px; }
   .btn, a.btn, .wpforms-submit, .wpforms-form button[type=submit], a.showtime, a.tag
   { 
      color: var(--link); background-color: #FFFFFF;
      border: 1px solid var(--hd) !important; padding: 6px 10px 4px 10px; cursor: pointer; text-transform: uppercase; 
      font-size: 90%; line-height: 150%; white-space: nowrap;
   }
   a.showtime, a.tag 
   { 
      padding: 1px 2px; line-height: 100%; display: inline-block; text-transform: none; font-size: 100%; 
      font-weight: 400; margin-top: 3px;
   }
   a.tag { padding: 2px 4px; }
   .btn:hover, a.btn:hover, .primary .btn:hover, a.showtime:hover, a.tag:hover, button, input[type=submit], .wpforms-submit:hover, .wpforms-form button[type=submit]:hover 
   { 
      color: #FFFFFF; background-color: var(--hd); 
   }
   button:hover, input[type=submit]:hover { border-color: #000000; background-color: #000000; }
   .btn.primary, a.btn.primary { color: #FFFFFF; background-color: var(--hd); }
   .btn.primary:hover, a.btn.primary:hover { color: var(--link); background-color: #FFFFFF; }
   .wp-block-table a.btn { padding: 3px 5px 2px 5px; }
   div.wpforms-container-full .wpforms-form input[type=submit], div.wpforms-container-full .wpforms-form button[type=submit], div.wpforms-container-full .wpforms-form .wpforms-page-button
   {
      font: 400 18px/26px 'nf', sans-serif; text-transform: uppercase; border-color: var(--link) !important; !important; color: #FFFFFF !important; background-color: var(--link) !important;
      padding: 6px 10px 4px 10px !important;
   }
   div.wpforms-container-full .wpforms-form input[type=submit]:hover, div.wpforms-container-full .wpforms-form button[type=submit]:hover, 
      div.wpforms-container-full .wpforms-form .wpforms-page-button:hover
   {
      color: var(--link) !important; background-color: #FFFFFF !important;
   }
   
   /* header */
   
   a#bmfi { display: block; background-color: #000000; padding-top: 50px; padding-bottom: 15px; margin-bottom: 0px; }
   a#bmfi img { height: 26px; width: auto; }
   #masthead { background-color: var(--link); }
   
   /* images */
   
   .hero 
   { 
      width: 100%; height: 0px; padding-top: 25%; position: relative;
      background-position: center center; background-repeat: no-repeat; background-size: cover; 
   }
   .featured { margin: 0px 0px 30px 0px; position: relative; }
   .featured img { display: table; width: 100%; height: auto; }
   .hero .caption, .featured .caption
   { 
      position: absolute; bottom: 0px; right: 0px; color: #DEDEDE; background-color: rgba(0,0,0,0.6);
      font-size: 90%; padding: 2px 8px;
   }
   .slug { background-image: url('images/slug.jpg'); }
   .icon 
   { 
      display: inline-block; width: 28px; height: 28px; margin-right: 5px; position: relative; top: 3px;
      background-position: left center; background-size: 28px auto; background-repeat: no-repeat;
   }
   .icon.icon-small { width: 20px; height: 20px; top: 5px; background-size: 20px auto; }
   .icon-closed-captioned { background-image: url('images/icon-closed-captioned.svg'); }
   .icon-descriptive-audio { background-image: url('images/icon-audio-description.svg'); }
	.icon-audio-description { background-image: url('images/icon-audio-description.svg'); }
	.icon.icon-audio-description, .icon.icon-descriptive-audio { width: 36px; background-size: 36px auto; }
	.icon.icon-small.icon-audio-description, .icon.icon-small.icon-descriptive-audio { width: 24px; background-size: 24px auto;  }
		
   .icon-35mm, .icon-16mm, .icon-onfilm { background-image: url('images/icon-reel.svg'); background-size: 22px auto; }
   .icon-35mm-w, .icon-16mm-w, .icon-onfilm-w { background-image: url('images/icon-reel-w.svg'); background-size: 22px auto; }
	.icon-set .icon { width: 28px; height: 28px; background-size: contain; margin-right: 4px; background-position: center center; }
   .daylist .icon { height: 20px; width: 18px; background-size: contain; margin-left: 2px; opacity: 0.9; background-position: center center; }   
	.daylist .icon.icon-audio-description, .daylist .icon.icon-descriptive-audio { width: 28px; }
   .imgRight { float: right; width: 100px; height: auto; margin: 0px 0px 20px 20px; }
   .imgRight { margin-top: 1em; }
   .imgRight img, .imgRight img.imgRight { width: 100px; height: auto; }
   figure a { border-bottom: 0px !important; }
   .overlay 
   { 
      position: absolute; bottom: 0px; left: 0px; color: #FFFFFF; background-color: var(--hd); display: inline-block; padding: 10px 15px; 
      text-transform: uppercase;
   }
   
   /* main menu */
   
   ul#menu { list-style-type: none; margin: 0px; padding: 0px; }
   ul#menu li { list-style-type: none; display: inline-block; margin: 0px 0px 0px 15px; padding: 0px; font-size: 20px; }
   ul#menu li:first-child { margin-left: 0px; }
   ul#menu a { font-weight: 400; color: #FFFFFF; display: inline-block; padding: 5px 0px; }
   ul#menu a:hover { opacity: 0.7; }
   
   #menu li ul 
   { 
      display: none; position: absolute; z-index: 200; margin: -6px 0px 0px -10px; padding: 0px; list-style-type: none; 
   }
   #menu li:hover ul { display: block; text-align: left; }
   #menu li ul li { margin: 0px; padding: 0px; list-style-type: none; text-transform: none; display: block; float: none; }
   #menu li ul li:first-child::before 
   { 
      content: " "; display: block; height: 12px;  border-bottom: 6px solid #E5EBEB;
      background: transparent url('images/icon-triangle.svg') 10px 0px no-repeat; background-size: 10px auto;
   }
   #menu li ul li a 
   { 
      color: #000000; display: block; padding: 4px 10px; background-color: #E5EBEB; /* #DADADA; */
      font-weight: 400; font-size: 17px; line-height: 19px;
   }
   #menu li ul li:last-child { border-bottom: 6px solid #E5EBEB; }
   #menu li ul li a:hover { color: #FFFFFF; background-color: #000000; opacity: 1; }
   #menu a.search 
   { 
      width: 30px; background: transparent url('images/icon-search.svg') center center no-repeat; 
      background-size: auto 60%; 
   }
   
   /* footer */
   
   #footer { color: #CCCCCC; padding-top: 30px; padding-bottom: 60px; display: flex; align-items: flex-start; justify-content: space-between; }
   #footer a { color: var(--hd); }
   #footer b, #footer a:hover { color: #FFFFFF; }
   #footer input[type=email] { color: #FFFFFF; background-color: #333333; border: 0px; width: 100%; display: block; margin: 6px 0px 10px 0px; }
	#footer .charity-nav img { display: block; width: 200px; height: auto; margin: 20px 0 0 0; }
   
   /* tiles */
   
   .tiles { display: flex; margin: 0px -20px; align-items: flex-start; flex-wrap: wrap; }
   .tiles.sponsors { margin-top: 30px; }
   .tile { flex-basis: 33.3333%; padding: 0px 20px 20px 20px; }
   .tiles.sponsors .tile { flex-basis: 25%; }
   .tile img { width: 100%; height: auto; display: table; }
   .tile .img 
   { 
      width: 100%; height: 0; padding-top: 56.25%; position: relative; display: block;
      background-position: center center; background-size: cover; background-repeat: no-repeat;
		margin-bottom: 10px;
   }
   .tile .img .icon-set
	{
		position: absolute; top: 0; left: 0; display: block; background-color: rgba(0,0,0,0.4); padding: 2px 5px; line-height: 1;
	}
		
   .tiles.sponsors .tile .img { background-position: left center; background-size: contain; }
   .tilecap { display: block; }
   .tile a .tilecap { color: #000000; text-transform: uppercase; font-size: 100%; line-height: 100%; }
   .tile a:hover .tilecap { color: var(--link); }
   
   /* controls */
   
   .controls { float: right; margin: 5px 0px 0px 30px; }
   .controls a, .controls span 
   { 
      display: inline-block; margin: 0px 0px 0px 10px; width: 30px; height: 30px; background-position: right center;
      background-repeat: no-repeat; background-size: contain;
   }
   .controls a { opacity: 0.6; }
   .controls a:hover { opacity: 1; }
   .controls .grid { background-image: url('images/icon-grid.svg'); }
   .controls .list { background-image: url('images/icon-list.svg'); }
   
   /* scroll-to-top control + floating anchors */
   
   #totop, a.anchor { position: fixed; display: none; padding: 10px; bottom: 0px; right: 0px; z-index: 85;  background-color: var(--hd); color: #FFFFFF; }
   a.anchor { right: auto; left: 0px; display: inline-block; text-transform: uppercase; padding-top: 5px; }
   #totop:hover, a.anchor:hover { background-color: var(--hover); color: #FFFFFF; }
   #totop img, a.anchor img { width: 26px; height: 26px; }
   #totop img { display: table; }
   a.anchor img { position: relative; top: 7px; margin-left: 3px; }
   
   /* sliders */
   
   .slide 
   { 
      width: 100%; height: 0px; padding-top: 56.25%; position: relative;
      background-position: center center; background-repeat: no-repeat; background-size: cover;
   }
   .slide .caption
   {
      position: absolute; bottom: 0px; right: 0px; padding: 10px; color: #FFFFFF; 
      background-color: rgba(0,0,0,0.6); font-size: 90%; line-height: 1.8vw; 
   }
   body.home .slide .caption
   {
      left: 0px; text-align: center; background-color: rgba(157,170,169,0.7); 
      font-size: 110%; line-height: 120%; text-transform: uppercase;
   }
   .lSSlideOuter { position: relative; z-index: 50; }
   .lSSlideOuter .lSPager.lSpg { position: absolute; top: 10px; left: 0px; right: 0px; text-align: center; }
   .lSSlideOuter .lSPager.lSpg > li a { background-color: rgba(255,255,255,0.6); width: 14px; height: 14px; transition: none; border: 0px; }
   .lSSlideOuter .lSPager.lSpg > li:hover a, .lSSlideOuter .lSPager.lSpg > li.active a { background-color: #FFFFFF; }
   
   /* search control */
   
   #searchcontrol { background-color: #303434; color: #FFFFFF; display: none; }
   #searchcontrol .frame { padding-top: 20px; padding-bottom: 20px; }
   #searchcontrol form { display: flex; }
   #searchcontrol form input { font-size: 22px; line-height: 22px; }
   #searchcontrol form #s 
   { 
      flex-basis: 90%; flex-shrink: 1; background-color: transparent; color: #FFFFFF;  
      padding: 6px 0px; margin-right: 10px; border-bottom: 2px dotted #CCCCCC;
   }
   #searchcontrol form .searchbtn 
   { 
      flex-basis: 10%; flex-grow: 1; flex-shrink: 0; padding: 5px; cursor: pointer; border: 1px solid #CCCCCC;
      background-color: transparent; color: #FFFFFF;
   }
   #searchcontrol form .searchbtn:hover { background-color: var(--link); }
   
   /* mobile menu */
   
   #mobilemenu { position: fixed; top: 0px; left: 0px; right: 0px; background-color: #303434; z-index: 95; display: none; height: 100%; }
   #mobilemenu .frame { padding-top: 20px; padding-bottom: 20px; }
   #mobilemenu ul { list-style-type: none; margin: 0px; padding: 0px; font-size: 24px; line-height: 24px; }
	/*
   #mobilemenu ul ul { display: none; }
	*/
	#mobilemenu a { color: #FFFFFF; }
   #mobilemenu a:hover { color: var(--link); }
   #mobilemenu ul a { display: block; padding: 5px 0px 5px 0px; }
   #mobilemenu a.give, #mobilemenu a.cart, #mobilemenu .social a
   { 
      background-position: left center; background-repeat: no-repeat; background-size: 20px auto; padding-left: 28px; 
   }
   #mobilemenu a.give { background-image: url('images/icon-heart.svg'); }
   #mobilemenu a.cart { background-image: url('images/icon-shopping-cart.svg'); }
   #mobilemenu .social { margin: 10px 0px; }
   #mobilemenu .social a { display: inline-block; width: 30px; margin-right: 5px; opacity: 0.6; }    
   #mobilemenu .social a.facebook { background-size: auto 20px; }
	
	#mobilemenu .zdd_logio { display: none; }
	#mobilemenu .zdd_cart { display: block; margin-top: 10px; }
	
	/*
	#mobile-menu { list-style-type: none; margin: 0px; padding: 80px 0px 0px 0px; color: #FFFFFF; }
	*/

	
   #mobile-menu > li { border-bottom: 1px solid rgba(255,255,255,0.33); padding-right: 50px; }
   #mobile-menu > li.menu-item-has-children 
   { 
      background: transparent url('images/icon-arrow-down.svg') right 9px no-repeat; background-size: 13px auto; 
      cursor: pointer;
   }
   #mobile-menu > li.menu-item-has-children.expanded { background-image: url('images/icon-arrow-up.svg'); }
   #mobile-menu > li > ul { display: none; margin-left: 30px; }   
   #mobile-menu > li.expanded > ul { display: block; list-style-type: disc; margin-bottom: 15px; margin-top: 5px; font-size: 16px; }
   #mobile-menu > li > ul > li a { font-size: 18px; line-height: 1; padding: 7px 0px; }
	
	/* loud donate link */
	
	#mobile-menu .menu-item-18171 { border: none }
	#mobile-menu .menu-item-18171 a { display: inline-block; padding: 3px 10px; margin: 0 0 10px 0; background-color: var(--link); text-transform: uppercase; font-size: 80%; }
	#mobile-menu .menu-item-18171 a:hover { color: #FFFFFF; }
   
   /* expanding lists */
   
   dl.expanding { border-bottom: 1px solid #CCCCCC; }
   dl.expanding dt 
   { 
      padding: 10px 0px; margin: 0px; border-top: 1px solid #CCCCCC; cursor: pointer; 
      display: flex; align-items: flex-start;
   }
   dl.expanding dt::before 
   { 
      display: inline-block; width: 24px; height: 24px; margin-right: 10px; 
      background: transparent url('images/icon-angle-down.svg') center center no-repeat;
      background-size: 10px auto; content: ""; opacity: 1; position: relative; top: 3px;
      border: 1px solid var(--link); border-radius: 50%;
   }
   dl.expanding dt.open::before { background-image: url('images/icon-angle-up.svg'); }
   dl.expanding dt:hover::before { opacity: 1; border-color: #000000; border: 2px solid var(--link); }
   
   dl.expanding dt h3 { margin: 0px; padding: 0px; }
   dl.expanding dd { display: none; margin: 0px; padding: 10px 0px 20px 38px; }
   dl.expanding dd p:first-child { margin-top: 0px; padding-top: 0px; }
   
   /* tables */
   
   .wp-block-table { border-top: 1px solid #CCCCCC; }
   .wp-block-table td, .wp-block-table th { border-bottom: 1px solid #CCCCCC; padding: 5px 10px; }
   .wp-block-table tr td:first-child, .wp-block-table tr th:first-child { padding-left: 0px; }
   .wp-block-table tr td:last-child, .wp-block-table tr th:last-child { padding-right: 0px; }
   table.nolines, table.nolines td { border: none; }
   
   table.eventlist { width: 100%; }
   table.eventlist td { padding: 3px 20px 3px 0px; }
   table.eventlist td:last-child { padding-right: 0px; }
   
   /* mailing list signup */
   
   .mc-field-group { display: flex; align-items: center; margin: 5px 0px; }
   .mc-field-group label { white-space: no-wrap; flex-basis: 150px; flex-grow: 1; flex-shrink: 0; }
   .mc-field-group input, .mc-field-group .datefield { flex-basis: 95%; flex-grow: 1; flex-shrink: 1; }
   .mc-field-group.input-group { display: block; }
   
   /* month grid */
   
   /*
   body.home .secondary::before { display: block; margin: 0px; height: 10px; background-color: #6E6E6E; overflow: hidden; content: " "; }
   body.home #monthdiv h5 { border: 0px; }
   */
   #monthdiv h5 { display: flex; }
   #monthdiv h5 .monthname { flex-basis: 100%; flex-shrink: 1; }
   #monthdiv h5 .prevnext { flex-grow: 1; white-space: nowrap; }
   #monthdiv h5 .prevnext span 
   { 
      cursor: pointer; display: inline-block; width: 20px; height: 20px;
      background-position: right center; background-repeat: no-repeat; background-size: contain; 
   }
   #monthdiv h5 .prevnext span:hover { opacity: 0.6; }
   .prevnext .prev { background-image: url('images/icon-angle-double-left.svg'); }
   .prevnext .next { background-image: url('images/icon-angle-double-right.svg'); }
   
   #calendar { width: 100%; }
   #calendar th, #calendar td { font-size: 16px; text-align: center; border: 1px solid #FFFFFF; padding: 0px; }
   #calendar th { font-weight: 600; }
   #calendar td a, #calendar td span { display: block; text-align: center; padding: 4px 1px; }
   #calendar td .caldate { color: #666666; }
   #calendar td.today span.caldate { color: #000000; border: 1px solid #000000; padding: 3px 0px; }
   #calendar td a, #calendar td a:visited { color: #FFFFFF; background-color: var(--link); }
   #calendar td.today a { color: #FFFFFF; background-color: #000000; }
   #calendar td a:hover, #calendar td a:active, #calendar td.today a:hover { color: #FFFFFF; background-color: var(--hover); }
   
   #monthdiv, #daydiv { opacity: 1; transition: all 0.2s; }
   #daydiv p { transition: all 0.2s; }
   #monthdiv.loading, #daydiv.loading { opacity: 0; transition: all 0.2s; }
   #monthdiv.loading, #daydiv.loading p { filter: blur(10px); transition: all 0.2s; }
   
   /* video */
   
   .video-container { overflow: hidden; width: 100%; height: 0; padding-bottom: 56.25%; position: relative; margin-bottom: 30px; }
   .slide .video-container { position: static; }
   .video-container iframe { position: absolute; left: 0; top: 0; height: 100%; width: 100%; }
   a.play-video { position: relative; display: block; }
   a.play-video::after 
   {
      position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: block; content: "";
      background: transparent url('images/play-video.svg') center center no-repeat;
      background-size: 40px auto;
   }
   a.play-video:hover::after { background-color: rgba(0,0,0,0.2); }
   
   /* modal for video etc. */
   
   #modal 
   { 
      display: none; position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px; background-color: rgba(0,0,0,0.9); 
      z-index: 1010;
   }
   #modal .modal-content { display: flex; height: 100%; padding: 0px 50px; justify-content: center; align-items: center; z-index: 1020; }
   #modal .modal-close 
   { 
      position: absolute; top: 0px; right: 0px; height: 50px; width: 50px; cursor: pointer; text-align: left; padding-top: 25px;
      /* background: transparent url('images/icon-close.svg') center center no-repeat; */
      background-size: 25px auto; opacity: 0.6; z-index: 1030;
   }
   #modal .modal-close img { width: 25px; height: 25px; display: table; }
   #modal .modal-close:hover { opacity: 1; }
   @media (min-aspect-ratio: 13/8) 
   { 
      #modal .modal-content { text-align: center; }
      .modal-content .aspect { margin: auto; width: 66% !important; }
   }
   @media (min-aspect-ratio: 18/7) 
   { 
      .modal-content .aspect { width: 50% !important; }
   }
   @media (min-width: 1100px)
   {
      #modal .video-container { width: 800px; height: 450px; margin-left: auto; margin-right: auto; }
      #modal .video-container iframe { width: 800px; height: 450px; top: 50%; margin-top: -225px; }
   }
   @media screen and (min-width: 1600px)
   {
      #modal .video-container { width: 1200px; height: 675px; }
      #modal .video-container iframe { width: 1200px; height: 675px; top: 50%; margin-top: -337px; }
   }
   
   /* ticketing integration widgets */
   
   .agile_widget_signin, .agile_widget_cart { display: none; }
   .cartcount 
   { 
      position: absolute; top: 1px; right: -3px; font-size: 11px; line-height: 15px; display: block;
      text-align: center; color: #FFFFFF; background-color: var(--link); width: 16px; height: 16px; border-radius: 9px;
   }

	/* wp block fixes */
	
	figure.wp-block-gallery.has-nested-images { margin: 0; }
   
   /* very large screens */
   
   @media screen and (min-width: 1600px)
   {
      body, input, textarea, select, table, h5, ul#menu li { font-size: 1.2vw; line-height: 1.8vw; }
      .secondary, #calendar td, #calendar th { font-size: 1.1vw; line-height: 1.6vw; }
      #menu li ul li a { font-size: 1vw; line-height: 1vw; }
      h2 { font-size: 2.4vw; line-height: 2.9vw; }
      h3 { font-size: 1.5vw; line-height: 2vw;  }
      #menu a.search { width: 2vw; }
      #topline a.signin, #topline a.give { padding-left: 1.5vw; }
      #topline .social a { margin-left: 0.5vw; }
      .tiles.sponsors .tile { flex-basis: 20%; }
   }
   
   /* smaller desktops */
   
   @media screen and (max-width: 1100px) 
   { 
      .tile { flex-basis: 50%; } 
      .tiles.sponsors .tile { flex-basis: 33.3333%; }
				table.board-docs tr .btn { font-size: 14px; padding: 1px 3px; display: inline-block; line-height: 1; margin-right: 5px; }
   }
   
   /* tablets */
   
   @media screen and (min-width: 801px) 
   { 
      body.ua-safari a#bmfi { margin-left: -19px; }
      #mobilenav, .mobileonly { display: none; } 
   }
   
   @media screen and (max-width: 800px)
   {
      body, #mobilemenu { padding-top: 45px; }
      #topline, #masthead { display: none; }
      #hd { position: fixed; top: 0px; left: 0px; right: 0px; z-index: 100; }
      h2 { font-size: 30px; line-height: 36px; }
      h3 { font-size: 21px; line-height: 24px; }
      #footer { font-size: 90%; line-height: 90%: }
      .content { flex-wrap: wrap; }
      .primary, .secondary { flex-basis: 100%; padding-left: 0; padding-right: 0; }
      .secondary { display: flex; flex-wrap: wrap; margin-right: -30px; }
      .secondary div { flex-basis: 50%; flex-shrink: 1; flex-grow: 1; margin: 0px; padding: 0px 20px 30px 20px; }
      .secondary div:nth-child(odd) { padding-left: 0px; }
      .secondary div:nth-child(even), .secondary div:last-child { padding-right: 0px; }
      a#bmfi { padding-top: 15px; }
      a#bmfi img { display: table; width: 300px; height: auto; }
      
      #badge { background-color: #000000; display: flex; justify-content: space-between; align-items: center; }
      #mobilenav { text-align: right; color: #FFFFFF; }
      #mobilenav span 
      { 
         display: inline-block; margin-left: 10px; width: 30px; height: 30px; cursor: pointer;
         background-position: center center; background-repeat: no-repeat; background-size: auto 80%;
      }
      #mobilenav .search { background-image: url('images/icon-search.svg'); }
      #mobilenav .menu { background-image: url('images/icon-bars.svg'); }
      
      #footer, #footer .primary, #footer .secondary { display: block; }
      #footer .secondary { margin-top: 30px; }
      #footer input[type=email] { display: inline-block; margin-right: 6px; width: 50%; }
      .nomobile { display: none; }
		
		table.board-docs tr { display: flex; flex-wrap: wrap; }
		table.board-docs tr td { padding: 0; }
		table.board-docs tr td:first-child { padding-top: 10px; }
		table.board-docs tr td:first-child, table.board-docs tr td:nth-child(2) { width: 100%; }
		table.board-docs tr .btn { font-size: 14px; padding: 1px 3px; display: inline-block; line-height: 1; margin-right: 5px; }
            
   }
   
   /* smartphones */
   
   @media screen and (max-width: 500px)
   {
      body, #mobilemenu { padding-top: 40px; }
      a#bmfi img { width: 200px; }
      .secondary { flex-wrap: wrap; }
      .secondary div { flex-basis: 100%; padding: 0px 0px 30px 0px; }
      .tile { flex-basis: 100%; }
      .tiles.sponsors .tile { flex-basis: 50%; }
		

   }
   
   /* iphones */
   
   @media screen and (max-width: 350px)
   {
      a#bmfi { flex-basis: 60%; flex-shrink: 1; }
      a#bmfi img { width: 100%; }
   }
