/*

Theme Name: Life & Soul 2016
Version: 1.0
Author: Finely Sliced

*/


* { margin: 0; padding: 0; }

html { height: 100%; }
body  { position: relative; padding-top: 120px; font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

body.navigate { overflow: hidden; }

body { 

background: #331c3f; /* Old browsers */
background: -moz-linear-gradient(left,  #331c3f 0%, #1b4550 56%, #331c3f 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #331c3f 0%,#1b4550 56%,#331c3f 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #331c3f 0%,#1b4550 56%,#331c3f 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#331c3f', endColorstr='#331c3f',GradientType=1 ); /* IE6-9 */

}

/*---------------------------------------

    HEADER

-----------------------------------------*/

header { position: fixed; top: 0; left: 0; width: 100%; z-index: 5; }
header .wrap { position: relative; margin: 0 auto; max-width: 1200px; overflow: hidden; }

#location_bar { height: 40px; padding: 0 40px; background: #231f20; }

.header_locations { float: left; width: 40%; line-height: 40px; list-style: none; font-weight: 700; font-size: 12px; color: #FFF; text-transform: uppercase; margin: 0; }
.header_locations li { display: inline-block; margin: 0 8px 0 0; }

.location_details { float: right; width: 55%; line-height: 40px; font-weight: 400; font-size: 11px; color: #FFF; text-transform: uppercase; text-align: right; }
.location_details a { margin-left: 12px; text-decoration: underline; }
.location_details a:link, .location_details a:visited { color: #00adc9; text-decoration: none; }
.location_details a:hover, .location_details a:active { color: #00adc9; text-decoration: underline; }

#header { padding: 0 40px; background: #FFF; }
#header .wrap { height: 80px; } 

#logo { position: absolute; top: 12px; left: 0; display: block; width: 244px; height: 55px; background: url('img/logo_header.png') no-repeat; background-size: cover; text-indent: -9999px; }

#header_nav { position: absolute; top: 20px; right: 140px; list-style: none; text-align: right; margin: 0; }
#header_nav li { display: inline-block; }
#header_nav a { display: block; line-height: 41px; text-transform: uppercase; font-weight: 700; font-size: 13px; padding: 0 10px; }

#header_nav a:link, #header_nav a:visited { color: #231f20; text-decoration: none; }
#header_nav a:hover, #header_nav a:active { color: #00adc9; text-decoration: none; }

#header_nav .menu-item-628 { margin-left: 10px; }
#header_nav .menu-item-628 a { font-size: 15px; }
#header_nav .menu-item-628 a:link, #header_nav .menu-item-628 a:visited { background: #00adc9; color: #231f20; text-decoration: none; }
#header_nav .menu-item-628 a:hover, #header_nav .menu-item-628 a:active { background: #231f20; color: #FFF; text-decoration: none; }
#header_nav .header_nav_join a:hover em, #header_nav .header_nav_join a:active em { color: #00adc9; }

#nav_toggle { position: absolute; top: 20px; right: 0; display: block; width: 40px; height: 40px; border: 2px solid #00adc9; box-sizing: border-box; }

#nav_toggle span { position: absolute; top: 17px; left: 8px; display: block; width: 20px; height: 3px; background: #231f20; }

#nav_toggle span:before { content: ""; position: absolute; top: -6px; left: 0; display: block; width: 20px; height: 3px; background: #231f20; }
#nav_toggle span:after { content: ""; position: absolute; bottom: -6px; left: 0; display: block; width: 20px; height: 3px; background: #231f20; }

#nav_toggle:hover { border-color: #231f20; background: #231f20; }
#nav_toggle:hover span, #nav_toggle:hover span:before, #nav_toggle:hover span:after { background: #FFF; }


/*---------------------------------------

    NAV

-----------------------------------------*/

nav { position: fixed; right: 0; top: 0; padding: 0 30px; width: 240px; min-height: 100%; overflow-y: auto; -webkit-transform: translateZ(0); -webkit-backface-visibility: hidden; -webkit-transition: -webkit-transform .4s 0s, visibility 0s .4s; -moz-transition: -moz-transform .4s 0s, visibility 0s .4s; transition: transform .4s 0s, visibility 0s .4s; -webkit-transform: translateX(300px); -moz-transform: translateX(300px); -ms-transform: translateX(300px); -o-transform: translateX(300px); transform: translateX(300px); background: #00adc9; z-index: 10; }

.navigate nav { -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); visibility: visible; -webkit-transition: -webkit-transform .4s 0s, visibility 0s 0s; -moz-transition: -moz-transform .4s 0s, visibility 0s 0s; transition: transform .4s 0s, visibility 0s 0s; -webkit-overflow-scrolling: touch; }

#nav_close { position: absolute; top: 0; right: 0; width: 60px; height: 60px; display: block; text-align: center; line-height: 60px; font-family: "Helvetica"; cursor: pointer; opacity: 0.8; }
#nav_close:before { content: "\00D7"; color: #FFF; font-size: 30px; }

#nav_close:hover { opacity: 1; }

#nav_logo { position: relative; display: block; width: 212px; height: 48px; background: url('img/logo_nav.png') no-repeat; background-size: cover; margin: 60px 0 30px 0; }

.main_nav { list-style: none; font-weight: 300; font-size: 21px; margin: 0 0 30px 0; }
.main_nav li { margin-bottom: 4px; }

.main_nav a:link, .main_nav a:visited { color: #FFF; text-decoration: none; }
.main_nav a:hover, .main_nav a:active { color: #231f20; text-decoration: none; }


/*---------------------------------------

    TYPE

-----------------------------------------*/

h1 { font-weight: 100; color: #FFF; font-size: 75px; text-transform: uppercase; line-height: 70px; margin-bottom: 0; }

h2 { font-weight: 300; color: #231f20; font-size: 42px; line-height: normal; margin-bottom: 30px; }
h3 { font-weight: 300; color: #231f20; font-size: 34px; line-height: normal; margin-bottom: 20px; }
h4 { font-weight: 300; color: #666; font-size: 30px; line-height: normal; margin-bottom: 20px; }
h5 { font-weight: 700; color: #231f20; font-size: 14px; text-transform: uppercase; line-height: normal; margin-bottom: 12px; }

#page_header h2 { font-weight: 700; color: #00adc9; font-size: 21px; text-transform: uppercase; line-height: normal; margin-bottom: 0; } 

p { color: #666; font-weight: 400; font-size: 15px; line-height: 140%; margin-bottom: 20px; }
ul { color: #666; font-weight: 400; font-size: 15px; line-height: 140%; margin: 0 0 20px 24px; }
ol { color: #00adc9; font-weight: 400; font-size: 15px; line-height: 140%; margin: 0 0 20px 24px; }

ol li { color: #666; }

a:link, a:visited { color: #FFF; text-decoration: none; }
a:hover, a:active { color: #0cebf3; text-decoration: none; }

hr { background: #CCC; border: none; height: 2px; margin-bottom: 20px; }

a:link, a:visited { color: #00adc9; text-decoration: underline; }
a:hover, a:active { color: #00adc9; text-decoration: none; }

/* Tables */

.tablepress { background: #f5f5f5; width: 100%; border-collapse: collapse; color: #666; font-weight: 400; font-size: 14px; border-top: 2px solid #CCC; margin-bottom: 25px; }
.tablepress th { border-bottom: 2px solid #CCC; color: #666; font-size: 17px; font-weight: 300; text-align: center; padding: 20px 8px 16px 8px; border-right: 1px solid #CCC; }
.tablepress th:last-child { border-right: none; }

.tablepress td { border-bottom: 1px solid #CCC; padding: 16px 8px; border-right: 1px solid #CCC; text-align: center; }
.tablepress td:last-child { border-right: none; }

.tablepress tr:nth-child(even) td { background: #F3F3F3; }

.class_blue { color: #1674b9; font-weight: bold; }
.class_red { color: #ff070b; font-weight: bold; }
.class_brown { color: #c36360; font-weight: bold; } 
.class_black { color: #191919; font-weight: bold; }
.class_yellow { color: #fdcb20; font-weight: bold; }
.class_orange { color: #f1944a; font-weight: bold; }
.class_pink { color: #fd4da7; font-weight: bold; }
.class_green { color: #09b158; font-weight: bold; }
.class_purple { color: #7201ad; font-weight: bold; }
.class_aqua { color: #00aecb; font-weight: bold; }
.class_navy { color: #2e3192; font-weight: bold; }
.class_gold { color: #d2be57; font-weight: bold; }
.class_darkblue { color: #02094b; font-weight: bold; }
.class_grey { color: #959595; font-weight: bold; }

   
.section_nav { margin: 0 0 50px 0; list-style: none; }

  
/*---------------------------------------

    CONTENT 

-----------------------------------------*/

#page_header { position: relative; text-align: center; padding: 80px 0; overflow: hidden; } 
#page_header img { position: absolute; top: 0; left: 0; display: block; width: 500px; height: auto; z-index: 0; }
#page_header h2, #page_header h1 { position: relative; z-index: 1; }

#content { background: #FFF; padding: 40px; }
#content .wrap { position: relative; margin: 0 auto; max-width: 1200px; overflow: hidden; }

.primary { float: left; width: 75%; padding-right: 40px; box-sizing: border-box; }
.secondary { float: right; width: 25%; padding-top: 14px; }


/*---------------------------------------

    HOME PAGE CONTENT 

-----------------------------------------*/

.home_banner { position: relative; height: 500px; background: #06070c; background-image: url('img/banner2.jpg'); background-position: top left; background-repeat: no-repeat; background-size: auto 500px; }
.home_banner_content { margin: 0 340px; text-align: center; -webkit-transform: translateY(60%); -moz-transform:    translateY(60%); -ms-transform: translateY(60%); -o-transform: translateY(60%); transform: translateY(60%); }

.home_banner_content h2 { color: #00adc9; text-transform: uppercase; font-weight: 700; font-size: 17px; margin: 0; letter-spacing: 1px; }
.home_banner_content h2 em { position: relative; font-style: normal; font-size: 23px; color: #FFF; }
.home_banner_content h2 span { visibility: hidden; margin-left: 3px; }
.home_banner_content h2 em:after { content: ""; position: absolute; left: 99px; top: -9px; width: 38px; height: 42px; background-image: url('img/figure.png'); background-size: cover; background-repeat: no-repeat; }


.home_banner_content h3 { color: #FFF; text-transform: uppercase; font-weight: 100; font-size: 55px; line-height: normal; margin-bottom: 18px; }
.home_banner_content p { color: #FFF; margin-bottom: 28px; }
.home_banner_content ul { font-size: 14px; margin: 0; color: #00adc9; text-transform: uppercase; }
.home_banner_content li { display: inline-block; margin: 0 8px; }

.home_detail { width: 100%; overflow: hidden; margin-bottom: 40px; }
.home_detail_header { float: left; width: 25%; padding-right: 30px; box-sizing: border-box; }
.home_detail_header h2 { text-transform: uppercase; font-weight: 700; font-size: 28px; margin: 0 0 -12px 0; }
.home_detail_header h3 img { display: block; width: 100%; height: auto; max-width: 100%; }
.home_detail_primary { float: left; width: 50%; padding-right: 30px; box-sizing: border-box; }
.home_detail_primary h4 { font-size: 26px; }
.home_detail_secondary { float: left; width: 25%; }

.home_ctas { list-style: none; width: 100%; overflow: hidden; margin: 0 0 20px 0; }
.home_ctas li { float: left; width: 25%; }
.home_ctas a { position: relative; display: block; }
.home_ctas img { position: relative; display: block; width: 100%; height: auto; max-width: 100%; z-index: 1; }

.home_ctas div { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: rgba(135,76,190,.5); z-index: 2; }
.home_ctas h3 { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px; font-weight: 100; line-height: 100%; color: #FFF; margin: 0; }

.home_ctas a:hover div { background: transparent; }
.home_ctas a:hover h3 { background: #00adc9; }

.home_membership { width: 100%; overflow: hidden; padding-top: 40px; margin-bottom: 40px; }

.home_membership h3 { position: relative; color: #00adc9; text-transform: uppercase; font-weight: 700; font-size: 17px; margin: 0; }
.home_membership h3:after { content: ""; position: absolute; left: 150px; top: -24px; width: 53px; height: 58px; background-image: url('img/figure.png'); background-size: cover; background-repeat: no-repeat; }
.home_membership h4 { text-transform: uppercase; font-weight: 100; color: #231f20; font-size: 65px; line-height: 65px; margin: 0 0 30px -3px; }

.home_membership h5 { text-transform: none; font-weight: 300; color: #666; font-size: 22px; line-height: normal; margin-bottom: 16px; }

.home-membership-types { list-style: none; margin: 0; width: 100%; overflow: hidden; }
.home-membership-types li { float: left; width: 33.3333%; box-sizing: border-box; padding: 0 18px; border-left: 1px solid #EDEDED; }
.home-membership-types li:first-child { padding: 0 18px 0 0; border: none; }

.membership_price { display: inline-block; line-height: 36px; font-weight: 700; font-size: 13px; padding: 0 10px; margin-bottom: 12px; }
.membership_price em { font-size: 16px; font-style: normal; }
.membership_price:link, .membership_price:visited { border: 2px solid #231f20; background: #231f20; color: #FFF; text-decoration: none; }
.membership_price:hover, .membership_price:active { border: 2px solid #00adc9; background: #00adc9; color: #FFF; text-decoration: none; }

.membership_more { text-transform: uppercase; display: inline-block; line-height: 36px; font-weight: 700; font-size: 13px; padding: 0 10px;  }

.membership_more:link, .membership_more:visited { border: 2px solid #00adc9; background: #FFF; color: #231f20; text-decoration: none; }
.membership_more:hover, .membership_more:active { border: 2px solid #231f20; background: #231f20; color: #FFF; text-decoration: none; }

/* f45 */

.introducing_f45 { background: #F5F5F5 url('img/f45.jpg') top right no-repeat; background-size: 406px auto; width: 100%; min-height: 310px; overflow: hidden; }
.introducing_f45 .primary { float: left; width: 50%; padding: 25px 25px 5px 25px; box-sizing: border-box; }
.introducing_f45 .secondary { float: left; width: 25%; padding: 75px 25px 5px 25px; }

.introducing_f45 h3 { font-weight: 100; font-size: 50px; line-height: normal; margin: 0 0 12px -3px; }
.introducing_f45 h4 { text-transform: none; font-weight: 300; color: #666; font-size: 22px; line-height: normal; margin-bottom: 16px; }

.introducing_f45 h5 { color: #00adc9; text-transform: uppercase; font-weight: 700; font-size: 17px; margin: 0; }


/*---------------------------------------

    POST IMG  

-----------------------------------------*/
.post-item-feature-img {
    float: left;
    width: 20%;
}
.post-item-feature-img img {

    width: 100%;
    height: 100%;
}

.post-item-wrap {
    float: left;
    width: 78%;
    margin-left: 2%;
}

/*---------------------------------------

    SOUL SAVERS 

-----------------------------------------*/

.featured_soul_savers { padding: 40px 0; background: url('img/soul_savers_bg.png') center top repeat-y; }
/*
.featured_soul_savers .soul_savers { list-style: none; position: relative; margin: 0 auto; max-width: 1280px; overflow: hidden; }
*/
.featured_soul_savers .soul_savers { list-style: none; position: relative; margin: 0 auto;  overflow: hidden; }
.featured_soul_savers .soul_savers li { float: left; width: 33%; padding: 0 40px; box-sizing: border-box; overflow: hidden; }

.soul_savers h3 { color: #FFF; text-transform: uppercase; font-weight: 500; font-size: 13px; margin: 0 0 8px 0; }
.soul_savers h3 em { color: #231f20; font-style: normal; }

.soul_savers h2 { color: #FFF; font-weight: 700; font-size: 23px; margin: 0 0 8px 0; }
.soul_savers p { color: #ececec; font-size: 14px; margin: 0 0 12px 0; }

.soul_savers div { float: right; width: 70%; padding-left: 20px; box-sizing: border-box; }
.soul_savers .thumb { display: block; float: left; width: 30%; -webkit-box-shadow: 0 0 10px rgba(0,0,0,.2); -moz-box-shadow: 0 0 10px rgba(0,0,0,.2); box-shadow: 0 0 10px rgba(0,0,0,.2); }
.soul_savers .thumb img { display: block; width: 100%; max-width: 100%; height: auto; }

.soul_savers a:link, .soul_savers a:visited { color: #FFF; text-decoration: none; }
.soul_savers a:hover, .soul_savers a:active { color: #FFF; text-decoration: none; }


/*---------------------------------------

    NEWS 

-----------------------------------------*/

.news { list-style: none; margin: 0 0 20px 0; }
.news li.post { width: 100%; margin-bottom: 40px; border-bottom: 2px solid #CCC; padding-bottom: 20px; overflow: hidden; }
.article h1, .news h2 { font-weight: 300; color: #00adc9; font-size: 42px; line-height: normal; margin-bottom: 12px; text-transform: none; }

.articles_nav { width: 100%; overflow: hidden; }
.next_prev { display: block; }
.older { float: left; width: 40%; }
.newer { float: right; width: 40%; text-align: right; }
.next_prev a { display: inline-block; line-height: 36px; font-weight: 700; font-size: 13px; padding: 0 10px; margin-bottom: 12px; text-transform: uppercase; }

.next_prev a:link, .next_prev a:visited { border: 2px solid #231f20; background: #231f20; color: #FFF; text-decoration: none; }
.next_prev a:hover, .next_prev a:active { border: 2px solid #00adc9; background: #00adc9; color: #FFF; text-decoration: none; }



/*---------------------------------------

    MEMBERSHIPS 

-----------------------------------------*/

.membership_intro { width: 100%; overflow: hidden; margin-bottom: 40px; }
.membership_intro h4 { font-size: 26px; float: left; width: 35%; padding-right: 30px; box-sizing: border-box; }
.membership_intro p { float: right; width: 65%; }

.membership_options { position: relative; background: #f5f5f5; padding: 25px 25px 35px; margin-bottom: 40px; }
.membership_options h2 { margin-bottom: 20px; }
.membership_options h3 { color: #666; font-size: 20px; font-weight: 300; margin: 0 120px 0 0; }

.membership_options table { width: 100%; box-sizing: border-box; border-collapse: collapse; color: #666; font-weight: 400; font-size: 15px; border-top: 2px solid #CCC; margin-bottom: 25px; }

.membership_options table th { border-bottom: 1px solid #CCC; color: #666; font-size: 20px; font-weight: 300; text-align: left; padding: 20px 16px 20px 0; border-right: 1px solid #CCC; }
.membership_options table td { border-bottom: 1px solid #CCC; padding: 20px 16px; border-right: 1px solid #CCC; }
.membership_options table td:last-child { border-right: none; }


.membership_enquire { display: inline-block; position: absolute; bottom: 25px; right: 25px; line-height: 41px; text-transform: uppercase; font-weight: 700; font-size: 13px; padding: 0 10px; z-index: 2; }

.membership_enquire:link, .membership_enquire:visited { background: #00adc9; color: #231f20; text-decoration: none; }
.membership_enquire:hover, .membership_enquire:active { background: #231f20; color: #FFF; text-decoration: none; }

.membership { position: relative; border-bottom: 2px solid #CCC; padding: 0 0 20px 0; margin-bottom: 40px; }
.membership:last-child { border: none; }

.membership h2 { position: relative; z-index: 1; }
.membership h2 img { display: block; }

.become_member_link { display: inline-block; position: absolute; top: 0; right: 0; line-height: 41px; text-transform: uppercase; font-weight: 700; font-size: 13px; padding: 0 10px; z-index: 2; }

.become_member_link:link, .become_member_link:visited { background: #00adc9; color: #231f20; text-decoration: none; }
.become_member_link:hover, .become_member_link:active { background: #231f20; color: #FFF; text-decoration: none; }

/* Claim Free Trial */

.claim_trial_form { border: 1px solid #00adc9; padding: 0 18px 18px; }

.claim_trial h2 { text-transform: uppercase; font-weight: 700; font-size: 16px; margin: -10px 0 8px 0; text-align: center; }
.claim_trial h3 { width: 204px; height: 75px; background-image: url('img/gym_trial.png'); background-size: cover; margin: 0 auto; text-indent: -9999px; }

.claim_trial h3:after { display: none; }

.claim_trial input { width: 100%; padding: 10px; box-sizing: border-box; border: none; color: #535353; font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-size: 14px; outline: none; -webkit-appearance: none; border-radius: 0; margin-bottom: 8px; }

.claim_trial button { width: 100%; }

.claim_trial p { text-align: center; padding: 10px 0; margin: 0; font-size: 14px; line-height: 18px; }
.claim_trial small { display: block; text-align: center; padding: 10px 20px 0; font-size: 10px; }

/* Claim Free Trial - Contextual Differences */

.home_banner .claim_trial { position: absolute; top: 50px; right: 60px; width: 244px; }
.home_banner .claim_trial h2 span { background: #06070c; padding: 0 8px; color: #FFF; }
.home_banner .claim_trial input { background: #cbcbcb; }
.home_banner .claim_trial small, .home_banner .claim_trial p { color: #FFF; }

.secondary .claim_trial h2 span { background: #FFF; padding: 0 8px; }
.secondary .claim_trial input { background: #ebebeb; }
.secondary .claim_trial small { color: #777; }


/*---------------------------------------

    CONTACT

-----------------------------------------*/

.contact { margin-bottom: 40px !important; }
.contact_intro { float: left; width: 40%; }
.contact_form { float: right; width: 60%; padding: 0 0 0 30px; box-sizing: border-box; }

.contact_locations { list-style: none; margin: 0; width: 100%; overflow: hidden; }
.contact_locations li { list-style: none; float: left; width: 25%; box-sizing: border-box; padding: 0 18px; border-left: 1px solid #EDEDED; }

.contact_locations li:first-child { padding: 0 18px 0 0; border: none; }
.contact_locations li:last-child { padding: 0 0 0 18px; }
.contact_locations table { border-collapse: collapse; width: 100%; font-size: 13px; }
.contact_locations th { vertical-align: top; width: 90px; }
.contact_locations td { vertical-align: top; padding-bottom: 6px; }

/* Forms */

input[type="text"], input[type="email"], input[type="tel"] { width: 100%; padding: 10px; box-sizing: border-box; border: none; background: #ebebeb; color: #535353; font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-size: 14px; outline: none; -webkit-appearance: none; border-radius: 0; margin-bottom: 8px; }

textarea { width: 100%; padding: 10px; box-sizing: border-box; border: none; background: #ebebeb; color: #535353; font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-size: 14px; outline: none; -webkit-appearance: none; border-radius: 0; margin-bottom: 8px; }

button { padding: 12px; box-sizing: border-box; border: none; background: #00adc9; color: #231f20; font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-size: 14px; font-weight: 700; text-transform: uppercase; cursor: pointer; }

select { width: 100%; margin-bottom: 8px; }

.form_action { position: relative; width: 100%; min-height: 40px; overflow: hidden; margin-bottom: 20px; }
.form_action button { display: inline-block; float: right; }

.form_action p { position: absolute; top: 12px; left: 0; right: 140px; font-size: 13px; }

.screen-reader-response { display: none; }
.wpcf7-not-valid-tip { display: block; color: red; font-size: 13px; margin: -4px 0 8px 0; }
.wpcf7-not-valid { }

.claim_trial_form .wpcf7-not-valid-tip, .claim_trial_form .wpcf7-validation-errors { display: none; }
.claim_trial_form .wpcf7-response-output { font-size: 12px; padding: 5px 0 0; }

.wpcf7-response-output {}
.wpcf7-validation-errors { color: red; }

/*---------------------------------------

    FOOTER

-----------------------------------------*/

footer { position: relative; padding: 40px; }
footer .wrap { position: relative; margin: 0 auto; max-width: 1200px; overflow: hidden; }

#footer_subscribe { float: right; width: 33.3333%; }
#footer_subscribe h5 { color: #FFF; font-weight: 300; font-size: 26px; margin-bottom: 10px; }
#footer_subscribe p { color: #CCC; font-weight: 400; font-size: 13px; margin-bottom: 16px; }

#footer_subscribe_form { position: relative; height: 40px; }
#footer_subscribe_input { position: absolute; top: 0; left: 0; right: 100px; }
#footer_subscribe_input input { width: 100%; padding: 12px; box-sizing: border-box; border: none; background: #cbcbcb; color: #535353; font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-size: 14px; outline: none; -webkit-appearance: none; border-radius: 0; }

#footer_subscribe button { position: absolute; top: 0; right: 0; width: 100px; padding: 12px; box-sizing: border-box; border: none; background: #00adc9; color: #231f20; font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-size: 14px; font-weight: 700; text-transform: uppercase; }

#footer_logo_social { float: right; width: 33.3333%; padding: 0 20px; box-sizing: border-box; }

#footer_logo { display: block; width: 177px; height: 40px; background: url('img/logo_footer.png') no-repeat; background-size: cover; margin: 0 auto 20px auto; }

.footer_locations { list-style: none; text-align: center; font-weight: 700; font-size: 12px; color: #FFF; text-transform: uppercase; margin: 0; }
.footer_locations li { display: inline-block; margin: 0 8px; }

#footer_info { float: left; width: 33.3333%; overflow: hidden; }

#footer_detail { float: left; width: 50%; }
#footer_contact { float: right; width: 50%; }

#footer_contact h6 { text-transform: uppercase; font-size: 12px; font-weight: 700; color: #FFF; margin-bottom: 12px; }
#footer_contact p { font-size: 12px; font-weight: 400; color: #FFF; margin-bottom: 12px; line-height: 140%; }

#footer_contact a:link, #footer_contact a:visited { color: #00adc9; text-decoration: underline; }
#footer_contact a:hover, #footer_contact a:active { color: #00adc9; text-decoration: none; }


#footer_detail p { font-size: 10px; color: #FFF; font-weight: 400; }
#footer_detail ul { list-style: none; font-size: 11px; color: #FFF; font-weight: 400; text-transform: uppercase; margin: 0 0 10px 0; }
#footer_detail li { margin-bottom: 4px; }

#footer_detail a:link, #footer_detail a:visited { color: #FFF; text-decoration: none; }
#footer_detail a:hover, #footer_detail a:active { color: #00adc9; text-decoration: none; }

/*---------------------------------------

    SOCIAL ICONS

-----------------------------------------*/

.social { list-style: none; margin: 0; }
.social li { display: inline-block; width: 25px; height: 25px; }
.social a { display: block; width: 25px; height: 25px; background-size: auto 25px; background-image: url('img/social.png'); background-repeat: no-repeat; }

.social a:hover { opacity: 0.9; }

.social .facebook { background-position: 0 0; }
.social .instagram { background-position: -25px 0; }
.social .youtube { background-position: -50px 0; }

nav .social .facebook { background-position: -75px 0; }
nav .social .instagram { background-position: -100px 0; }
nav .social .youtube { background-position: -125px 0; }

header .social { position: absolute; top: 26px; right: 60px; width: 67px; list-style: none; text-align: right; }
header .social li { margin: 0 0 0 8px; }

footer .social { text-align: center; margin-bottom: 20px; }
footer .social li { margin: 0 4px; }

nav .social li { margin: 0 8px 0 0; }


/*---------------------------------------

    WP IMG ALIGNMENT

-----------------------------------------*/

img.alignright { float: right; margin: 0 0 1em 1em; }
img.alignleft { float: left; margin: 0 1em 1em 0; }
img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignright { float: right; }
.alignleft { float: left; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }


/*---------------------------------------

    BREAKPOINTS

-----------------------------------------*/

@media screen and ( max-width: 1100px ) {
    
.home_banner_content h3 { font-size: 42px; }
.home_banner_content h2 em { display: inline-block; }
}

@media screen and ( max-width: 980px ) {
    
/* Header */

#location_bar { padding: 0 20px; }
.header_locations { float: none; width: auto; text-align: center; font-size: 11px; }
.location_details { display: none; }

#header { padding: 0 20px; background: #FFF; }
#header .wrap { height: 80px; } 
#logo { top: 18px; width: 177px; height: 40px; }
header .social { display: none; }

#header_nav { right: 60px; }

/* Content */

#content { padding: 40px 20px; }
.primary, .secondary { float: none; width: auto; padding: 0; }

/* Home Banner */

.home_banner { position: relative; height: auto; background: #06070c; background-image: none; padding: 40px 20px; }
.home_banner_content { margin: 0; -webkit-transform: none; -moz-transform: none; -ms-transform: none; -o-transform: none; transform: none; }

.home_banner .claim_trial { display: none; }

/* Home Detail */

.home_detail_primary { width: 75%; }
.home_detail_secondary { float: none; width: auto; clear: both; }

/* Home CTAs */

.home_ctas li { float: left; width: 50%; }

/* Home Membership */

.home-membership-types { list-style: none; margin: 0 0 40px 0; width: 100%; overflow: hidden; }

/* f45 */

.introducing_f45 { background: #F5F5F5; }
.introducing_f45 .primary { float: none; width: auto; padding: 25px 25px 5px 25px; }
.introducing_f45 .secondary { float: none; width: auto; padding: 0 25px 5px 25px; }

/* Contact */

.contact_intro { float: none; width: auto; }
.contact_form { float: none; width: auto; padding: 0; }

.contact_locations li { list-style: none; float: none; width: auto; padding: 0 0 18px 0; border: none; border-bottom: 1px solid #EDEDED; margin-bottom: 18px; }

.contact_locations li:first-child { padding: 0 0 18px 0; border: none; border-bottom: 1px solid #EDEDED; }
.contact_locations li:last-child { padding: 0; border: none; }

/* Footer */

footer { padding: 0; }

#footer_subscribe { float: none; width: auto; padding: 40px 20px; }
#footer_logo_social, #footer_info { float: none; width: auto; padding: 20px; background: #231f20; }

#footer_detail, #footer_contact { float: none; width: auto; text-align: center; }
#footer_contact { padding-bottom: 20px; }

}

@media screen and ( max-width: 750px ) {

#header_nav { display: none; }

h1 { font-size: 30px; line-height: 28px; }

/* Home Detail */

.home_detail_header { float: none; width: 50%; }
.home_detail_primary { float: none; width: auto; }

/* Home Membership */

.home-membership-types li { float: none; width: auto; box-sizing: border-box; padding: 18px 0 0 0; border: none; border-top: 1px solid #EDEDED; margin-bottom: 18px; }
.home-membership-types li:first-child { padding: 0; border: none; }

/* Soul Savers */

.featured_soul_savers { padding: 0; background: #00adc9; }
.featured_soul_savers .soul_savers li { float: none; width: auto; padding: 30px 20px; box-sizing: }
.featured_soul_savers .soul_savers li:nth-child(even) { background: #0198b8; }

/* Membership */

.become_member_link { position: relative; top: auto; right: auto; margin-bottom: 20px; }
.membership_intro h4, .membership_intro p { float: none; width: auto; padding: 0; }

.membership_options table { font-size: 13px; }
.membership_options table td { padding: 16px 8px; }
.membership_options table th { font-size: 16px; padding: 16px 8px 16px 0; }

}

@media screen and ( max-width: 500px ) {

    .post-item-feature-img {
    float: left;
    width: 100%;
    text-align: center;
}


.post-item-wrap {
    float: left;
    width: 100%;

}

/* Home CTAs */

.home_ctas li { float: none; width: auto; }

.membership h2 img { max-width: 100%; width: 100% !important; height: auto !important; }

}


/*---------------------------------------

    MISC

-----------------------------------------*/

img { border: none; }
a { outline: none; }