/*
Theme Name: Traffic Lights Driving School
Description: Modern replacement retaining the original Traffic Lights Driving School design.
Version: 1.0.1
Author: DSW
Text Domain: traffic-lights-driving-school
*/

* { box-sizing: border-box; }
html { overflow-x: hidden; }
body { margin: 0; color: #000; background: #fff; font: 13px/1 Verdana, Geneva, Arial, Helvetica, sans-serif; }
a { color: #1643a5; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-sheet { width: 988px; max-width: calc(100% - 20px); margin: 5px auto 0; padding: 2px 5px 5px; border: 3px solid #1744a6; background: #fff; }
.site-header { width: 100%; aspect-ratio: 972 / 219; background: url('assets/header.png') center / 100% auto no-repeat; }
.header-link { display: block; width: 100%; height: 100%; }
.site-layout { display: grid; grid-template-columns: 192px minmax(0, 780px); align-items: stretch; }
.site-sidebar { width: 192px; min-width: 0; }
.site-content { min-width: 0; }
.menu-toggle { display: none; }

.widget { margin: 7px; }
.widget_search { padding: 7px; border: 1px solid #1643a5; background: #fff; }
.widget-title { min-height: 34px; margin: 0 0 7px; padding: 9px 7px 9px 27px; color: #fff; background: url('assets/blockheadericon.png') no-repeat left center, linear-gradient(#1c53ca,#123787); font: bold 14px/1.1 Verdana, Geneva, Arial, sans-serif; }
.search-form { position: relative; display: flex; }
.search-field { width: 100%; min-width: 0; height: 35px; padding: 7px 33px 7px 7px; border: 1px solid #999; font: 13px Verdana, sans-serif; }
.search-submit { width: 35px; height: 35px; margin-left: -35px; border: 0; overflow: hidden; background: url('assets/searchicon.png') center no-repeat; color: transparent; cursor: pointer; }
.widget_nav_menu .widget-title { display: none; }
.widget_nav_menu { margin-top: 7px; }
.vertical-menu, .vertical-menu ul, .widget_nav_menu ul { margin: 0; padding: 0; list-style: none; }
.vertical-menu li, .widget_nav_menu li { position: relative; }
.vertical-menu a, .widget_nav_menu .menu a { display: block; width: 100%; height: 32px; margin: 5px 0; padding: 0 10px; overflow: hidden; border: 1px solid #828282; border-radius: 6px; color: #fff; background: linear-gradient(#1b51c5,#071636); text-decoration: none; text-overflow: clip; white-space: nowrap; font: bold 13px/30px Verdana, Geneva, Arial, sans-serif; }
.vertical-menu .current-menu-item > a, .vertical-menu .current_page_item > a, .widget_nav_menu .current-menu-item > a, .widget_nav_menu .current_page_item > a, .vertical-menu a:hover, .widget_nav_menu .menu a:hover { border-color: #aa8a18; color: #15409d; background: linear-gradient(#fff,#ababab); }
.vertical-menu .sub-menu, .widget_nav_menu .sub-menu { padding-left: 12px; }

.entry, .archive-list { width: 100%; margin: 0; padding: 0; }
.entry-title, .archive-title { margin: 0 0 10px; padding: 0; color: #1643a5; font: normal 26px/1.19 'Trebuchet MS', Arial, Helvetica, sans-serif; }
.featured-image { margin: 0 0 10px; }
.entry-content { min-height: 1px; }
.entry-content::after { display: block; clear: both; content: ''; }
.entry-content p { margin: 13px 0; }
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 { margin: 10px 0 0; color: #1643a5; font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif; line-height: 1.2; }
.entry-content h1 { font-size: 30px; }
.entry-content h2 { font-size: 28px; }
.entry-content h3 { font-size: 24px; }
.entry-content h4 { font-size: 20px; }
.entry-content h5 { font-size: 16px; }
.entry-content h6 { font-size: 14px; }
.entry-content a { color: #1643a5; text-decoration: none; }
.entry-content a:hover { color: #071636; text-decoration: underline; }
.entry-content blockquote { clear: both; overflow: auto; margin: 10px 10px 10px 40px; padding: 0 0 0 28px; background: #e7ecf8 url('assets/postquote.png') no-repeat left top; }
.entry-content blockquote p { margin: 13px; }
.entry-content ul { list-style-image: url('assets/postbullets.png'); }
.entry-content iframe, .entry-content table { max-width: 100%; }
.entry-content td, .entry-content th { text-align: left; vertical-align: top; }
.post-entry { margin-bottom: 18px; padding-bottom: 12px; border-bottom: 1px solid #ccd5ec; }
.post-title { margin: 0 0 8px; color: #1643a5; font: normal 26px/1.19 'Trebuchet MS', Arial, Helvetica, sans-serif; }
.post-title a { text-decoration: none; }
.navigation.pagination { clear: both; margin: 12px 0; }
.page-numbers { display: inline-block; padding: 4px 7px; border: 1px solid #1744a6; text-decoration: none; }

.alignleft { float: left; margin: 0 1em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1em; }
.aligncenter { display: block; margin: 1em auto; }
.alignnone { margin: 0 0 1em; }
.wp-caption { max-width: 100%; }
.wp-caption-text { margin-top: 4px; color: #555; font-size: 11px; text-align: center; }
.gallery { display: flex; flex-wrap: wrap; gap: 10px; }
.gallery-item { margin: 0; }

.site-footer { position: relative; min-height: 43px; margin-top: 1px; padding: 8px; color: #fff; background: #1643a5; }
.site-footer p { margin: 7px 0; text-align: center; }
.footer-rss { position: absolute; bottom: 8px; left: 6px; display: block; width: 32px; height: 32px; }
.footer-rss img { display: block; width: 32px; height: 32px; max-width: none; }
.designer { margin: 0; padding-top: 8px; color: #000; text-align: center; font: 10px/1 Arial, Helvetica, sans-serif; }
.designer a { color: #000; }

@media (max-width: 800px) {
  .site-sheet { max-width: calc(100% - 12px); }
  .menu-toggle { display: block; width: 100%; height: 40px; margin: 5px 0; padding: 0 12px; border: 1px solid #828282; color: #fff; background: linear-gradient(#1b51c5,#071636); text-align: left; font: bold 15px/38px Verdana, sans-serif; }
  .site-layout { display: block; }
  .site-sidebar { display: none; width: 100%; }
  .site-sidebar.is-open { display: block; }
  .widget_search { margin-right: 0; margin-left: 0; }
  .widget_nav_menu { margin-right: 0; margin-left: 0; }
  .vertical-menu a, .widget_nav_menu .menu a { height: auto; min-height: 38px; margin: 3px 0; padding: 8px 12px; white-space: normal; line-height: 1.5; }
  .site-content { width: 100%; }
}

@media (max-width: 480px) {
  .site-sheet { max-width: 100%; margin-top: 0; padding: 3px; border-width: 2px; }
  .entry-title, .archive-title { font-size: 23px; }
  .entry-content h1 { font-size: 26px; }
  .entry-content h2 { font-size: 24px; }
  .entry-content h3 { font-size: 21px; }
  .entry-content blockquote { margin-left: 12px; }
}
