/* Desktop + */
@media screen and (min-width:1025px) {
	.calendarWrapper .calendarGrid .daysEvents.mfp-hide { display:block !important; }    /* In case Magnific Popup has hidden them at a lower resolution */
}

/* XL Desktop */
@media screen and (min-width:1600px) {
    
}


@media screen and (min-width:1440px) and (max-width:1599px) {
    #menuBar .logoText { max-width:240px;}
    #menuBar { font-size:16px; }
    .mainMenu ul ul a { font-size:14px; }
}
@media screen and (min-width:1260px) and (max-width:1439px) {
    #menuBar .logoText { max-width:210px;}
    #menuBar { font-size:14px; }
    .mainMenu ul ul a { font-size:12px; }
}
@media screen and (min-width:1025px) and (max-width:1259px) {
    #topBar { padding: 6px 0; font-size:13px; }
    #topBar .logo { top:-6px; width:100px; padding: 20px 15px; }
    #menuBar .logoText { margin-left:145px; max-width:180px;}
    #menuBar { font-size:12px; }
    .mainMenu ul ul a { font-size:10px; }
}


/* Large Desktop */
@media screen and (min-width:1440px) and (max-width:1599px) {
    body { font-size: 15px;}
    
    .pageContainer { }

    .homepageTop .flex { flex-basis: 75%; }
    #homepageSlideshow {flex-basis: 66.6%;}
    .homepageTop .newsModule {flex-basis: 33.3%;}
    .homepageTop .sponsors {flex-basis: 25%;}
    
    .homepageTop h2 {font-size: 22px;}
    .homepageTop h3 {font-size: 18px;}
    .moduleLister .itemsSmall .listerItem .imageLink { width: 70px;}
}


/* Medium Desktop */
@media screen and (min-width:1330px) and (max-width:1439px) {
    body { font-size:15px;}
    
    .pageContainer { }

    .homepageTop .flex { flex-basis: 75%; }
    #homepageSlideshow {flex-basis: 66.6%;}
    .homepageTop .newsModule {flex-basis: 33.3%;}
    .homepageTop .sponsors {flex-basis: 25%;}
    
    .homepageTop h2 {font-size: 22px;}
    .homepageTop h3 {font-size: 18px;}
    .moduleLister .itemsSmall .listerItem .imageLink { width: 70px;}
    
    footer .socialLinks .title {display: block; margin-bottom: 12px; }
}


/* Small Desktop */
@media screen and (min-width:1025px) and (max-width:1329px) {

    body { font-size:14px;}
    
    .pageContainer { }

    .homepageTop .flex { flex-basis: 75%; }
    #homepageSlideshow {flex-basis: 66.6%;}
    .homepageTop .newsModule {flex-basis: 33.3%;}
    .homepageTop .sponsors {flex-basis: 25%;}
    
    .homepageTop h2 {font-size: 18px;}
    .homepageTop h3 {font-size: 15px;}
    .moduleLister .itemsSmall .listerItem .imageLink { width: 50px; }
    
    .homepageTop { margin-bottom: 42px;}
    body.home .articlesModule { margin: 42px 0;}

    footer .logo { width: 134px; margin: 0 26px;}
    footer .contact {padding-left: 26px;}
    footer .contact .title { font-size: 18px; }
    footer .socialLinks .title {display: block; margin-bottom: 12px; font-size: 16px;}
}


