#wrapper { min-width: 320px; }

@media only screen and (min-width: 1024px) and (max-width: 1080px) {
	.featured-title { font-size: 34px; }
	.highlights-content { padding: 20px 20px 10px; }
	.highlights-title { font-size: 16px; }
	
	.article-grid { grid-template-columns: repeat(auto-fill,minmax(280px,1fr)); }
	.entry-list .entry-title a { font-size: 24px; }
}

@media only screen and (max-width: 1023px) {
	.wrap-content { margin-top: 10px; }
	.col-1c .wrap-content-top,
	.col-2cr .wrap-content-top,
	.col-2cl .wrap-content-top { padding-left: 40px; padding-right: 40px; padding-top: 10px; }
	.wrap-content-top-search,
	.wrap-content-top .social-links	{ margin-bottom: 12px; }
}

/* ------------------------------------------------------------------------- *
 *  Sidebar : 960px > 480px
/* ------------------------------------------------------------------------- */
@media only screen and (min-width: 480px) and (max-width: 1023px) {
	
	#wrapper { overflow: hidden; }
	
	/* s1 general */
	.s1 { width: 100%; margin-top: 0; }
	.s1 .sidebar-content { width: 100%; }
	
	.col-2cr .s1 { margin-left: 0; }
	.col-2cr .main-inner { padding-left: 0; }
	
	.col-2cl .s1 { margin-right: 0; }
	.col-2cl .main-inner { padding-right: 0; }
	
	.main-inner { display: block; }

	.entry-header .entry-title { font-size: 42px; }
	.page-title h1, 
	.page-title h2,
	.page-title h3, 
	.page-title h4 { font-size: 20px; }
	.page-title .notebox { font-size: 16px; }
	
}


