/*
Theme Name:     LeapalongMini
Theme URI:
Author:         Design FX Studio
Author URI:     http://www.designfxstudio.co.uk/
Description: 	Custom WordPress Theme for LeapAlong
leapalongmini.
Version:        3.2
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Tags:           one-column, two-columns, left-sidebar, right-sidebar
Text Domain:    leapalongmini
*/

/*----------------------------------------------------------------------------*\
  #COLOUR PALETTE

    Primary                 #4b8b3d
    Secondary               #e3050d
    Header Font             #e3000b
    Body Font               #616264
    Links                   #e3050e
    Links Hover             #4b8b3e
    Input Border            #cfd0d0
    Input Background        #ececec

\*----------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------*\
  #RESET
\*----------------------------------------------------------------------------*/
div,
article,
section,
li {
	  position: relative; /* Absolutely positioning elements within containers */
}

html,
body {
    height: 100%;
  	font-size: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    font-weight: normal;
    font-style: normal;
  	line-height: 1.6rem;
  	font-family: 'Open Sans', sans-serif;
  	color: #616264;
    padding: 0;
    margin: 0;
    position: relative;
    cursor: auto;
}

*,
*:before,
*:after {
  	-webkit-box-sizing: border-box;
  	-moz-box-sizing: border-box; 
  	box-sizing: border-box;
}

.row {
    max-width: 1080px;
}

menu,
ol,
ul {
	margin: 0;
	padding: 0;
}

ul {
	list-style-type: none;
}

li > ul,
li > ol {
	margin: 0;
}

img {
	-ms-interpolation-mode: bicubic;
	border: 0;
    display: inline-block;
	vertical-align: middle;
}

/* We use this to get basic styling on all basic form elements */
input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="color"],
textarea {
    color: #616264;
    border-radius: 0;
    background-color: #ececec;
    border: 1px solid #cfd0d0;
    box-shadow: none;
    transition: all 0.15s linear;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="time"]:focus,
input[type="url"]:focus,
input[type="color"]:focus,
textarea:focus {
    background: #ececec;
    border-color: #e3050d;
    outline: 1px solid #e3050d;
}

input[type=submit] {
    font-weight: 700;
    color: #fff;
    line-height: 1;
    padding: 0.7rem 2rem 0.6rem 2rem;
    display: block;
    background: #e3050d;
    border: 0 none;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    transition: background 0.4s ease;
}

input:hover[type=submit],
input:focus[type=submit] {
    background: #4b8b3d;
}

textarea {
    min-height: 200px;
    max-width: 100%;
}

/* Respect enforced amount of rows for textarea */
textarea[rows] {
  height: auto;
}

select {
    border-radius: 0;
    border: 1px solid #cfd0d0;
    box-shadow: none;
    transition: all 0.15s linear;
}

/* Label Styles */
label {
    font-size: 15px;
    font-weight: 400;
    color: #616264;
    margin-bottom: 0.2rem;
}

/* Responsive Videos */
.video-wrapper {
    position: relative;
    padding-bottom: 46%;
    padding-top: 25px;
    height: 0;    
    margin: 1.5rem auto;
    overflow: hidden;
}

.video-wrapper iframe,
.video-wrapper object,
.video-wrapper embed,
.video-wrapper video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

table thead {
    font-size: 24px;
    font-weight: 700;
    color: #33c7f7;
    background: transparent;
}

table tfoot td,
table tfoot th,
table thead td,
table thead th {
    padding: 16px 0;
}

table {
    border-spacing: 0;
}

table .button {
    font-size: 28px;
    margin-bottom: 0;
}

/*----------------------------------------------------------------------------*\
  #TYPOGRAPHY
\*----------------------------------------------------------------------------*/
/* Typography resets */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,
pre, form, p, blockquote, th, td {
    margin: 0;
    padding: 0;
}

/* Default Link Styles */
a {
    color: #e3050e;
    text-decoration: none;
    line-height: inherit;
}

a:hover {
    color: #4b8b3e;
}

a:focus {
    outline: 2px solid #ebebeb;
}

/* Default paragraph styles */
p {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 1.25rem;
}

p aside {
    font-size: 0.875rem;
    line-height: 1.35rem;
    font-style: italic;
}

/* Default heading styles */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Schoolbell', cursive;
    font-weight: normal !important;
    margin-top: 0;
    margin-bottom: 1.25rem;
    line-height: 1.3;
}
  
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    font-size: 60%;
    line-height: 0;
}

h1, h2, h3, h4, h5, h6 {
    color: #616264;
}

h1 {
    font-size: 50px;    
}

h2 {
    font-size: 35px;    
}

h3 {
    font-size: 30px;    
}

h4 {
    font-size: 20px;    
}

h5 {
    font-size: 18px;    
}

h6 {
    font-size: 17px;    
}

strong {
    font-weight: 700;
}

small {
    font-size: 85%;
}

hr {
    border: solid #cfd0d0;
    border-width: 1px 0 0;
    clear: both;
    margin: 3rem 0 2rem 0;
    height: 0;
}