/* Tablet to Small Desktop */
@media screen and (min-width:768px) and (max-width:1230px) {
    .homepageBottom .pageContainer>div { flex-basis:100%; }
    .homepageBottom .itemsSmall .listerItem { flex-basis:45%; }
    
    .homepageTop .flex { flex-basis: 100%; }
    #homepageSlideshow {flex-basis: 66.6%;}
    .homepageTop .newsModule {flex-basis: 33.3%;}
    .homepageTop .sponsors {border-top: 1px solid #ccc; border-left-width: 0px; flex-basis: 100%; height: 200px; }
    .homepageTop .sponsors .sponsorFlex {flex-flow: row nowrap; }
    .homepageTop .sponsors span { flex-basis: calc(16.6667% - 24px); box-sizing: border-box; padding: 12px; }
    .homepageTop .sponsors img { }
    
    .advertisersPage .moduleLister .items .listerItem { flex-basis: calc(33.333% - 10px);}
    
    footer .logo { width: 134px; margin: 0 26px;}
    footer .contact {padding-left: 26px;}
    footer .contact .title { font-size: 18px; }
    footer .socialLinks .title {display: block; margin-bottom: 12px; font-size: 16px;}
}


/* Medium */
@media screen and (min-width:768px) and (max-width:1024px) {
	body { font-size: 14px;}
	
	.hideOnMedium { display:none !important; }
	
	.flexStore .flexStoreItem { flex-basis:42%; padding: 2%;  margin: 1%;}

    header { margin-bottom:1em; }
    #topBar { padding: 6px 0; font-size:13px; }
    #topBar .logo { top:-6px; width:100px; padding: 10px 15px; }
	#topBar .topMenu { margin-left:140px; }
    #topBar .topMenu a { margin-left:0; margin-right:0; }
    header .socialLinks a { margin-left:10px; }
    #menuBar { padding-top:10px; padding-bottom:10px; font-size:13px; }
	#menuBar .pageContainer { flex-wrap:wrap; justify-content:space-between; }
    #menuBar .logoText { margin-left:155px; margin-bottom:0; max-width:200px;}
	#mobileMenuButton { display:block; }
	#mainMenu { flex-basis:100%; margin-left:0; padding-top:3em; padding-bottom:15px; }
	.mainMenu>li>a { font-size:16px; padding-left:1em; padding-right:1em; }
	.mainMenu .featuredMenuLinks { margin-left:1em; }
	.mainMenu .featuredMenuLinks .submenuToggle { display:none; }
	.mainMenu .featuredMenuLinks ul { display:block !important; padding-left:0; }
	.mainMenu .featuredMenuLinks img { margin-right:0; }
	.mainMenu .featuredMenuLinks a { display:inline-block; }
    /* new header styles
    header { margin-bottom: 42px;}
    #topBar {padding: 6px 0; font-size: 13px;}
    #topBar .logo {width: 100px;}
    #menuBar { height: auto; min-height: 80px; }
    #menuBar .logoText { top: 20px; margin-top:0px; height: 80px; margin-left: 155px;font-size: 14px; max-width: 215px;}
    
    #mainMenu {left: 388px; margin-top: 20px; height: 60px; float:none; position: relative; top:0px; left:0px; right:0px; bottom: 0px;}
    .mainMenu>li {padding: 5px 0;}
    .mainMenu>li>a { height: 50px; line-height: 50px; font-size: 13px;}	
    */

    .homepageTop h2 {font-size: 18px;}
    .homepageTop h3 {font-size: 15px;}
    body.home .eventsModule.moduleLister .listerItem .info i { display:none; }
    
    .moduleLister .itemsSmall .listerItem .imageLink { width: 50px;}
    .moduleLister .items .listerItem { flex-basis:48%; }
    
    .sideColumn .eventsModule.moduleLister .listerItem .info { flex-direction:column; }
    .sideColumn .eventsModule.moduleLister .listerItem .date
    , .sideColumn .eventsModule.moduleLister .listerItem .address { flex-basis:90%; margin: 1em 5%; }
    
	.advertisersPage .sponsors h2 { width:22%; height:150px; }
	.advertisersPage .sponsors .scroller { width:78%; }
	.advertisersPage .sponsors .scroller span { height:150px; }
    .advertisersPage .bannerAds { flex-wrap:wrap; justify-content:space-around; }
    .advertisersPage .bannerAds .narrowColumn { flex-basis:28%; }
    .advertisersPage .bannerAds .wideColumn { flex-basis:59%; }
    .advertisersPage .bannerAds .narrowColumn:nth-child(even) { order:2; flex-direction:row; flex-basis:46%; margin-top:4%; }
    .advertisersPage .bannerAds .narrowColumn:nth-child(even) span { flex-basis:46% }

    .calendarWrapper .calendarGrid td { height:60px; }
    .calendarWrapper .calendarGrid .hasEventsIndicator { display:block; position:absolute; right:0; bottom:0; width:0; height:0; border-right: 12px solid #ccc; border-top: 12px solid transparent; }
    .calendarWrapper .calendarGrid .daysEventsToggle { display:block; position:absolute; top:0; left:0; right:0; bottom:0; }
    .calendarWrapper .calendarGrid .daysEvents { display:none; }
    .mfp-content .daysEvents { padding:1em; background-color:#fff; border-radius:10px; }    /* Magnific Popup */
}


/* Small */
@media screen and (max-width:767px) {
	body { font-size: 14px;}
	.hideOnSmall, .calendarWrapper .daysOfWeek { display:none !important; }
    .sideColumn, .mainColumn { float:none !important; width:auto !important; }
    .flexStore .flexStoreItem { flex-basis:42%; padding: 2%;  margin: 1%;}
    
    header { margin-bottom:1em; }
    #topBar .logo { top:100%; width:70px; padding:10px; }
    #topBar .topMenu a { margin-left:0; margin-right:0; }
    header .socialLinks a { margin-left:10px; }
	#menuBar .pageContainer { flex-wrap:wrap; }
    #menuBar .logoText { margin-left:114px; margin-bottom:30px; }
	#mobileMenuButton { display:block; flex-basis:100%; margin-bottom:15px; }
	#mainMenu { flex-basis:100%; margin-left:0; padding-bottom:15px; }
	.mainMenu>li>ul { padding-top:1em; padding-right:0; padding-bottom:1em; }
	.mainMenu>li>ul>li { max-width:none; border-left:none; padding-left:0; padding-right:0; }
	.mainMenu>li>ul>li>a { margin-bottom:0; }
	.mainMenu .featuredMenuLinks { margin-left:1em; }
	.mainMenu .featuredMenuLinks .submenuToggle { display:none; }
	.mainMenu .featuredMenuLinks ul { display:block !important; padding-left:0; }
	.mainMenu .featuredMenuLinks img { margin-right:0; }
	.mainMenu .featuredMenuLinks a { display:inline-block; }

	.homepageTop { margin-top:0; margin-left:-1em; margin-right:-1em; border:none; }
    .homepageTop .flex { min-width:0; }
	.homepageTop>*
	, .homepageTop .flex>*
	, .itemsSmall .listerItem
	, .homepageTop .featuredLinks .item { flex-basis:100%; }
	#homepageSlideshow { padding-bottom:64%; margin-bottom:1em; }
	.homepageTop .featuredLinks { flex-wrap:wrap; }
	
	.homepageTop .sponsors { margin-top: 20px; height: 650px; display: block; border-left:none; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; flex-basis:100% }
	.homepageTop .sponsors .homeSponsorScroller {  }
	.homepageTop .sponsors .sponsorFlex {  }
	.homepageTop .sponsors span {}
	.homepageTop .sponsors img {}
	
	.homepageBottom { padding:0; background:none; }
	.homepageBottom .pageContainer { padding:0; }
	.homepageBottom .column1 { flex-basis:100%; }
	.homepageBottom .column2 { flex-basis:100%; border:none; }
	.homepageBottom .featuredItems .image { display:block; order:0; }
	.homepageBottom .featuredItems .tab { width:100%; border-top:none !important; }
	.homepageBottom .featuredItems .tab h3 { white-space:normal; }
    body.home .eventsModule.moduleLister .listerItem .info i { display:none; }
    
	.moduleLister .items .listerItem { margin-bottom:2em; min-width:100%; }
	.eventsModule.moduleLister .listerItem { min-width:100%; }
	
    .advertisersPage .moduleLister { margin-top:2em; }
    .advertisersPage .moduleLister .items {justify-content: center;}
    .advertisersPage .moduleLister .items .listerItem { flex-basis: calc(300px - 10px);}
	.advertisersPage .sponsors { flex-direction:column; }
	.advertisersPage .sponsors h2 { width:100%; height:60px; }
	.advertisersPage .sponsors .scroller { width:100%; }
	.advertisersPage .sponsors .scroller span { height:100px; }
    .advertisersPage .bannerAds { flex-wrap:wrap; }
    .advertisersPage .bannerAds .narrowColumn { flex-basis:48%; }
    .advertisersPage .bannerAds .wideColumn { flex-basis:100%; margin-top:10px; margin-bottom:10px; }
    .advertisersPage .bannerAds .narrowColumn:nth-child(4) { flex-basis:100%; flex-direction:row; }
    .advertisersPage .bannerAds .narrowColumn:nth-child(4) span { flex-basis:48% }

	footer { text-align:center; }
	footer .pageContainer { display:block; }
	footer #logoAndContact { display:block; }
	footer #logoAndContact .logo { display:block; margin: 2em 0; width: auto;  }
	footer #logoAndContact .logo img {display:block; width: 140px; margin: 0 auto;}
	footer .contact { border-left:none; padding-left:0; }
	footer .contact p { justify-content:center; }
	footer nav ul { margin-left:0; margin-right:0; }
	footer .socialLinks .title { display:block; margin: 0 0 1em 0; }
	#backToTop { display:block; }

	table.responsive
	, table.responsive tbody
	, table.responsive tr
	, table.responsive td { display:block; }
	table.responsive thead
	, table.responsive th { display:none; }
	table.responsive tr { border-bottom: 2px solid rgba(0, 0, 0, 0.1); }

	.calendarWrapper .calendarGrid td { height:40px; }
	.calendarWrapper .calendarGrid .hasEventsIndicator { display:block; position:absolute; right:0; bottom:0; width:0; height:0; border-right: 12px solid #ccc; border-top: 12px solid transparent; }
	.calendarWrapper .calendarGrid .daysEventsToggle { display:block; position:absolute; top:0; left:0; right:0; bottom:0; }
	.calendarWrapper .calendarGrid .daysEvents { display:none; }
	.mfp-content .daysEvents { padding:1em; background-color:#fff; border-radius:10px; }    /* Magnific Popup */

	.pagination .paginationLinks { height:4em; }
	.pagination .pageLinkPrevChunk, .pagination .pageLinkNextChunk { bottom:0; }
	.pagination .pageLinkPrev { position:absolute; bottom:0; left:5em; }
	.pagination .pageLinkNext { position:absolute; bottom:0; right:5em; }
}
@media (max-width: 480px) {
    .flexStore { display:block;}
    .flexStore .flexStoreItem {display:block;  max-width: 100%; width:100%;}
    #menuBar .logoText { font-size: 14px; margin-left: 100px; margin-right: 48px;}
    .mmText {display:none;}
    #mobileMenuButton {padding: 8px 12px;}
}