/* ------------------------------------------------------------------------- *
 *  Mobile (Mid Res) : 719px > 0px (480px & 320px)
/* ------------------------------------------------------------------------- */
@media only screen and (max-width: 719px) {
	
	/* layout */
	#wrapper { overflow: hidden; padding-left: 0; }
	.main-inner { display: block; }
	.sidebar .widget { margin-top: 0; border-width: 1px 0 0 0; }
	
	.container { padding: 0; }
	.grid { width: 100%; margin: 0 0 10px; }
	.sidebar .widget { padding-left: 20px; padding-right: 20px; }
	.pagination { margin-left: 20px; margin-right: 20px; }
	
	/* hide */
	.site-description,
	.image-caption { display: none; }
	
	/* base */
	.pad { padding: 20px 20px 10px; }
	.entry { font-size: 15px; }
	
	/* text */
	.entry h1 { font-size: 30px; letter-spacing: -1px; }
	.entry h2 { font-size: 26px; letter-spacing: -1px; }
	.entry h3 { font-size: 24px; letter-spacing: -0.3px; }
	.entry h4 { font-size: 22px; letter-spacing: -0.3px; }
	.entry h5 { font-size: 18px; }
	.entry h6 { font-size: 16px; text-transform: uppercase; }

	/* header */
	#header,
	#header .pad { padding: 0; }
	.site-title { padding: 10px 0; margin: 0; width: 100%; float: none; line-height: 50px; }
	.site-title a { text-align: center; }

	.site-title a img { max-height: 40px;}
	
	.search-trap-focus { position: static; }
	.toggle-search { display: block; background: none; border: 0; width: 44px; min-height: 44px; position: absolute; left: 20px; top: 10px; z-index: 103; color: #333; margin: 0; padding: 0; }
	.toggle-search:hover,
	.toggle-search:focus,
	.toggle-search.active { background: rgba(0,0,0,0.04); border-radius: 30px; }
	.toggle-search:focus { outline: none; }
	.s2 .themeform.searchform div:after { top: 22px; left: 26px; }
	#nav-header.nav-container { margin-top: 0; }

	#wrap-nav-mobile .menu-toggle { position: absolute; top: 10px; right: 20px; float: none; margin-right: 0; z-index: 103; }

	/* mobile search dropdown: single full-width row below the header, growing to fit live results */
	.search-expand { box-sizing: border-box; position: static; width: 100%; margin: 0; padding: 0 20px; border-top: 0 solid rgba(0,0,0,0.07); max-height: 0; overflow: hidden; transition: max-height 0.5s cubic-bezier(0, 1.05, 0, 1), padding 0.5s cubic-bezier(0, 1.05, 0, 1), border-top-width 0.5s cubic-bezier(0, 1.05, 0, 1); }
	.toggle-search.active ~ .search-expand { max-height: 640px; padding: 14px 20px; border-top-width: 1px; transition: max-height 0.5s cubic-bezier(1, 0, 1, 0), padding 0.5s cubic-bezier(1, 0, 1, 0), border-top-width 0.5s cubic-bezier(1, 0, 1, 0); }
	.search-expand-inner { width: 100%; }
	.search-expand .themeform.searchform div { width: 100%; }
	.search-expand .themeform input { width: 100%; border: 1px solid #eee; border-radius: 20px; padding: 10px 10px 10px 36px; font-size: 16px; }
	.search-expand .themeform input:focus { border-color: #ccc; box-shadow: inset 0 0 12px rgba(0,0,0,0.2); }
	.search-expand .themeform.searchform div:after { left: 16px; top: 8px; }

	/* live results: inline, growing rows styled like the mobile menu, not a floating card */
	/* Every div in here (this one, plus .search-live-loading/.search-live-empty swapped in by JS)
	   unavoidably also matches ".search-expand .themeform.searchform div" (the input-wrapper icon/width
	   rule, meant for a sibling div, not this subtree) since they're all divs nested inside .themeform.searchform.
	   Blanket-neutralize it here once instead of overriding it per new div. */
	.search-expand .search-live-results,
	.search-expand .search-live-results div { width: auto !important; box-sizing: border-box; }
	.search-expand .search-live-results:after,
	.search-expand .search-live-results div:after { content: none !important; }
	/* !important: style.css now forces this element's position to "absolute" (for desktop's
	   floating card); this specific, higher-specificity rule needs to win over that on mobile. */
	.search-expand .search-live-results { position: static !important; top: auto; left: auto; right: auto; margin: 14px -20px 0; max-height: none; overflow: visible; background: none; border-radius: 0; box-shadow: none; border-top: 1px solid rgba(0,0,0,0.07); }
	.search-expand .search-live-list { padding: 0; }
	.search-expand .search-live-list a { padding: 14px 20px; border-radius: 0; border-bottom: 0; }
	.search-expand .search-live-list li:not(:last-child) a { border-bottom: 1px solid rgba(0,0,0,0.07); }
	.search-expand .search-live-list a:hover { background: none; }
	.search-expand .search-live-title { font-size: 16px; font-weight: 600; }
	.search-expand .search-live-item-page .search-live-title,
	.search-expand .search-live-item-category .search-live-title,
	.search-expand .search-live-item-tag .search-live-title { font-weight: 600; }
	.search-expand .search-live-loading,
	.search-expand .search-live-empty { padding: 10px 20px 0; }
	
	.wrap-content-top .searchform { display: none; }
	.wrap-content-top .social-links { float: none; text-align: center; margin-bottom: 10px; }
	.wrap-content-top .social-links li { margin: 0 4px; }
	.wrap-content-top .social-links .social-tooltip { padding: 6px; }
	
	/* footer */
	#nav-footer.nav-container { padding: 0; }
	#footer-bottom .pad { padding-top: 50px; padding-bottom: 40px; }
	#footer-bottom .one-half.last { margin-bottom: 0; }
	#footer-bottom { text-align: center; }
	#footer-bottom #footer-logo { margin-left: auto; margin-right: auto; }
	#footer-bottom .social-links { float: none; }
	#footer-bottom .social-links li { margin-left: 4px; margin-right: 4px; }
	
	/* comments */
	.comment-tabs { font-size: 14px; }
	.commentlist li { font-size: 13px; }
	.commentlist li ul li { padding-left: 10px; }
	
	/* page */
	.page-title { font-size: 18px; margin-bottom: 0; }
	.notebox { font-size: 15px; }
	
	/* blog */
	.featured-content { padding: 30px 30px 20px; }
	.featured-item { height: 300px; }
	.featured-title { font-size: 24px; line-height: 1.2em; }
	
	.entry-list .entry-title a { font-size: 24px; }
	
	.entry-header .entry-title { font-size: 24px; margin-bottom: 10px; }
	.entry-header .entry-meta { font-size: 15px; }
	.entry-media { margin-bottom: 30px; }
	
	.front-widget-col { width: 100%; }
	.front-widget-inner { margin: 0; }

	.format-gallery .post-format .flexslider .slides img { max-height: 340px; }
	
	/* single */
	.entry-share-top { margin-top: -10px; margin-bottom: 20px; }
	.entry-share-label { display: none; }

	.post-nav li { width: 100%; -webkit-box-shadow: none!important; box-shadow: none!important; }
	.post-nav li a { min-height: 0; }
	.post-nav li.previous { border-top: 1px solid #eee; }
	.sidebar .post-nav li.previous { border-top: 0; }
	
	.related-posts { grid-template-columns: repeat(2, 1fr); gap: 20px; }
	
	.author-bio .bio-desc { font-size: 16px; }
	
}

/* ------------------------------------------------------------------------- *
 *  Mobile (Low Res) : 479px > 0 (320px)
/* ------------------------------------------------------------------------- */
@media only screen and (max-width: 479px) {
	
	/* layout */
	.content,
	.sidebar.s1 { width: 100%; float: none; margin-right: 0!important; margin-left: 0!important; }
	.sidebar.s1 { width: 100%; display: block; float: left; margin-top: 20px; }
	.main,
	.main-inner { padding: 0!important;  }
	.content { padding: 0; }
	.sidebar .widget { margin-top: 0; border-bottom: 1px solid #e5e5e5; }
	
	/* hide */
	.mobile-sidebar-hide-s1 .s1,
	.mobile-sidebar-hide .sidebar,
	.gallery-caption { display: none; }
	
	/* base */
	.col-2cr .s1 .sidebar-content { margin-left: 0; }
	.col-2cl .s1 .sidebar-content { margin-right: 0; }

	.article-grid { display: block; }
	.article-grid > article { margin-bottom: 20px; }
	
	/*.entry-media { padding-left: 20px; padding-right: 20px; }*/
	
	.page-title { padding-top: 30px; padding-bottom: 0; }
	.page-title h1, 
	.page-title h2,
	.page-title h3, 
	.page-title h4 { font-size: 18px; }
	.page-title .notebox { font-size: 15px; }
	
	/* header */
	.site-title { font-size: 32px; }
	#profile { padding-top: 20px; }
	
	/* blog */
	.post-wrapper { border-radius: 40px; }
	
	.page .content > article,
	.single .content > article { padding: 0; }
	
	.entry > .alignfull { margin-left: -20px; margin-right: -20px; }
	
	.entry-header,
	.entry-content,
	.entry-share-top,
	.entry-footer { padding-right: 20px; padding-left: 20px; }
	
	/* entry share */
	.entry-share-footer .entry-share-label { display: none; }

}