button,
.button {
    font-family: 'Schoolbell', cursive;
    font-size: 30px;
    color: #fff !important;
    background: #e3050d;
    border-radius: 3px;
    padding: 0.6rem 1.6rem;
    transition: background 0.4s ease !important;
}

button:hover,
button:focus,
.button:hover,
.button:focus {
    color: #fff;
    background: #4b8b3d;
}

button:focus,
.button:focus {
    outline: 0 none;
}

blockquote {    
    padding: 2rem 0 0.25rem 0;
    margin-top: 1.25rem;
    margin-bottom: 1.75rem;    
    border-left: 0 none;
    float: left;
    display: block;
    position: relative;
    -webkit-hyphens: none;
    -moz-hyphens:    none;
    -ms-hyphens:     none;
    hyphens:         none;
}

blockquote cite:before {
    content: "";
    margin-right: 0;
}

blockquote cite {
    font-size: 0.875em;
    font-weight: 700;
    font-style: normal;
    display: block;
}

blockquote cite a,
blockquote cite a:visited {
    color: #333b3f;
}

blockquote,
blockquote p,
blockquote .lead {
    font-size: 1.125em;
    line-height: 1.5;
    text-align: center;
    
}

/*----------------------------------------------------------------------------*\
  #UTILITIES
\*----------------------------------------------------------------------------*/
.container {
    padding: 2rem 0;
}

.wpcf7-form-control.g-recaptcha {
    margin-bottom: 1.25rem !important;
}

/* Back to top button */
.topbutton {
    height: 50px;
    width: 50px;
    font-size: 1.5rem;
    color: #fff !important;
    position: fixed;
    right: 30px;
    bottom: 30px;
    text-align: center;
    line-height: 44px;
    z-index: 1000;
    background: #e3050d;
    border-radius: 3px;
    display: none;
    transition: all 0.4s ease;
}

.topbutton:hover {
    background: #4b8b3d;
}

.animated { 
    animation-duration: 2s; 
    animation-fill-mode: both; 
    animation-timing-function: ease-in-out; 
} 

@keyframes fadeIn { 
    0% {opacity: 0;} 
    100% {opacity: 1;} 
} 
.fadeIn { 
    animation-name: fadeIn; 
}

.card {
    color: #616264;
}

/*----------------------------------------------------------------------------*\
  #HEADER SECTION
\*----------------------------------------------------------------------------*/
.header-container {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 1000;
    background: #33c7f7;
    box-shadow: 0px 0px 10px #ccc;
}

.site-logo {
    margin: 7px 0;
}

.custom-logo-link:focus {
    outline: none;
}

.custom-logo-link img {
    max-width: 100%;
    height: auto;
}

.main-navigation-container {
    min-height: 126px;
}

.desktop-menu {
   float: right;
}

.desktop-menu li {
    height: 127px;
    text-align: center;
    padding: 20px 0 0 0;
}

.desktop-menu li a:before {
    content: "";
    width: 50px;
    height: 50px;
    display: block;
    margin: 0 auto 10px auto;
    background-image: url(images/minisite_menu_icons_sprite.png);
    background-repeat: no-repeat;
}

.desktop-menu li.home-page a:before {
    background-position: -9px -10px;
}

.desktop-menu li.classes-page a:before {
    background-position: -70px -10px;
}

.desktop-menu li.parties-page a:before {
    background-position: -130px -10px;
}

.desktop-menu li.blog-page a:before {
    background-position: -10px -70px;
}

.desktop-menu li.contact-page a:before {
    background-position: -70px -70px;
}

.desktop-menu li.main-site a:before {
    background-position: -130px -70px;
}

.desktop-menu li a {
    font-family: 'Schoolbell', cursive;
    font-size: 22px;
    color: #fff;
    min-height: 107px;
    display: block;
}

.desktop-menu li:hover,
.desktop-menu li:focus {
    background: #a1c50f;
}

.desktop-menu li a:hover {
    color: #fff;
}

.desktop-menu li a:focus {
    outline: none;
}

.desktop-menu .active {
    background: #a1c50f;
}

.desktop-menu .active > a {
    color: #fff;
    background: transparent;
}

.desktop-menu li ul {
    min-width: 300px;
    background: #33c7f7;
    border: 0 none;
}

.desktop-menu li ul li {
    height: auto;
    padding: 0 0 0 0;
}

.desktop-menu li ul li a:before {
    height: 0;
    width: 0;
    margin: 0 0 0 0;
}

.desktop-menu li ul li a {    
    color: #4b8b3d;
    text-align: left;
    text-transform: none;
    line-height: 1;
    height: auto;
    min-height: 1px;
    padding: 1rem 0.5rem 1rem 1rem;
    display: block;
}

.desktop-menu li ul li a:hover {
     color: #fff;
}

.main-navigation .menu.dropdown > li.is-dropdown-submenu-parent > a::after {
    border: 0 none;
}

.main-navigation .dropdown.menu.vertical > li.opens-left > a::after {
    border: inset 5px;
    border-color: transparent #fff transparent transparent;
}

.main-navigation .dropdown.menu.vertical > li.opens-right > a::after {
    border: inset 5px;
    border-color: transparent transparent transparent #fff;
}

