
   /* fonts */
   
   @import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap');
   @font-face { font-family: 'coms'; font-weight: 600; font-style: normal; src: url('fonts/coms.woff2') format('woff2'),url('fonts/coms.woff') format('woff'); }  
   @font-face { font-family: 'dharma'; font-weight: 600; font-style: normal; src: url('fonts/dharma.woff2') format('woff2'),url('fonts/dharma.woff') format('woff'); }  

   /* resets */
   
   *, *:before, *:after { box-sizing: border-box; }
   html { height: 100%; -webkit-text-size-adjust: 100%; }
   body { margin: 0; padding: 0; min-height: 100vh; scroll-behavior: smooth; text-rendering: optimizeSpeed; }   
   table { border: 0; padding: 0; border-spacing: 0px; border-collapse: collapse; }
   sup, sub { vertical-align: baseline; position: relative; top: -0.4em; }
   sub { top: 0.4em; }
   img { vertical-align: bottom; max-width: 100%; height: auto; }
   input, button, textarea, select { font: inherit; }
   *:focus { outline: none; }

   /* structure + type */
   
   body 
   { 
      color: #000000; background-color: #FFFFFF; margin: 0; padding: 130px 0 0 0; font-family: 'Jost', sans-serif;
      font-weight: 300; font-size: 18px; line-height: 1.5; 
   }
         
   h1, h2, h5, .textlink { font-family: 'dharma', sans-serif; font-weight: 600; line-height: 1; margin: 0 0 10px 0; padding: 0; }
   h3, h4, h5, th { font-family: 'coms', sans-serif; font-weight: 600; line-height: 1.2; margin: 0 0 1em 0; padding: 0; }
   h1, h2 { font-size: 90px; text-transform: uppercase; letter-spacing: 0.02em; }
   h1 .subtitle { display: block; opacity: 0.5; }
   h3 { font-size: 20px; text-transform: uppercase; }
   h4, h5 { font-size: 16px; text-transform: uppercase; margin: 3em 0 0.5em 0; padding: 0 0 0.5em 0; border-bottom: 1px solid #000000; }
   h5 { margin-bottom: 1.5em; }
   .textlink { font-family: 'coms', sans-serif; font-weight: 600; font-size: 13px; line-height: 1.5; display: block; margin: 0.5em 0; opacity: 0.7; }
   .textlink:hover { opacity: 1; }
   b { font-weight: 600; }
   .reversed h4 { border-color: rgba(255,255,255,0.7); }
	a .ct { color: #999999; font-size: 16px; }
	
	/* headers with background graphics */
	
	h1.bg-blue, h1.bg-purple, h1.bg-red { color: #FFFFFF; line-height: 1; padding: 10px 20px 6px 20px; display: block; text-transform: none; }
	h1.bg-blue { background: #4414DA url('images/hdbg-blue.jpg') right center no-repeat; background-size: auto 100%; }
	h1.bg-purple { background: #6316D6 url('images/hdbg-purple.jpg') right center no-repeat; background-size: auto 100%; }
	h1.bg-red { background: #520839 url('images/hdbg-red.jpg') right center no-repeat; background-size: auto 100%; }
	
	.overline { position: relative; overflow: hidden; }
	.overline::before { position: absolute; display: block; top: 0; left: 0; right: 0; margin-top: -0.5em; text-align: center; content: "-"; }
   
   .datebox 
   { 
      color: #ff0031; font-family: 'coms', sans-serif; font-weight: 600; font-size: 16px; line-height: 1; 
      display: inline-block; border: 1px solid #ff0031; margin: 20px 0;
   }
   .datebox div { display: inline-block; padding: 10px 20px; border-right: 1px solid #ff0031; }
   .datebox div:last-child { border-right: none; }

   .frame { padding: 50px; }

   
   footer { margin-top: 50px; padding-top: 50px; border-top: 1px solid #000000; color: #888888; font-size: 17px; }
   .reversed footer.frame { background-color: #000000; color: rgba(255,255,255,0.7); font-size: 17px; margin: 0; border: none; }
   .reversed footer.frame b { color: #FFFFFF; }
   body.home footer { margin-top: 0; }
   
   footer .penn 
   { 
      float: right; margin: 0 0 1em 2em; width: 120px; height: 40px; display: block; opacity: 0.5;
      background: transparent url('images/penn-black.svg') right top no-repeat; background-size: contain;
   }
   .reversed footer .penn { background-image: url('images/penn-white.svg'); opacity: 1; }
   
   #sidebar 
   { 
      position: fixed; top: 0; bottom: 0; left: 0; width: 250px; padding: 70px 70px; display: flex; flex-direction: column; justify-content: space-between; 
      color: #000000; z-index: 210;
   }
   .reversed #sidebar { width: 190px; padding: 40px; background-color: #FFFFFF;  }
   #badge img { width: 100%; height: auto; }
   #sidebar .socials { text-align: center; }
   
   .icon 
   { 
      display: inline-block; width: 28px; height: 28px; border-radius: 50%; margin: 3px; background-position: center center;
      background-repeat: no-repeat; background-size: 50% auto; background-color: #666666;
   }
   .icon.icon-facebook { background-image: url('images/icon-facebook.svg'); background-size: auto 50%; }
   .icon.icon-instagram { background-image: url('images/icon-instagram.svg'); }
   .icon.icon-twitter { background-image: url('images/icon-twitter.svg'); }
   .icon.icon-youtube { background-image: url('images/icon-youtube.svg'); background-size: auto 50%; }

   
   .icon.icon-facebook:hover { background-color: #3b5998; }
   .icon.icon-instagram:hover { background-color: #c32aa3; }
   .icon.icon-twitter:hover { background-color: #1da1f2; }
   .icon.icon-youtube:hover { background-color: #EE0000; }
   
   /* images + figures */
      
   img.hero { width: 100%; height: auto; margin: 30px 0; }
   .right { float: right; margin: 0 0 20px 30px; }
   .left { float: left; margin: 0 40px 0px 0px; }

   /* links */
   
   a { text-decoration: none; color: #2789ff; font-weight: 400; }
   b a, a b { font-weight: 600; }
   a:hover { color: #FF0031; }
   a.btn, .btn
   { 
      font-size: 15px; line-height: 15px; font-weight: 400; padding: 7px 12px 5px 12px; position: relative; top: -1px; border: 0;
      color: #FFFFFF; background-color: #2789ff; display: inline-block; text-transform: uppercase; letter-spacing: 1px;
      cursor: pointer; white-space: nowrap;
   }
   a.btn:hover, .btn:hover { color: #FFFFFF; background-color: #FF0031; }
	a.btn.current { background-color: #FFFFFF; color: #FF0031; border: 1px solid #FF0031; padding: 6px 12px 4px 12px; }
	a.btn.prev:before 
	{ 
		display: inline-block; width: 15px; height: 13px; margin-right: 5px; content: ""; overflow: hidden;
		background: transparent url('images/icon-arrow-left.svg') center center no-repeat; background-size: contain; 
	}
	a.btn.next:after
	{ 
		display: inline-block; width: 15px; height: 13px; margin-left: 5px; content: ""; overflow: hidden;
		background: transparent url('images/icon-arrow-right.svg') center center no-repeat; background-size: contain;
	}
   a.floatbtn
   { 
      float: right; margin: 0 0 1em 1em; font-family: 'coms', sans-serif; font-weight: 600; font-size: 16px; line-height: 1; 
      display: inline-block; border: 1px solid #2789ff; padding: 10px 20px; 
   }
   a.floatbtn.solid { color: #FFFFFF; background-color: #2789ff; }
   a.floatbtn:hover { border-color: #FF0031; }
   a.floatbtn.solid:hover { color: #FFFFFF; background-color: #FF0031; }

   /* header */
   
   #hd 
   { 
      position: fixed; top: 0; left: 0; right: 0; z-index: 300; background-color: #FFFFFF; display: flex; align-items: center; justify-content: space-between;  
      box-shadow: 0px 0px 20px rgba(0,0,0,0.15); 
   }
   #pla { padding: 15px 15px 15px 50px; }
   #pla img { height: 100px; width: auto; transition: all 0.25s ease; }
   body.scrolled #pla img { height: 70px; }
   
   /* main menu */

   #menu, #menu li { list-style-type: none; margin: 0; padding: 0; }
   #menu li { display: inline-block; }
   #menu li:first-child { margin-left: 0; }
   #menu { padding: 22px 0 10px 25px; margin-right: 45px; text-align: right; height: 70px;  }
   #menu a 
   { 
      color: #777777; font: 600 25px/20px 'dharma', sans-serif; text-transform: uppercase; letter-spacing: 1px; 
      display: inline-block; margin-right: 10px; 
   }
   #menu a:hover { color: #FF0031; }
   #menu a svg { height: 22px; width: auto; }
   #menu li.mobilenav { margin-right: 3px; }
   #menu li ul { display: none; position: absolute; z-index: 220; margin: 0; padding: 0px; list-style-type: none; }
   #menu li:hover ul 
   { 
      display: block; text-align: left; background: transparent url('images/wedge-4414DB.svg') 10px top no-repeat; 
      background-size: 20px 10px; padding-top: 9px; 
   }
   #menu li ul li { margin: 0px; padding: 0px; list-style-type: none; text-transform: none; display: block; float: none; }
   #menu li ul li a 
   { 
      font-family: 'Jost'; font-size: 18px; font-weight: 400; text-transform: none; letter-spacing: 0;
      color: #FFFFFF; display: block; line-height: 1; padding: 6px 10px;
      background-color: #4414DB; background-image: none; margin: -1px 0px; 
   }
   #menu li ul li:first-child { border-top: 6px solid #4414DB; }
   #menu li ul li:last-child { border-bottom: 6px solid #4414DB; }
   #menu li ul li a:hover { color: #FFFFFF; background-color: #FF0031; }
   #menu li.health { display: none; }
   #menu.tnew li.health { display: inline-block; }
   #menu.tnew li.health a { color: #FF0031; }
   #menu.tnew li.health a:hover { color: #000000; }
   
   /* mobile menu */

   #mobilemenu 
   { 
      position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 99; 
      overflow: scroll; height: 0px; opacity: 0; transition-duration: 0.3s;  
      background-color: #240051; padding: 0; text-align: left;
   }
   #mobilemenu.active { height: 100vh; opacity: 1; padding-top: 50px; }
   #mobilemenu a { display: inline-block; color: #FFFFFF; padding: 10px 0px; font-weight: 400; font-size: 24px; line-height: 24px; }
   #mobile-menu { list-style-type: none; margin: 20px 0px 0px 0px; padding: 0px; color: #FFFFFF; }
   #mobile-menu > li { border-bottom: 1px solid rgba(255,255,255,0.33); padding-right: 50px; cursor: pointer; }
   #mobile-menu > li.has-children { background: transparent url('images/icon-down.svg') right 9px no-repeat; background-size: 14px auto; }
   #mobile-menu > li.has-children.expanded { background-image: url('images/icon-up.svg'); }
   #mobile-menu > li > ul { display: none; }
   
   #mobile-menu > li.expanded > ul { display: block; list-style-type: disc; margin-bottom: 15px; }
   #mobile-menu > li > ul > li a { font-size: 20px; line-height: 20px; padding: 7px 0px; }
   
   /* formatting */
   
   .columnar { column-count: 3; column-gap: 30px;  }
   .ticketlist { line-height: 2; }
   .ticketlist.columnar { column-count: 2; }
   
   /* tiles */
   
   .tiles { margin: 0 -30px 0 0; width: calc(100% + 30px); display: flex; align-items: flex-start; flex-wrap: wrap; }
   .tile { width: 25%; padding: 0 30px 30px 0; }
   .tile img { width: 100%; height: auto; }

   /* announcement bars */
   
   .announce { display: block; color: #FFFFFF; background-color: #ff0031; text-align: center; font-weight: 400; padding: 10px; margin: 0 0 20px 0; }
   .announce.announce-all { background-color: #990100; }
   a.announce { color: #FFFFFF; text-decoration: none; font-weight: 600; }
   a.announce:hover { color: #FFFFFF; background-color: #510839; }

   /* home page features */
   
   body.home .cols { margin-top: 18px; }
   .cols { display: flex; align-items: flex-start; width: calc(100% + 50px); flex-wrap: wrap; }
   .cols .col { width: calc(33.333% - 50px); margin: 0 50px 35px 0; }
   .cols .col img { width: 100%; height: auto; display: block; }
   .cols .col h3 { text-transform: none; padding: 0; margin: 15px 0 5px 0; }
   .cols .col span { display: block; font-size: 16px; line-height: 1.5; font-weight: 300; }
   .cols .col.blog img { float: right; margin: 4px 0 15px 20px; width: 33.333%; max-width: 275px; height: auto; }
   
   .event-line { display: flex; align-items: center; margin: 0 0 10px 0; width: 100%; }
   .event-line a.img { flex-grow: 0; }
   .event-line a.img img { height: 50px; width: auto; }
   .event-line span.info { padding-left: 15px; flex-grow: 1; }
   .event-line span.datepart { display: inline-block; }
   /* .event-line span.datepart:before { content: "\00B7"; display: inline-block; margin: 0 0.5em; } */
   
   .items li .date { display: block; font-size: 6px; line-height: 1.5; font-weight: 300 !important; }

   .navdots { margin: 20px 0 0 0; text-align: center; }
   .navdots .dot { display: inline-block; width: 16px; height: 16px; border-radius: 50%; background-color: #2789ff; margin: 0 2.5px; opacity: 0.5; }
   .navdots .dot.active { opacity: 1; }
   
   /* add-to-any */
   
   .a2a_kit a { display: inline-block; position: relative; top: 4px; }
   .a2a_kit a span { width: 22px !important; height: 22px !important; }
   .a2a_kit a svg { width: 22px; height: 22px; }
   
   /* mini-calendar */
   
   .prevnext { font-family: Jost; line-height: 1; font-size: 24px; }

   .cols .col.double { width: auto; flex-basis: calc(60% - 100px); flex-grow: 1; flex-shrink: 1; align-self: center; }
   .col.blog .date { display: block; font-weight: 400; margin: 2px 0 15px 0; }
   ul.items { list-style-type: none; margin: 0; padding: 0; }
   ul.items li { margin: 8px 0; padding: 0; }
   .col.blog ul.items li:first-child a { font-weight: 600; }
   
   
   .cols .col.minical h3 { margin-top: 0; padding-top: 6px;  margin-bottom: 8px; border-top: 1px solid #000000; }
   .minical-container {  }
   table.minical { table-layout: fixed; width: calc(100% + 4px); margin: 0px -2px; border-spacing: 2px; border-collapse: separate; border-top: 1px solid #000000; padding: 10px 0; }
   table.minical th { font-size: 12px; text-align: center; margin: 0; padding: 3px 0 10px 0; }
   table.minical td { text-align: center; padding: 0 3px; }
   table.minical td .num 
   { 
      display: inline-block; background-color: #EFEFEF; color: #AAAAAA; 

      width: 100%;
      text-align: center; 
      font-size: 16px; line-height: 1; overflow: hidden; font-weight: 400; padding: 5px 0; border: 1px solid #EFEFEF;
   }
   table.minical td.today .num { color: #ff0031; border-color: #ff0031; background-color: transparent; }   
   table.minical td.has-events .num { color: #FFFFFF; border-color: #2789ff; background-color: #2789ff; cursor: pointer; }
   table.minical td.has-events:hover .num { color: #FFFFFF; border-color: #ff0031; background-color: #ff0031; }
   .minical h4 { margin: 0 0 10px 0; border: 0; }
   
   .day-detail { display: none; }
   .day-detail.default { display: block; }
   #mini-calendar a.prevnext { font-size: 28px; line-height: 14px; }
      
   /* artist info */
   
   dl.artist_info { margin: 15px 0 15px 0; padding: 0 0 10px 0; border-bottom: 1px dotted #CCCCCC; }
   dl.artist_info dt 
   { 
      font-weight: bold; cursor: pointer; display: block; padding-left: 30px; 
      background: transparent url('images/circle-down.svg') left center no-repeat; background-size: 20px 20px; 
   }
   dl.artist_info.expanded dt { background-image: url('images/circle-up.svg'); }
   dl.artist_info dd { padding: 5px 0 0 0; margin: 0; display: none; }


   
   /* audio playlist */

   .playlist { float: right; width: 33%; margin: 0px 0px 20px 30px; }
   

   /* home page slider */
   
   .slider { margin: 0; width: 100%; overflow: hidden; position: relative; }
   .slide 
   { 
      width: 100%; height: 0; padding-top: 60%; position: relative; background-position: center center; 
      background-repeat: no-repeat; background-size: cover; overflow: hidden; 
   }
   .slide .caption 
   { 
      text-align: center; color: #FFFFFF; position: absolute; bottom: 0; left: 0; right: 0; padding: 250px 50px 25px 50px; 
      background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.8));
   }
   .slide .caption h2 { margin: 0; padding: 0; font-size: 120px; }
   .slide .caption .datebox { margin: 0; }

   /* carousel and figures */
   
   .carousel-container { margin: 30px 0; width: 100%; overflow: hidden; position: relative; }
   .carousel-cell { position: relative; margin-right: 10px; }
   .carousel-cell-image { width: 100%; height: auto; }
   .figure { position: relative; margin-bottom: 30px; }
   .carousel-cell .caption, .figure .caption
   { 
      position: absolute; bottom: 0px; left: 0px; color: rgba(255,255,255,0.9); font-size: 90%; line-height: 1.2;
      background-color: rgba(0,0,0,0.6); display: inline-block; padding: 0.25em 0.5em 0.2em 0.5em; 
      white-space: normal;
   }
   .flickity-page-dots { display: inline-block; list-style-type: none; margin: 10px 0 0 0; padding: 0; }
   .slider .flickity-page-dots { display: block; text-align: center; margin: 20px 0px 0px 10px; }
   .dot { display: inline-block; margin: 0 10px 0 0; width: 16px; height: 16px; border-radius: 50%; background-color: #2789ff; opacity: 0.5; cursor: pointer;}
   .dot.is-selected { opacity: 1;}
   
   /* embedded videos */

   .right.has-video { width: 50%; }
   .PLAleft.has-video { width: 50%; }
   div.video-trigger
   {
      position: absolute; top: 0px; bottom: 0px; left: 0px; right: 0px; 
      background-color: #000000; background-position: center center; background-repeat: no-repeat; 
      background-size: contain; cursor: pointer;      
   }
   .video-container { position: relative; padding-bottom: 62.3229462%; padding-top: 0px; height: 0; overflow: hidden; }
   .video-container iframe, .video-container object, .video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
   .carousel-cell .video-container { padding-bottom: 62.0833333%; }
   
   /* calendar grid */
   
   table.calendar { table-layout: fixed; width: calc(100% + 20px); margin: 0px -10px; border-spacing: 10px; border-collapse: separate; }
   table.calendar h3 { border-top: 1px solid #CCCCCC; padding: 10px 0 0 0; margin: 0; font-size: 16px; }
   table.calendar th { font-size: 16px; text-align: left; margin: 0; padding: 3px 0; color: #888888; }
   table.calendar td { height: 100px; padding: 0 0 20px 0; }
   table.calendar a, .ongoing a { display: block; font-size: 18px; margin: 10px 0; line-height: 1; }
   table.calendar a .date, .ongoing a .date { display: block; color: #AAAAAA; font-size: 16px; margin: 5px 0; }
   table.calendar a img { width: 100%; height: auto; display: block; margin: 0 0 5px 0; }
   table.calendar td.today h3 { border-top: 2px solid #c30030; padding-top: 9px; color: #c30030; }
   .ongoing a, .ongoing a .date { display: inline; font-size: 18px; }
   .ongoing { display: flex; align-items: center; margin: 0 0 15px 0; }
   .ongoing a.img { margin-right: 20px; }
   .ongoing a.img img { height: 40px; width: auto; }
   
   /* image-list: 1 col icons, 1 col text */
   
   div.image-list { display: flex; align-items: flex-start; flex-wrap: wrap; justify-content: flex-start; }
   div.image-list img { width: 168px; height: auto; align-self: flex-start; }
   div.image-list div { width: calc(100% - 178px); padding: 0 0 30px 30px; flex-shrink: 1; align-self: center; }
   div.image-list div h3 { margin-top: 0; }
   @media screen and (max-width: 800px) { div.image-list img { width: 85px; } div.image-list div { width: calc(100% - 95px); padding: 0 0 20px 20px; } }
   @media screen and (max-width: 500px) { div.image-list img { width: 56px; } div.image-list div { width: calc(100% - 61px); padding: 0 0 10px 10px; } }
	
	
	
	/* table with thumbnail and info cells in each row */
	
	table.eventlist { max-width: 100%; }
	table.eventlist td { padding: 10px 20px 10px 0; }
	table.eventlist td:first-child { width: 50%; max-width: 373px; }
	table.eventlist td:last-child { padding-right: 0; width: 50%; }



   /* blog */
   
   body.blog div.blog { display: flex; align-items: flex-start; }
   .blog .main { flex-basis: 66.667%; padding-right: 25px; }
   .blog .sidebar { flex-basis: 33.333%; padding-left: 25px; }
   .blog .post h2 { color: #000000; text-transform: none; }
   .blog .post .datebox { margin: 0; }
   .blog .figure { margin: 30px 0; }
   .blog.index .post { margin-top: 30px; padding-top: 30px; border-top: 1px solid #000000; }
   .blog.index .post h2 { text-transform: none; }
   .blog.index .main .post:first-child { margin-top: 0; }
   .blog .sidebar h5 { margin-top: 0; padding-top: 10px; border-top: 1px solid #000000; border-bottom: none; }
   .blog .tagcloud .btn { margin-bottom: 5px; }
   
   /* very large displays */
   
   @media screen and (min-width: 2001px)
   {
      .slide { padding: 0; height: calc(100vh - 120px); }
      .columnar { column-count: 5; }
      .tile { width: 20%; }
      .ticketlist.columnar { column-count: 4; }
   }

   /* standard breakpoints */
   
   @media screen and (max-width: 2000px)
   {
      .columnar { column-count: 4; }
      .ticketlist.columnar { column-count: 3; }
   }
   
   @media screen and (max-width: 1600px)
   {
      .columnar { column-count: 3; }
      .ticketlist.columnar { column-count: 2; }
   }
   
   @media screen and (max-width: 1200px)
   {
      .columnar { column-count: 2; }
      .tile { width: 33.333%; }
      .event-line span.datepart { display: block; }
      .event-line span.datepart:before { display: none; }
   }
   
   @media screen and (min-width: 1001px)
   {
      .mobileonly, #menu li.mobilenav { display: none; }
   }
   
   @media screen and (max-width: 1000px)
   {
      body { padding-top: 100px; }
      #pla img, body.scrolled #pla img { height: 70px; }
      #menu li.menu-item { display: none; }
      .ticketlist.columnar { column-count: 1; }
   }
   
   @media screen and (max-width: 900px)
   {
      .frame { padding-left: 25px; padding-right: 25px; }
      
      #pla { padding-left: 25px; }
      #menu { margin-right: 20px; }
      h1, h2 { font-size: 45px; }
      .slide .caption h2 { font-size: 60px; }
      
      h3 { font-size: 16px; }
      .datebox { font-size: 14px; }
      .datebox div { padding: 5px 10px; }
   

      body.home .cols .col, body.home .cols .col.double { flex-basis: calc(50% - 50px); }
      .cols .col.blog img { float: none; margin: 0 0 25px 0px; width: 100%; max-width: 353px; height: auto; }
      .col.double.blog h5 { margin-top: 0; border-bottom: 0; border-top: 1px solid #000000; padding-top: 10px; }
      .col.connect { display: none; }
      .tile { width: 50%; }
      
      .blog .main { padding-right: 12px; }
      .blog .sidebar { padding-left: 12px; }
      .right, .right.has-video, .PLAleft.has-video { width: 100%; float: none; margin: 0 0 30px 0; }
		.right.smaller { float: right; width: 33.33%; height: auto; margin: 0 0 20px 20px; }
      
      table.calendar a, .ongoing a, .ongoing a .date { font-size: 15px; }
      table.calendar a .date { font-size: 13px; }
   
   }
	
	@media screen and (max-width: 650px)
   {
		.mobilecrop { overflow: hidden; text-align: center; }
		.mobilecrop img { width: 136%; max-width: 136%; height: auto; }
	}
   
   @media screen and (max-width: 600px)
   {
      body { padding-top: 65px; }
      #pla img, body.scrolled #pla img { height: 35px; }
      

            
      .datebox div { display: block; border-right: 0; border-bottom: 1px solid #ff0031; }
      .datebox div:last-child { border-bottom: none; }
      .columnar { column-count: 1; }
      .tile { width: 100%; }
      body.home .cols .col, body.home .cols .col.double { flex-basis: calc(100% - 50px); }
      body.blog div.blog { display: block; }
      .blog .main, .blog .sidebar { width: 100%; padding: 0 0 25px 0; }
      
      a.floatbtn { font-size: 14px; padding: 5px 10px; }
   
      table.calendar a img, .ongoing a.img { display: none; }
      table.calendar a, .ongoing a, .ongoing a .date { font-size: 15px; }
      table.calendar a .date { display: inline-block; }
      table.calendar a .date::before { display: inline-block; content: "\00B7"; margin-right: 4px; }
      table.calendar, table.calendar tbody, table.calendar tr, table.calendar td { display: block; width: 100%; margin: 0; }
      table.calendar th, table.calendar td.blank, table.calendar td.empty { display: none; }
      table.calendar td { height: auto; }
      .ongoing { margin-bottom: 20px; }
         
   }  
   
   /* print */

   @media print
   {

   }
   