/*
Theme Name: Burn Theory
Theme URI: 
Author: Tim Askey
Author URI: http://www.timaskey.com
Description: A custom wordpress theme for Burn Theory
Version: 2.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: askey
Text Domain: askey
*/

/******************/

html, body {
	height: 100%;
}

body {
	margin: 0;
	padding: 0;
	font: 400 12pt/1.4 'Roboto' ,'Helvetica Neue', Helvetica, Arial, sans-serif;
	color: #0b3c49;
    background-color: #f7fcff;
}

*,
*:after,
*:before {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

a:link,
a:visited,
a:hover, 
a:focus,
a:active { 
	text-decoration: none; 
	color: inherit; 
	outline: 0;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

/*************/
/* header */

/************/

h1 {
    font-family: 'Montserrat';
    /*font-size: 24pt;*/
    font-weight: 400;
    line-height: 1.6;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

h2 {
    font-family: 'Montserrat';
    font-weight: 400;
    line-height: 1.6;
}

h3 {
    font-family: 'Montserrat';
    font-weight: 400;
    line-height: 1.6;
}

p {
	line-height: 1.6;
}

/***********/

.content-style {
    /*text-shadow: 1px 1px 2px rgba(0,0,0,0.3);*/
}

.content-style h1 {

}

.content-style h2 {

}

.content-style h3 {

}

.style-links a {
    display: inline-block;
    font-family: 'Montserrat';
    font-size: 14pt;
    text-transform: uppercase;
    color: #fff !important;
    letter-spacing: 0.05em;
    font-weight: 400;
    padding: 15px 40px;
    margin: 20px 0;
    background-color: #00c8d2;
    border-radius: 2px;
}

/***************/

.flex-outer {
    display: -webkit-flex;
    display: flex;

    flex-direction: column;
}

.flex-inner {
    position: relative;

    padding: 40px;
    min-height: calc(100vh - 120px);

    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    -ms-flex-align: center;
}

.flex-section {
    position: relative;

    padding: 60px 40px;

    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    -ms-flex-align: center;
}

.auto-margin {
    width: 100%;
    max-width: 1400px;
    margin: auto;
}

.white-bg {
    background-color: #00c8d2;
    color: #fff;
}

.dark-bg {
    background-color: #fcd766;
    color: #fff;
}

.image-bg {
    background-color: #fcd766;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

/**************/

.banner {
    position: relative;
    min-height: 600px;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    padding: 40px;
    display: -webkit-flex;
    display: flex;
}

.banner--overlay {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.banner--meta {
    position: relative;
    margin: auto;
    max-width: 900px;
}

/**********/

.mindbody-timetable * {
    font-size: 11pt !important;
}
/**********/
.icons-section {
    padding: 20px 40px;
    max-width: 1400px;
    margin: auto;
    position: relative;
    text-align: center;
}

.icons-section h1 {
    display: inline-block;
    line-height: 2;
    border-bottom: 4px solid #fcd766;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.icons-flex {
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
}

.icon-container {
    margin: auto;
    width: 300px;
}

.icon {
    border-radius: 100%;
    background-color: #fff;
    margin: 20px auto;
    width: 140px;
}

.icon-container img {
    display: block;
    padding: 20%;
    margin: auto;
}

.icon-container h2 {
    font-size: 14pt;
    width: 200px;
    margin: auto;
}

/*************/

.blog-category {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    text-align: left;
    margin: 10px 0;
    background-color: #fff;
    border-radius: 2px;
}

.blog-category img {
    width: 90px;
    margin-right: 10px;
}

/*************/

.video-section {
    position: relative;
    padding: 60px 40px;

    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    -ms-flex-align: center;
}

.video-frame {
    background-color: #fff;
    position: relative;
    box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.3);
}

.video-frame iframe {
    display: block;
}

.video-meta {
    margin-left: 60px;
    width: 600px;
}

/**********/

.subscribe-frame-3 {
    max-width: 800px;
    text-align: center;
    color: #fff;
}

.subscribe-frame-3 h1 {
    text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}

.subscribe-frame-2 {
    max-width: 800px; 
    /*text-align: center;*/
}


.subscribe-frame {
    text-align: center;
    max-width: 600px;
}

.subscribe-frame h1 {
    display: inline-block;
    line-height: 2;
    border-bottom: 4px solid #fcd766;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mc4wp-form {
    background-color: #fff;
    padding: 40px;
    position: relative;
    box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.3);
    border-radius: 2px;
    margin: 40px auto;
    max-width: 600px;
    color: #444;
}

.mc4wp-form a {
    color: #00c8d2;
}

.mc4wp-form h2 {
    text-align: center;
    margin-bottom: 20px; 
}

.mc4wp-form input {
    display: block;
    width: 100%;
    line-height: 3;
    padding: 0 20px;
    font-size: 14pt;
    border: none;
    border-radius: 2px;
}

.mc4wp-form input[type="text"], .mc4wp-form input[type="email"], .mc4wp-form input[type="tel"] {
    /*background-color: #f7fcff;*/
    border: 1px solid #aaa;
    margin-bottom: 20px;
    outline: none;
}

.mc4wp-form input[type="text"]:focus, .mc4wp-form input[type="email"]:focus, .mc4wp-form input[type="tel"]:focus {
    border-color: #00c8d2;
}

.mc4wp-form input[type="submit"] {
    font-family: 'Montserrat';
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #fff;
    background-color: #00c8d2;
    border: none;
}


/***********/

.blog-list-section { 
    padding: 0 40px;
    max-width: 1300px;
    margin: 40px auto;
    position: relative;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    /*background-color: #fff;*/
}

.blog-list {
    width: 100%;
}

.blog-list a {
    color: #00c8d2;
}

.blog-list article {
    padding: 40px;
    background-color: #fff;
}

.blog-list article.first-article {
    margin-bottom: 40px;
}

.blog-list article.first-article .meta {
    padding-top: 20px;
}

.blog-list article:not(.first-article) {
    margin-bottom: 40px;

    display: -webkit-flex;
    display: flex;

    align-items: flex-start;
}

.blog-list article:not(.first-article) .feature-img {
    width: 300px;
    max-width: 50%;
    margin-right: 40px;
}

.blog-content-button {
    display: inline-block;
    font-family: 'Montserrat';
    font-size: 14pt;
    text-transform: uppercase;
    color: #fff !important;
    letter-spacing: 0.05em;
    font-weight: 400;
    color: #fff;
    /*line-height: 3;*/
    padding: 15px 40px;
    margin: 20px 0;
    background-color: #00c8d2;
    border-radius: 2px;
}

.more-link {
    content: 'Read more';
    display: inline-block;
    font-family: 'Montserrat';
    font-size: 14pt;
    text-transform: uppercase;
    color: #fff !important;
    letter-spacing: 0.05em;
    font-weight: 400;
    color: #fff;
    /*line-height: 3;*/
    padding: 15px 40px;
    margin: 20px 0;
    background-color: #00c8d2;
    border-radius: 2px;
}

.more-link {
    content: 'Read more';
    display: inline-block;
    font-family: 'Montserrat';
    font-size: 14pt;
    text-transform: uppercase;
    color: #fff !important;
    letter-spacing: 0.05em;
    font-weight: 400;
    color: #fff;
    padding: 15px 40px;
    margin: 20px 0;
    background-color: #00c8d2;
    border-radius: 2px;
}

.blog-sidebar {
    margin-left: 40px;
    width: 400px;
    flex-shrink: 0;
}

.sidebar-part {
    text-align: center;
    background-color: #fff;
    padding: 40px;
    margin-bottom: 40px;    
}

.sidebar-part h2 {
    display: inline-block;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 3px solid #fcd766;
}

.sidebar-button {
    display: block;
    font-family: 'Montserrat';
    font-size: 14pt;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 400;
    color: #fff;
    padding: 15px 10px;
    background-color: #00c8d2;
    border-radius: 2px;
}

.social-icon {
    font-size: 20px;
    line-height: 40px;
    width: 40px;
    text-align: center;
    border-radius: 20px;
    background-color: #00c8d2;
    color: #fff !important;
    margin: 0 5px 20px 5px;
    cursor: pointer;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
}

.social-icon:hover {
    background-color: #fcd766;
}

.footer .social-icon {
    background-color: #fff;
    color: #fcd766 !important;
    /*margin-bottom: 0;*/
}

.social-icon:hover {
    /*color: #444 !important;*/
}

/***********/

.testimonials-section {
    text-align: center;
}

.testimonials-section h1 {
    display: inline-block;
    line-height: 2;
    margin-bottom: 0;
    border-bottom: 4px solid #fcd766;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.swiper-slide {
    padding: 20px 60px 40px 60px;
    margin: auto;
}

.testimonial--inner {
    max-width: 640px;
    margin: auto;
}

/***********/

.packages-section {
    text-align: center;
}

.packages-section h1 {
    display: inline-block;
    line-height: 2;
    margin-bottom: 0;
    border-bottom: 4px solid #fcd766;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.packages-flex {
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    padding: 20px;
}

.package-item {
    position: relative;
    text-align: left;
    max-width: 500px;
    background-color: #fff;
    padding: 40px;
    margin: 20px;
    /*border-radius: 6px;*/
    /*box-shadow: 0px 1px 2px rgba(0,0,0,0.3);*/
}

.package-item--container {
    margin-bottom: 100px;
}

.package-item .blog-content-button {
    display: block;
    text-align: center;
    position: absolute;
    bottom: 20px;
    left: 40px;
    right: 40px;
}

/***********/

.footer {
    padding: 40px;
    text-align: center;
}

.footer ul, .footer ul li {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block;
}

.footer ul:not(.sub-menu) {
    border-top: 2px solid #fff;
    display: inline-block;
}

.footer ul li {
    line-height: 44px;
    font-weight: 400;
    font-size: 10pt;
    font-family: 'Montserrat';
    text-transform: uppercase;
}

.footer ul li a {
    margin: 0 10px;
}

.footer .social-container {
    display: inline-block;
}

/***********/

@media screen and (max-width: 1200px) {

    .icon-container {
        width: 260px;
    }

    .video-section {
        flex-wrap: wrap;
    }

    .video-meta {
        max-width: 560px;
        margin: auto;
    }

    h1 {
        font-size: 20pt;
    }

    .banner-text {
        max-width: 500px;
    }

    .blog-sidebar {
        width: 360px;
    }

    .blog-list article:not(.first-article) .feature-img {
        max-width: 40%;
    }

}

/***********/

@media screen and (max-width: 1024px) {

    .banner-alternate-flex {
        min-height: 400px;
    }

    .icons-flex {
        display: block;
    }

    .packages-flex {
        flex-wrap: wrap;
    }

    .blog-list-section { 
        flex-wrap: wrap;
    }

    .blog-list {
        max-width: 600px;
        margin: auto;
    }

    .blog-sidebar {
        max-width: 600px;
        width: 100%;
        margin: auto;
    }

    .sidebar-links {
        /*display: flex;*/
    }

    .sidebar-links .sidebar-part {
        /*width: 50%;*/
    }

    .blog-list article:not(.first-article) {
        flex-wrap: wrap;
    }

    .blog-list article:not(.first-article) .feature-img {
        max-width: 100%;
        width: 100%;
        margin: 0 0 40px 0;
    }

    /********/

}

/***********/

@media screen and (max-width: 960px) {
    
    .banner-alternate-flex {
        min-height: 300px;
    }

    .banner-inner {
        padding: 40px 40px 30px 40px;
    }

    .banner-image {
        display: none;
    }

    .banner-text {
        text-align: center;
        margin: auto;
        /*padding: ;*/
    }
}

/***********/

@media screen and (max-width: 640px) {

    .package-item {
        margin: 20px 0;
    }

    .banner-inner {
        padding: 20px;
    }
    
    .banner-alternate-flex {
        min-height: 250px;
    }

    .video-frame {
        width: 100%;
        padding-bottom: 56.25%;
    }

    .video-frame iframe {
        width: 100%;
        height: 100%;
        position: absolute;
    }

    .blog-list-section {
        padding: 0;
    }

    .blog-list article {
        padding: 20px;
    }

    .sidebar-part {
        padding: 20px;
    }

    .flex-inner {
        padding: 20px;
    }

    .mc4wp-form {
        padding: 20px;
    }

}