/*----------------------------------------------------------------------------*\
  #HOME PAGE SECTION
\*----------------------------------------------------------------------------*/
/* Orbit Slider */
.hero {
    padding: 2rem 0;
    margin-bottom: 3rem;
    background: #eee;
}

.hero h1 {
    color: #4b8b3d;
}

.hero .caption .button {
    margin-right: 1rem;
}

/* Home content */
.home-content img {
    margin-top: 0;
    margin-bottom: 0;
}

.home-content .play-button {
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 55px;
    background: #e3050d;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -25px;
    margin-top: -25px;
    transition: background 0.4s ease;
}

.home-content .play-button:hover,
.home-content .play-button:focus {
    background: #4b8b3d;
    outline: 0 none;
}

.home-content .play-button .fa {
    font-size: 23px;
    color: #fff;
}

.home-content .play-button a:focus {
    outline: 0 none;
}

.home-content hr {
    margin: 0 0.93rem;
}

.home-cards {
    border-radius: 3px;
    border-width: 2px;
}

.home-cards .card {
    margin-bottom: 20px;
}

.home-cards p {
    font-size: 18px;
}

.home-cards .card-section {
    padding-bottom: 0;
}

.home-cards .news-card,
.home-cards .widget-card.top {
    padding-top: 2.5rem;
}

.home-cards .news-card .card-section,
.home-cards .widget-card.bottom .card-section {
    padding-bottom: 0 !important;
}

.home-cards .news-card .attachment-thumbnail {
    float: none;
    margin: 0.5rem auto 0.5rem auto;
    display: block;
}

.home-cards .facebook-card {    
    margin-top: 1rem;
}

.home-cards .custom-html-widget {
    padding-top: 0;
    margin-top: 0;
}

.home-cards .widget-container {
    border-bottom: 0;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

.home-cards .widget-area {
    margin-bottom: 0 !important;
}

.home-cards .textwidget {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.home-cards .widget-area p {
    font-size: 18px;
}

.home-cards .widget-area p {
    font-size: 18px;
}

.home-cards .button {
    margin-bottom: 0;
}

.home-cards .news-card h2,
.home-cards .widget-card h2 {
    font-size: 35px;
    line-height: 1.2;
}

.home-cards .news-card .post-entry:first-of-type {
    margin: 1.2rem 0 0 0;
}

.home-cards .news-card .post-entry h3 {
    font-family: 'Open Sans', sans-serif;
    font-size: 22px;
    font-weight: 700 !important;
    color: #e3050d;
    margin: 0.5rem 0;
}

.home-cards .news-card .post-entry p {
    
}

.home-cards .news-card .post-date {
    font-size: 16px;
}

.home-cards .news-card a.read-more {
    font-size: 20px;
    font-weight: 700;
}

.home-cards .stay-up-to-date img {
    margin-right: auto;
    margin-left: auto;
    display: block;
}

.home-cards .stay-up-to-date img.find-us-on-fb {
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.home-cards .stay-up-to-date .card {
    background: url(images/leapalong_frog_looks_up.png) center bottom no-repeat;
}

/*----------------------------------------------------------------------------*\
  #CONTENT
\*----------------------------------------------------------------------------*/
.banner-container {
    margin-bottom: 3rem;
    background: #33c7f7;
}

.banner-container .caption {
    padding-top: 1rem;
}

.banner-container h1 {
    color: #fff;
}

.banner-container p {
    font-family: 'Schoolbell', cursive;
    font-size: 35px;
    color: #fff;
    line-height: 1.3;
}

.banner-container .button {
    margin-bottom: 2rem;
}

/* Entry header */
.entry-header {
    margin: 2rem 0 1.5rem 0;
}

.entry-header .entry-title {
    color: #4b8b3d;
    margin-bottom: 0;
}

.entry-thumbnail img {
    display: block;
    margin: 0 auto;
}

/* Entry content */
.entry-content {
    word-wrap: break-word;
    margin: 0 0 2rem 0;
}

.entry-content a {
    transition: color 0.4s ease;
}

.entry-content ul {
    display: table;
    margin: 1rem 0 1rem 1rem;
    padding-left: 0;
}

.entry-content ul li:before {
    content: "•";
    display: table-cell;
    padding-right: 1.3rem;
}

.entry-content ul li {
    font-size: 18px;
    line-height: 1.8rem;    
    list-style-type: none;    
    display: table-row;
    margin-bottom: 0.3rem;
}

.entry-content ul li:after {
    content: "";
    display: block;
    margin-bottom: 0.3rem;
}

.entry-content ol {
    margin: 1rem 1rem 1rem 1rem;
}

.entry-content ol li {
    font-size: 18px;
    line-height: 1.8rem;
    list-style-type: decimal;
    list-style-position: inside;
    margin-bottom: 0.3rem;
}

.entry-content button a,
.entry-content .button a,
.entry-content button a,
.entry-content .button a:visited {
    color: #fff;
    border-bottom: 0 none;
}

.entry-content.map p {
    margin-bottom: 0;
}

.entry-content.map iframe {
    padding: 5px;
    border: 1px solid #cfd0d0;
}

span.wpcf7-list-item {
    margin-left: 0;
}

.entry-content.class-info-content strong {
    font-size: 26px;
    color: #33c7f7;
}

.timetables .day-timetable h3 {
    margin-bottom: 0.5rem;
}

.timetables .day-timetable {
    padding: 1rem 0 1rem 0;
}

.timetables table tbody td {
    font-size: 22px;
    padding: 8px 0;
}

/* Entry footer */
.entry-footer {
    clear: both;
    margin: 2rem 0 4rem 0;
}

.entry-footer h3 {
    font-size: 1.2em;
    color: #616264;
    margin-bottom: 20px;
}

.edit-link {
    float: left;
    clear: both;
    margin-bottom: 3rem;
    background: #4b8b3d;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
}

.edit-link:hover {
    background: #e3050d;
}

.edit-link a {
    color: #fff;
    padding: 8px 16px;
    display: block;
    border-bottom: 0 none;
}

.edit-link a:hover {
    color: #fff;
    border-bottom: 0 none;
}

/* Parties Page */
.party-boxes {
    padding-top: 2rem;
}

.party-boxes .card {
    border-radius: 4px;
    margin-bottom: 1.86rem;
}

.party-boxes .card h2 {
    line-height: 1.1;
}

.party-boxes .button {
    margin-bottom: 0.5rem;
}

.party-boxes img {
    margin-bottom: 0.5rem;
}

/* Sitemap page */
.sitemap-column {
    margin: 0 0 3rem 0;
}

.sitemap-column h2 {
    padding-bottom: 10px;
    border-bottom: 1px solid #cfd0d0;
}

.sitemap-column a {
    color: #e3050d;
}

/*----------------------------------------------------------------------------*\
  #POSTS
\*----------------------------------------------------------------------------*/
ol.post-list {
    margin: 2.3rem 0 0 0;
    padding: 0;
}

ol.post-list li {
    list-style-type: none;
    padding: 0 0 1.7rem 0;
    margin: 0 0 1.7rem 0;
    border-bottom: 1px solid #e8e6e8;
    position: relative;
}

ol.post-list li.sticky {    
    border-style: solid;
    border-width: 1px;
    border-color: #e8e6e8;
    margin-bottom: 1.25rem;
    padding: 1.25rem;
    background: #ececec;
}

ol.post-list li.sticky .attachment-thumbnail {
}

.attachment-thumbnail {
    float: left;
    margin: 3px 20px 0 0;
}

.featured-image {
    display: block;
    margin: 20px auto 30px auto;
}

.bypostauthor {
    
}

.post-link {
    font-size: 2.125rem !important;
    margin-bottom: 1rem;
}

.post-link a {
    color: #e3050e;
}

.post-link a:hover {
    color: #4b8b3e;
}

/* Post meta */
.post-meta {
    font-size: 0.8em;
    color: #616264;
    margin: 0 0 1.5rem 0;
}

.post-meta .fa {
    color: #e3050d;
}

.post-meta .post-author,
.post-meta .post-date,
.post-meta .post-category,
.post-meta .post-tag,
.post-comment {
    display: inline-block;
}

.post-author,
.post-meta .post-date,
.post-meta .post-category,
.post-meta .post-tag {
    margin-right: 10px;
}

/* Post navigation */
.post-nav ul {
    margin: 3rem 0 2.5rem 0;   
}

.post-nav ul li {    
    display: inline-block;
    margin: 0 0 20px 0;
}

.post-nav ul li a {
  color: #e3050d;
  padding: 7px 13px 7px 13px;
  font-size: 0.8em;
  border: solid 1px #e8e6e8;
  margin-left: 4px;
}

.post-nav ul li .current, 
.post-nav ul li .dots {
    color: #fff;
    padding: 8px 13px 7px 13px;
    font-size: 0.8em;
    margin-left: 4px;
    border: 1px solid #e3050d;
    background: #4b8b3d;
}

.post-nav ul li a:hover {
    color: #fff;
    background: #4b8b3d;
    border: 1px solid #e3050d;
    text-decoration: none;
}

/* Post image attachments */
.entry-content .attachment {
    margin: 4rem 0 1rem 0;
}

.entry-content .attachment img {
    margin: 0 auto;
    display: block;
}

p.image-resolutions {
    margin: 2rem 0 4rem 0;
}

p.image-resolutions a {
    
}

.image-resolutions span {
    color: #cfd0d0;
}

/* Search results page */
.search-results ol {
    margin: 1.8rem 0 3rem 0;
}

.search-results ol li {
    list-style-type: none;
    padding: 1rem 0;
    margin: 0;
    border-bottom: 1px solid #cfd0d0;
}

.search-results a {
    font-size: 1.2rem;
    color: #e3050e;
}

.search-results a:hover {
    color: #4b8b3e;
}

/*----------------------------------------------------------------------------*\
  #SIDEBAR
\*----------------------------------------------------------------------------*/
.sidebar,
.sidebar-left {
    padding-top: 3.2rem;
}

.faq-sidebar .widget-container {
    border-bottom: 0 none;
}

/*----------------------------------------------------------------------------*\
  #FOOTER
\*----------------------------------------------------------------------------*/
.reviews-container {
    padding: 2rem 0;
    margin-top: 1rem;
    background: #33c7f7;
}

.reviews-container h3 {
    font-size: 35px;
    color: #fff;
}

.reviews-container .orbit-next,
.reviews-container .orbit-previous {
    line-height: 1;
    color: #fff;
    padding: 0.8rem 1rem;
    background-color: transparent;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    transition: all 0.5s ease;
}

.reviews-container .orbit-next:hover,
.reviews-container .orbit-next:focus,
.reviews-container .orbit-previous:hover,
.reviews-container.orbit-previous:focus {
    color: #33c7f7 !important;
    background-color: #fff;
    outline: 0 none;
}

.reviews-container blockquote {
    padding-top: 0;
    padding-bottom: 0;
    margin: 0 0 0 0;
}

.reviews-container .review p,
.reviews-container .review cite {
    color: #fff;
}

.reviews-container .review cite:before {
    content: "";
}

.reviews-container .review cite {
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
}

.footer-container {
    color: #e3050d;
    background: #e3050d;
    padding-top: 1.5rem;
}

.footer {
    height: auto;
    padding-bottom: 1.5rem;
}

.footer .site-contact h3,
.footer .site-contact p {
    line-height: 1.2;
    color: #fff;
    margin-bottom: 0.5rem;
}

.footer .site-contact p {
    font-family: 'Schoolbell', cursive;
}

.footer a {
    transition: color 0.4s ease;
}

.footer .site-contact .phone,
.footer .site-contact .email {
    color: #ffed00;
}

.footer .site-contact .phone:hover,
.footer .site-contact .email:hover {
    color: #fff;
}

ul.social-icons {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

ul.social-icons li {
    display: inline;
    margin: 0 0.4rem;
}

ul.social-icons li a {
    color: #e3050d;
    width: 50px;
    height: 50px;
    text-align: center;
    background: #fff;
    border-radius: 5px;
    display: inline-block;
    transition: background 0.3s ease;
}

ul.social-icons li a:hover {
    color: #e3050d;
    background: #ffed00;
}

ul.social-icons .fa {
    font-size: 40px;
    line-height: 50px;
    background: transparent;
}

.site-info p {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #fff;
    margin: 0 0;
}

.site-info a {
    text-decoration: none;
    color: #fff;
    transition: color 0.3s ease;
}

.site-info a:hover {
    color: #f7e738;
}

/*----------------------------------------------------------------------------*\
  #WIDGETS
\*----------------------------------------------------------------------------*/
.widget-area {
    margin: 0 0 0.5rem 0;
}

.widget-container {
    font-size: 0.9em;
    word-wrap: break-word;
    margin: 0 0 1.5rem 0;
    border-bottom: 1px solid #cfd0d0;
}

.widget-container .widget-title  {
    font-size: 1.425rem;
    padding-bottom: 1.2rem;
    margin: 0;
}

.widget-container p {
    font-size: inherit;
    line-height: inherit;
}

.widget-container a {
    transition: color 0.4s ease;
}

.widget-container a:hover {
    color: #4b8b3e;
}

.widget-container .screen-reader-text {
    visibility: hidden;
} 

.widget-container ul li {
    display: block;
}

/* Pages widget, Archives widget, Categories, Recent entries widget */
.widget_pages .widget-title,
.widget_archive .widget-title,
.widget_categories .widget-title,
.widget_recent_entries .widget-title {
    margin-bottom: 0;
}

.widget_pages li:first-child,
.widget_archive li:first-child,
.widget_categories li:first-child,
.widget_recent_entries li:first-child {
    border-top: 0 none;
}

.widget_pages li,
.widget_archive li,
.widget_categories li,
.widget_recent_entries li {
    margin: 0;
    border-top: 1px solid #ddd;
    border-bottom: 0 none;
}

.widget_pages ul ul li:first-child,
.widget_categories ul ul li:first-child {
    border-top: 1px solid #ddd;
}

.widget_pages a,
.widget_archive a,
.widget_categories a {
    line-height: 1.2rem;
    padding: 0.8rem 0;
    display: inline-block;
}

.widget_recent_entries li {
    padding-bottom: 0.8rem;
}

.widget_recent_entries a {
    line-height: 1.2rem;
    padding: 0.8rem 0 0 0;
    display: inline-block;
}

.widget_recent_entries .post-date {
    display: block;
}

.widget_archive select,
.widget_categories select {    
    margin: 0 0 1.6rem 0;
}

.widget_pages .children a {
    padding-left: 0.5rem;
}

/* Text widget */
.textwidget {
    padding-bottom: 1rem;
}

/* Search widget */
.search-form {
    padding: 0.5rem 0;
}

#searchform input {
    padding: 0 0.5rem;
    margin-bottom: 0;
}

/*----------------------------------------------------------------------------*\
  #IMAGES
\*----------------------------------------------------------------------------*/
.alignnone {
    margin: 8px 2.4rem 1.25rem 0;
}

.aligncenter, 
div.aligncenter {
    display: block;
    margin: 2.75rem auto 3rem auto;
}

.alignright {
    float: right;
    margin: 8px 0 1.25rem 2rem;
}

.alignleft {
    float: left;
    margin: 5px 2rem 1.25rem 0;
}

a img.alignright {
    float: right;
    margin: 8px 0 1.25rem 2rem;
    padding: 0;
}

a img.alignnone {
    margin: 8px 2rem 1.25rem 0;
}

a img.alignleft {
    float: left;
    margin: 8px 2rem 1.25rem 0;
    padding: 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}

.wp-caption {
    max-width: 98%; /* Ensure image does not overflow the content area */
    padding: 0px;
}

.wp-caption.alignnone {
    margin: 8px 2rem 1.25rem 0;
}

.wp-caption.alignleft {
    margin: 8px 2rem 1.25rem 0;
}

.wp-caption.alignright {
    margin: 8px 0 1.25rem 2rem;
}

.wp-caption.aligncenter {
    display: block;
    margin: 2rem auto 2rem auto;
}

.wp-caption img {
    max-width: 98.5%;
    height: auto;
    margin: 0;
    padding: 0;
    width: auto;
}

.wp-caption .wp-caption-text {
    font-size: 14px;
    line-height: 1.1rem;
    color: #616264;
    text-align: center;
    padding: 0.5rem 0 0.5rem 0;
    margin: 0;
    white-space: pre-line;
}

/* Galleries */
.entry-content .gallery {
    margin: 2rem 0 1rem -1rem !important;
}

.gallery dl dt,
.gallery dl dd {
    margin-bottom: 0;
}

.entry-content .gallery img {
    width: 100%;
    height: auto;
}

.gallery-item {
    display: inline-block;
    padding: 0 0 1rem 1rem;
    text-align: center;
    vertical-align: top;
    width: 100%;
    margin: 0 !important;
    animation-name: zoomIn;
    animation-delay: 1.2s;
    animation-duration: 1s; 
    animation-fill-mode: both; 
    animation-timing-function: ease-in-out;
}

@keyframes zoomIn { 
    0% { 
        opacity: 0; 
        transform: scale3d(.3, .3, .3); 
    } 
    50% { 
        opacity: 1; 
    } 
} 

.gallery-icon {

}

.gallery-columns-2 .gallery-item {
    max-width: 50%;
}

.gallery-columns-3 .gallery-item {
    max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
    max-width: 25%;
}

.gallery-columns-5 .gallery-item {
    max-width: 20%;
}

.gallery-columns-6 .gallery-item {
    max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
    max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
    max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
    max-width: 11.11%;
}

.gallery-icon img {
    margin: 0 auto;
}

.gallery-caption {
    display: block;
    font-size: 15px;
    min-height: 2.4rem;
    line-height: 1.2rem;
    text-align: center;
    padding: 0.2rem 0.5rem;
    clear: both;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
    display: none;
}

/* Responsive images. Fluid images for posts, comments, and widgets */
.row img,
.widget img,
.wp-caption img {
    max-width: 100%;
}

/* Make sure images with WordPress-added height and width attributes are scaled correctly. */
.row img,
img[class*="align"],
img[class*="wp-image-"],
img[class*="attachment-"] {
    height: auto;
}

img.entry-thumbnail,
img.attachment-thumbnail,
img.attachment-medium,
img.attachment-large,
img.size-thumbnail,
img.size-medium,
img.size-large,
img.wp-post-image {
    height: auto;
    max-width: 100%;
}

/**
 *
 * Our media queries begin here
 *
 */

 /*----------------------------------------------------------------------------*\
  #MOBILE NAVIGATION BREAKPOINT
\*----------------------------------------------------------------------------*/ 
@media screen and (max-width: 63.95em) {
    /* Header */
    .site-header .row {
        padding: 0 0;
    }

    .site-logo {
        width: 160px;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    /* Mobile top menu */
    .main-navigation ul {
        float: none;
    }

    .desktop-menu {
        display: none;
    }

    .no-js .title-bar,
    .title-bar {
        color: #fff;
        border-top: 1px solid #fff;
        background: #33c7f7;
        display: block;
    }

    .main-navigation-container {
        min-height: 40px;
        text-align: center;
    }

    .title-bar-title a {
        color: #fff;
    }

    .mobile-navigation .toggle {
        width: 40px;
        height: 40px;
        float: none;
        color: #fff;
        line-height: 40px;
        padding: 0;
        margin: -40px auto 0 auto;
        background: transparent !important;
    }

    .mobile-navigation .toggle::after {
        font-family: 'Fontawesome';
        font-size: 30px;
        float: none;
        color: #fff;
        content: '\f0c9' !important;
    }

    .mobile-navigation .toggle:hover {
        color: #fff;
        background: transparent;
    }

    .mobile-navigation .toggle:focus {
        outline: 0;
    }

    .mobile-navigation .is-accordion-submenu-parent>a::after {
        font-family: 'Fontawesome';        
        text-align: center;
        display: block;
        width: 40px;
        height: 40px;
        border: 0 none;
        content: '\f0d7';
        border-color: transparent;
        position: absolute;
        top: 0;
        right: 0;
        margin: 0 0 0 0;
    }

    .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
        content: '\f00d';
        -ms-transform: none;
            transform: none;
    }

    .mobile-navigation .nested.menu {
        margin-left: 0;
    }

    .mobile-navigation li a {
        font-family: 'Schoolbell', cursive;
        font-size: 22px;
        color: #fff;
        background: #33c7f7;
    }

    .mobile-navigation li a:hover,
    .mobile-navigation .active > a {
        color: #fff;
        background: #33c7f7;
    }

    .mobile-navigation ul ul li a {
        padding-left: 1.7rem;
    }

    .mobile-navigation .is-submenu-item {
        border-top: 1px solid #fff;
    }
}

/*----------------------------------------------------------------------------*\
  #EXTRA LARGE SCREENS
\*----------------------------------------------------------------------------*/ 
@media screen and (min-width: 160em) {
    
}

@media screen and (min-width: 130em) and (max-width: 159.9398em) {
    
}

@media screen and (min-width: 100em) and (max-width: 129.9398em) {
    
}

@media screen and (min-width: 80em) and (max-width: 99.9398em) {
    
}

/*----------------------------------------------------------------------------*\
  #LARGE SCREENS
\*----------------------------------------------------------------------------*/
@media screen and (min-width: 64em) and (max-width: 79.9398em) {
    
}

@media only screen and (min-width: 64em) {

    /* Header */
    .hero,
    .banner-container {
        margin-top: 127px;
    }

    .orbit .caption {
        position: absolute;
        width: auto;
        text-align: center;
    }

    /* Mobile menu */
    .no-js .title-bar,
    .title-bar,
    .mobile-navigation {
        display: none !important;
    }

    /* Home Page */
    .hero .banner-image {
        margin-top: 2rem;
    }

    .news-card .card {
        min-height: 820px;
    }

    .widget-card .card {
        min-height: 401px;
    }

    .banner-container {
        padding-top: 1rem;
    }

    .banner-container h1 {
        margin-bottom: 1.5rem;
    }

    .orbit .caption p,
    .banner-container p {
        font-size: 30px;
    }

    .home-cards .stay-up-to-date .card {
        background-size: contain;
    }

    /* Entry content */
    .entry-header {
        margin-top: 4rem;
    }

    .entry-content.map {
        margin-top: 6.4rem;
    }

    .timetables table {
        border-bottom: 1px solid #cfd0d0;
    }

    .timetables table tbody td {
        border-top: 1px solid #cfd0d0;
    }

    .timetables table tbody td:first-child {
        min-width: 320px;
    }

    .timetables table tbody td:nth-of-type(2) {
        min-width: 230px;
    }

    

    .timetables table tbody td:last-child {
        text-align: right;
    }

    /* Footer */
    .reviews-container blockquote {
        padding-right: 5rem;
        padding-left: 5rem;
    }

    .footer-container .row {
        background-image: url(images/leapalongmini_logo_footer.png);
        background-repeat: no-repeat;
        background-position: right 0;
        background-size: contain;
    }

    .footer .site-contact,
    .footer .site-info {
        text-align: center;
    }

    .footer .site-contact h3,
    .footer .site-contact p {
        font-size: 45px;
    }
}

/*----------------------------------------------------------------------------*\
  #MEDIUM SCREENS
\*----------------------------------------------------------------------------*/
@media screen and (min-width: 40em) and (max-width: 63.9398em) {
    a:focus {
        outline: none !important;
    }

    .row {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    /* Back to top button */
    .topbutton {
        right: 15px;
        bottom: 15px;
    }

    /* Header */
    .hero,
    .banner-container {
        margin-top: 137px;
    }

    .hero .caption h1 {
        font-size: 40px;
    }

    .hero h2 {
        font-size: 30px;
    }

    .hero .caption p {
        font-size: 16px;
    }

    .orbit .caption {
        position: absolute;
        width: auto;
        text-align: center;
    }

    .site-logo {
        width: 160px;
    }

    /* Home page */
    .orbit .caption {
        top: 28%;
        right: 4%;
        max-width: 280px;
    }

    .orbit .caption h1 {
        font-size: 26px;
    }

    .banner-container {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .banner-container h1 {
        font-size: 30px;
        margin-bottom: 1rem;
    }

    .orbit .caption p,
    .banner-container p {
        font-size: 22px;
    }    

    .orbit .caption .button,
    .banner-container .button {
        font-size: 22px;
    }

    .home-content img {
        margin-bottom: 2.5rem;
    }

    .widget-card.stay-up-to-date .widget-container {
        padding-bottom: 180px;
    }
    
    /* Entry content */
    .entry-header {
        margin-top: 4rem;
    }

    .entry-content {
        margin: 1rem 0;
    }    

    .timetables table tbody td:last-child {
        padding-bottom: 20px;
        border-bottom: 1px solid #cfd0d0;
    }

    /* Footer */
    .reviews-container blockquote {
        padding-right: 4rem;
        padding-left: 4rem;
    }

    .footer-container .row {
        background-image: url(images/leapalongmini_logo_footer.png);
        background-repeat: no-repeat;
        background-position: right 0;
        background-size: contain;
    }

    .footer .site-contact h3,
    .footer .site-contact p {
        font-size: 26px;
    }

    /* Images */
    .alignnone,
    .alignright,
    .alignleft,
    a img.alignright,
    a img.alignnone,
    a img.alignleft,
    .wp-caption.alignnone,
    .wp-caption.alignleft,
    .wp-caption.alignright {
        max-width: 300px !important;
    }

    /* Gallery */
    .gallery-columns-2 .gallery-item,
    .gallery-columns-3 .gallery-item {
        max-width: 50%;
    }

    .gallery-columns-4 .gallery-item,
    .gallery-columns-5 .gallery-item,
    .gallery-columns-6 .gallery-item {
        max-width: 33.33%;
    }

    .gallery-columns-7 .gallery-item,
    .gallery-columns-8 .gallery-item,
    .gallery-columns-9 .gallery-item {
        max-width: 25%;
    }

    /* Sidebar */
    .sidebar {
        margin-bottom: 0;
    }
}

/*----------------------------------------------------------------------------*\
  #SMALL SCREENS
\*----------------------------------------------------------------------------*/
@media screen and (max-width: 39.9375em) {
    a:focus {
        outline: none !important;
    }

    .row {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    /* Back to top button */
    .topbutton {
        right: 5px;
        bottom: 5px;
    }

    /* Home page */
    .hero,
    .banner-container {
        margin-top: 116px;
    }

    .hero .caption {
        text-align: center;
        margin-bottom: 1.5rem;
    }

    .hero .caption h1 {
        font-size: 50px;
    }

    .hero h2 {
        font-size: 30px;
    }

    .hero .caption p {
        font-size: 20px;
    }

    .orbit .caption {
        width: 100%;
        text-align: center;
        padding: 0.5rem 1.25rem;
        background: #26a733;
    }

    .orbit .caption h1 {
        font-size: 24px;
        color: #fff;
        animation-delay: 0s;
    }

    .orbit .caption p {
        font-size: 16px;
        color: #fff;
        animation-delay: 0s;
    }

    .orbit .caption a {
        animation-delay: 0s;;
    }

    .orbit .caption .button {
        font-size: 16px;        
    }

    .home-content {
        text-align: center;
    }

    .home-content img {
        margin-bottom: 2.5rem;
    }

    .widget-card.stay-up-to-date .widget-container {
        padding-bottom: 180px;
    }

    /* Entry content */
    .banner-container {
        text-align: center;
        padding-top: 1rem;
        padding-bottom: 1.5rem;
    }

    .banner-container .caption {
        padding-top: 2rem;
    }

    .banner-container h1 {
        font-size: 50px;
        margin-bottom: 1rem;
    }

    .banner-container p {
        font-size: 30px;
    }    

    .banner-container .button {
        margin-bottom: 1rem;
    }

    .entry-header {
        text-align: center;
        margin-top: 3rem;
    }
    
    .entry-content {
        text-align: center;
    }

    .entry-content img {
        margin-right: auto !important;
        margin-left: auto !important;
        display: block !important;
        float: none !important;
    }

    .entry-content ul,
    .entry-content ol {
        width: 100%;
        text-align: center;
        margin-left: 0;
    }

    .entry-content ul li,
    .entry-content ol li {
        display: inline;
    }

    .entry-content input[type=submit] {
        margin-right: auto;
        margin-left: auto;
        float: none;
    }

    .timetables table tbody td {
        padding-top: 20px;
    }

    .timetables table tbody td:last-child {
        padding-bottom: 30px;
        border-bottom: 1px solid #cfd0d0;
    }

    ol.post-list li {
        text-align: center;
    }

    ol.post-list li img {
        margin-right: auto;
        margin-bottom: 1rem;
        margin-left: auto;
        display: block;
        float: none;
    }

    /* Gallery Page */
    .gallery-cats ul li {
        width: 100%;
    }

    .gallery-cats a {
        padding: 0.3rem 0.8rem;
    }    

    /* Footer */
    .reviews-container blockquote {
        padding-right: 3rem;
        padding-left: 3rem;
    }

    .footer .site-contact,
    .footer .site-info {
        text-align: center;
    }

    .footer .site-contact h3,
    .footer .site-contact p {
        font-size: 32px;
    }

    /* Images */
    .alignnone,
    .alignright,
    .alignleft,
    a img.alignright,
    a img.alignnone,
    a img.alignleft,
    .wp-caption.alignnone,
    .wp-caption.alignleft,
    .wp-caption.alignright {
        max-width: 300px !important;
    }

    /* Gallery */
    .gallery-columns-2 .gallery-item,
    .gallery-columns-3 .gallery-item,
    .gallery-columns-4 .gallery-item,
    .gallery-columns-5 .gallery-item,
    .gallery-columns-6 .gallery-item,
    .gallery-columns-7 .gallery-item,
    .gallery-columns-8 .gallery-item,
    .gallery-columns-9 .gallery-item {
        width: 100% !important;
        max-width: 100%;
    }

    /* Sidebar */
    .sidebar {
        margin-bottom: 0;
    }

    /* Pages widget, Archives widget, Categories, Recent entries widget */
    .widget_pages .widget-title,
    .widget_archive .widget-title,
    .widget_categories .widget-title,
    .widget_recent_entries .widget-title,
    .widget_pages li,
    .widget_archive li,
    .widget_categories li,
    .widget_recent_entries li {
        text-align: center;
    }
}