/*
Theme Name: TACFIT 2023
Theme URI: https://www.tacfit.com
Author: Ryan Olton
Author URI: https://www.tacfit.com
Description: Custom theme for TACFIT and Affiliates
Version: 1.48
Text Domain: oi
Tags: locator, lifterlms, custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* Smooth Scroll */
html {
	scroll-behavior: smooth;
}
body {
	overflow-x:hidden;
}

/* Typography */
@font-face{
	font-family: "eurostile-extended", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}
@font-face{
	font-family:'Din';
	font-style:normal;
	font-weight:400;
	src:url(fonts/din.ttf) format('truetype');
	font-display: swap;
}
@font-face{
	font-family:'Din Bold';
	font-style:normal;
	font-weight:700;
	src:url(fonts/din-bold.ttf) format('truetype');
	font-display: swap;
}

body, button, input, select, textarea {
	font-family: 'Din', sans-serif;
	font-size:1em;
	font-weight:400;
	line-height:1.5;
	color:#333;
}
h1, h2, h3, h4, .eurostile {
	font-family:'eurostile-extended';
	font-weight:900;
}
h1 {
	font-size:2.5em;
	font-weight:400;
	line-height:1em;
	color:#fa3c00;
}
h2 {
	font-size:1.75em;
	line-height:1.25em;
	color:#fa3c00;
}
h3 {
	font-size:1.5em;
	line-height:1.25em;
	margin:auto;
}
h4 {
	margin:.25em auto;
	font-size:1.3em;
	font-weight:700;
	line-height:1.25em;
	text-decoration:none;
}
h5 {
	font-size:1.15em;
	margin:.25em auto;
	text-decoration:none;
}
h6 {
	margin:auto;
	font-size:0.9em;
	font-weight:700;
	line-height:1em;
	text-transform:uppercase;
}
.intro2 h1 {
	margin:0em auto;
	color:transparent;
	-webkit-text-stroke: 1px white;
	font-family:'eurostile-extended';
	font-size:3em;
	font-weight:900;
	text-transform: uppercase;
	line-height:1;
	text-shadow:1px 1px 15px rgba(0,0,0,.15);
}
.intro2 h2 {
	margin:auto;
	font-size:1.25em;
	font-weight:700;
	color:#fff;
}
.intro2 h2 span {
	display:inline-block;
}
.intro2 h3 {
}
.intro2 h4 {
	font-size:clamp(1.5em, 2vw, 48px);
	color:#fff;
}
.overlay h3 {
    width:auto;
    max-width:300px;
	margin-left:0px;
	font-family:'eurostile-extended';
	color:#fa3c00;
	text-overflow:ellipsis;
    white-space:nowrap;
    overflow:hidden;
}
.overlay p {
	margin:auto;
	line-height:1.5em;
}
.overlay h6 {
	margin:1.5em auto auto;
}
.dark h2, .dark h3, .dark h6, .dark p, .dark {
	color:#fff;
}
.orange {
	color:#fa3c00;
}

/* Product / Program */
h1.product-title {
	font-size:1.75em;
}
span#title {
	display: block;
	text-wrap: balance;
}
.products .product h2 {
	font-family:'Din';
	font-size:1.3em !important;
	color:#fa3c00 !important;
}
.price {
	font-family:'eurostile-extended';
	font-family:'Din Bold';
	font-weight:700;
	color:#333 !important;
}
h3.price {
	color:#fff !important;
}
.intro2 .price {
	color:#fff !important;
}
li.product .price {
	font-size:1.25em !important;
}
.program-data h6 {
	margin:auto auto 3px;
	font-family:'Din Bold';
	font-weight:700;
	color:#fa3c00;
}
.program-data p {
	margin:auto;
	line-height:1em;
}

.octin /* Tacfit21 Font */ {
	font-family:'eurostile-extended';
}
.din {
	font-family:'Din';
}
.din-bold, .din strong {
	font-family:'Din Bold';
}
.caps {
	text-transform: uppercase;
}
.outlined {
	color:transparent !important;
	-webkit-text-stroke: 1px white !important;
}
h5.eurostile {
	font-size: 0.8em;
}

p {
	margin-bottom:1em;
}
.search p {
	margin:auto;
}
b, strong {
	font-weight:bold;
}
em {
	color:inherit;
}
.has-drop-cap:not(:focus):first-letter {
	color:#fa3c00;
}
.small {
	display:inline;
	margin:auto;
	font-size:.9em;
}

th {
	font-family:'Din Bold';
	font-weight:700;
	color:#fa3c00;
	text-align:left;
}

::-moz-selection {
    color: #fff;
    background: #fa3c00;
}
::selection {
    color: #fff;
    background: #fa3c00;
}
.content ul, .content ol {
	margin: 0 0 1em 0em;
	padding:1em;
}



/* Links / Buttons */
a {
	color:#fa3c00;
	text-decoration:underline;
	transition:all 0.5s linear;
}
a:visited {
	color:#fa3c00;
}
a:hover, a:focus, a:active {
	color:#666;
}
a.underlined {
	display:inline;
	position:relative;
	width:auto;
	text-decoration:none;
}
a.underlined:after {
	display:inline-block;
	position:absolute;
	left:0px;
	width:3px;
	height:3px;
	margin:20px auto auto;
	background:#fa3c00;
	opacity:0;
	content:'';
	transition:all ease-in-out .5s;
}
a.underlined:hover:after {
	width:67px;
	background:#fa3c00;
	opacity:1;
	transition:all ease-in-out .5s;
}
.button, .button:visited {
	padding:8px 12px;
	color:#fa3c00 !important;
	background:rgba(250,60,0,0) !important;
	font-size:1em;
	font-weight:700;
	text-decoration:none;
	text-transform:uppercase;
	border:1px solid #fa3c00 !important;
	border-radius:4px;
	transition:all 0.5s linear;
	backface-visibility:hidden;
}
.button:hover, .button:focus, .button:active {
	color:#fff !important;
	background:rgba(250,60,0,1) !important;
	transition:all 0.5s linear;
}
.button-pill, .button-pill:visited {
	padding:10px 32px;
	color:#fff !important;
	background:#fa3c00 !important;
	font-family:'eurostile-extended';
	font-size:0.9em;
	font-weight:900;
	text-decoration:none;
	text-transform:uppercase;
	border:none !important;
	border-radius:18px;
	transition:all 0.5s linear;
	backface-visibility:hidden;
}
.button-pill:hover, .button-pill:focus, .button-pill:active {
	color:#fa3c00 !important;
	background:#fff !important;
	transition:all 0.5s linear;
}
.button-bordered, .button-bordered:visited {
	padding:10px 16px;
	color:#fff !important;
	background:rgba(250,60,0,0) !important;
	font-family:'eurostile-extended';
	font-size:0.9em;
	font-weight:900;
	text-decoration:none;
	text-transform:uppercase;
	text-shadow: none !important;
	border:3px solid #fa3c00 !important;
	border-radius:0px;
	transition:all 0.5s linear;
	backface-visibility:hidden;
}
.button-bordered:hover, .button-bordered.black:hover, .button-bordered:focus, .button-bordered:active {
	color:#fa3c00 !important;
	background:#fff !important;
	border:3px solid #fff !important;
	transition:all 0.5s linear;
}
.button-bordered.black {
	color: #fff !important;
	background: #000 !important;
	border-color: #000 !important;
}
#masthead a {
	font-family:'eurostile-extended';
	font-size: 0.75em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
}
#masthead .button-bordered {
	padding:8px 12px;
	font-size: 0.67em;
}
.intro2 .button {
	padding:12px 16px;
	letter-spacing:1px;
	color:#fa3c00;
	color:#fff !important;
	background:rgba(0,0,0,0.15) !important;
	background:#fa3c00 !important;
	border:1px solid #fa3c00;
	text-shadow:none !important;
}
.intro2 .button:hover {
	color:#fff !important;
	color:#fa3c00 !important;
	background:#fff !important;
	border:1px solid #fff !important;
}
.sidebar ul a, .site-footer a {
	color:#333;
	text-decoration:none;
}
.block-button {
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	text-indent:-9999px;
	background:rgba(0,0,0,0.33);
	opacity:0;
	z-index:20;
	overflow:hidden;
	transition:opacity 0.5s ease-in-out;
}
.block-button:hover {
	opacity:1;
}
.site-footer a {
	color:#ccc;
}
.sidebar ul a:hover, .site-footer a:hover {
	color:#fa3c00;
}

/* Navigation */
.main-navigation, .sub-nav {
	position:relative;
	clear:both;
	display:block;
	float:left;
	width:100%;
	z-index:3000;
}
.main-navigation ul, .footer-nav ul, .sub-nav ul, .site-footer ul {
	display:block;
	list-style:none;
	margin:0;
	padding-left:0;
}
.site-footer ul {
	padding:0;
}
.main-navigation ul, .main-navigation ul ul, .main-navigation ul ul ul {
	display:none;
}
.main-navigation ul ul, .main-navigation ul ul ul {
	visibility:hidden;
	opacity:0;
}
.main-navigation li, .sub-nav li {
	width:100%;
	clear:both;
}
.main-navigation a, .sub-nav a {
	display:block;
	padding:12px 0px;
	font-size:.9em;
	font-weight:400;
	text-transform:uppercase;
	text-decoration:none;
	text-align:center;
	color:#eee;
	border-top:1px solid rgba(255,255,255,0.25);
	cursor:pointer;
	transition:all ease-in-out .5s;
}
#masthead.white .main-navigation a {
	color:#666;
	border-top:1px solid #f6f6f6;
}
.main-navigation a:hover {
	color:#fa3c00 !important;
}
.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a {
	color:#fa3c00 !important;
}
.main-navigation .current_page_item > a, .main-navigation .current-menu-item > a, .main-navigation .current_page_ancestor > a {
	color:#fa3c00 !important;
}
.sub-nav {
	background:#111;
}

/* Slide In Nav */
#primary-navigation .slide-in ul {
	display: block;
	width: 90%;
	margin: auto;
}
#primary-navigation .slide-in ul ul, #primary-navigation .slide-in ul ul ul {
	display: none !important;
}
#primary-navigation .slide-in li {
	float: none;
	clear: both;
	overflow: hidden;
}
#primary-navigation .slide-in a {
	font-family: 'eurostile-extended';
    font-size: clamp(32px,3vw,72px);
	text-align: right;
	color: #fff;
	border-top: none !important;
}
#primary-navigation .slide-in a:hover {
	color: #111 !important;
}
#primary-navigation .slide-in .current-menu-item a {
	color: #000 !important;
}
#navigation .menu-toggle {
	display:block;
	position:absolute;
	top:0px;
	left: 0px;
	width: 32px;
	height: 32px;
	margin:auto;
	padding: 0px;
	background: rgba(0,0,0,0);
	border:none;
	border-radius: 50%;
	pointer-events: none;
}
#navigation .menu-toggle span {
	position:absolute;
	top:50%;
	left:5%;
	width:90%;
	height:2px;
	background:#fff;
	pointer-events: none;
}

/* Post Nav */
#primary-content .navigation {
    display: flex;
    position: relative;
    float: none;
    clear: both;
    margin: 48px auto;
    padding: 4px 12px;
    background: none !important;
    border: 1px solid #eee !important;
    border-radius: 4px;
}
#primary-content .navigation .nav-links {
    width:100%;
}
#comments.comments-area {
    position: relative;
    float: none;
    clear: both;
    margin: 64px auto;
}

/* Alignments */
.alignleft {
	display:inline;
	float:left;
	margin-right:50px;
	margin-bottom:30px;
}
.alignright {
	display:inline;
	float:right;
	margin-left:50px;
	margin-bottom:30px;
}
.aligncenter {
	clear:both;
	display:block;
	margin:0 auto;
	text-align:center;
}
.alignnone {
	margin:auto auto 1em;
}
.centered, .centered p {
	text-align:center;
}
.left {
	text-align:left !important;
}
.right {
	text-align:right;
}
.thumbnail {
	border:0px solid #fff;
	box-shadow:8px 8px 0px rgba(0,0,0,.11);
}
.thumbnail.shadowed {
	border:5px solid #fff;
	box-shadow:6px 6px 12px rgba(0,0,0,.11);
}
.thumbnail.bordered {
	border: 1px solid #fff;
	border-radius: 6px;
	box-shadow: 0px 5px 10px rgba(0,0,0,0.25);
}
.social .aligncenter {
	display:inline;
	clear:none;
	margin:4px 8px;
	width:auto;
	max-height:87px;
}

/* Forms */
.search .container {
	padding:5px 0px;
}
label {
	font-size:1em;
}
.checkboxes label {
	float:left;
	margin:0px 5px 5px 0px;
	font-size:0.85em;
	line-height:1.5em;
}
.checkboxes label input {
	margin:auto 3px auto auto;
}
button, input[type="button"], input[type="reset"], input[type="submit"], #submitButton {
	border: 1px solid;
	border-color: #fa3c00;
	border-radius: 3px;
	background: #fa3c00;
	color: #fff;
	cursor: pointer; /* Improves usability and consistency of cursor style between image-type 'input' and others */
	-webkit-appearance: button; /* Corrects inability to style clickable 'input' types in iOS */
	font-size: 1em;
	line-height: 1;
	padding:.75em 1em;
	margin: .5em auto;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
	transition: all 0.5s ease-in-out;
}
button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {
	color:#fa3c00;
	border-color: #fa3c00;
	background:none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 15px 17px rgba(255, 255, 255, 0.25), inset 0 -5px 12px rgba(0, 0, 0, 0);
	transition: all 0.5s ease-in-out;
}
button:focus, input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus, button:active, input[type="button"]:active, input[type="reset"]:active, input[type="submit"]:active {
	border-color: #777 #666 #444;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15);
}
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="search"], textarea {
	width: 100%;
	padding:0.75em .5em;
	margin:auto auto;
	color: #333;
	background: none;
	border:1px solid #fa3c00;
	border-radius:3px;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, textarea:focus {
	color: #fa3c00;
}
.summary select, select {
	position:relative;
	width:100%;
	min-width:120px !important;
	padding:.25em .5em;
	margin:auto auto .75em;
	font-size:0.85em !important;
	color:#666;
	background:url(images/select-bg.png) no-repeat right #fff;
	background-size:25px 15px;
	border:1px solid #fa3c00;
	border-radius:3px;
	-webkit-appearance:none;
}
.select2-container--default .select2-selection--single {
    height:44px;
    padding:8px 2px;
	border-color:#fa3c00;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
	margin-top:6px;
	border-color:#fa3c00 transparent transparent transparent
}
.woocommerce .quantity .qty {
	padding:4px !important;
}

/* Layout */
.desktop, .hidden {
	/*display:none;*/
	visibility:hidden;
	opacity:0;
	pointer-events: none;
}
.mobile {
	visibility:visible;
	opacity: 1;
	pointer-events: all;
}
.sep {
	display:none;
	clear:both;
}
#masthead {
	position:fixed;
	top:0px;
	width:100%;
	height:48px;
	background:rgba(0,0,0,0.75);
	box-shadow:0px 5px 20px rgba(0,0,0,0.05);
	box-shadow: none;
	z-index:500;
}
.home #masthead {
	background:rgba(0,0,0,0);	
}
#branding {
	position:fixed;
	top:14px;
	left:2.5%;
	clear:both;
	width:120px;
	margin:auto auto auto;
	padding:0px;
	text-align:center;
	z-index:2100;
}
#masthead .icons {
	position:absolute;
	top:14px;
	right: 2.5%;
	z-index:100;
}
#navigation {
	position:fixed;
	top:8px;
	right:2.5%;
	width:32px;
	height:32px;
	padding:0px 0px;
	border-radius: 50%;
	z-index:999;
	cursor:pointer;
}
#primary-navigation {
	position:fixed;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	opacity:0;
	overflow-x:hidden;
	z-index:75;
}
.sub-nav {
	position:relative;
	margin:48px auto auto;
	font-size:0.9em;
	background:rgba(248,248,248,0.9);
	border-bottom:1px solid rgba(200,200,200,0.25);
	z-index:250;
}
.sub-nav li:first-child {
	padding:12px 24px;
	font-weight:700;
	text-transform:uppercase;
	text-align:center;
	color:#111;
	background:#fff;
}
#primary-content .navigation {
	display: flex;
	position: relative;
	float: none;
	clear: both;
	margin: 48px auto;
	padding: 4px 12px;
	background: none !important;
	border: 1px solid #eee !important;
	border-radius: 4px;
}
#primary-content .navigation .nav-links {
	width: 100%;
}

#primary-content, #secondary-content, #intro, section, .section {
	position:relative;
	width:100%;
	margin:auto;
	z-index:50;
}
#primary-content, #secondary-content, #intro {
	overflow:hidden;
}
.container {
	position:relative;
	clear:both;
	width:90%;
	margin:auto;
	padding:10px;
	z-index:10;
}
.column, .column-quarter, .column-third, .column-half, .column-twothirds, .column-threequarter, .column-fifth, .column-sixth, .column-twofifths, .column-threefifths, .column-fourfifths {
	position:relative;
	float:none;
	clear:both;
	width:100%;
	margin:auto;
}
.columns.grid-two, .columns.grid-three, .columns.grid-four, .columns.grid-six {
	display: grid;
	grid-template-columns:100%;
	grid-auto-rows:auto;
	height: auto;
	min-height: 0;
}
.columns.grid-six {
	grid-template-columns:50% 50%;
}
.column-grid {
	position: relative;
}
.columns.grid-two .container {
	min-height: 50vh;
}
.content-area {
	position:relative;
	margin:auto;
	z-index:150;
}
.woocommerce .content-area {
	max-width:100%;
}
.site-footer .content-area {
}
.wide {
	width:100%;
	max-width:100%;
	margin:auto;
	padding:0;
}
.content-area.medium, .medium {
	max-width:1080px !important;
}
.narrow {
	max-width:720px !important;
}
.column-half .narrow {
	max-width:560px !important;
	margin:auto;
}
.column-half.half-page {
	margin-top:50vh;
}

.v-centered {
	position:relative;
	top:50%;
	-webkit-transform:translateY(-50%);
	-moz-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	transform:translateY(-50%);
}
.v-bottom {
	position:absolute;
	width:100%;
	bottom:5%;
	transform:translateY(0%);
}
.column-grid .v-bottom {
	width: auto;
	left: 5%;
	right: 5%;
}
.content-left, .content-right {
	width:100%;
}
.content {
	padding:5%;
}

.container .panel {
	position:relative;
	height:90vh;
	min-height:50vh;
	margin:auto;
	color:#eee;
	background:none;
}
.container .panel.medium {
	height:50vh;
	min-height:50vh;
	margin:auto auto 2.5vh;
	color:#eee;
	background:none;
}
.blog-grid .container {
	margin-top:2.5%;
	margin-bottom:5%;
}
.blog-grid .container .panel {
	height:auto;
	min-height:33vh;
	color:#333;
	box-shadow:1px 1px 10px #f6f6f6;
}
.blog-grid .container .panel .content {
	padding:5% 5% 7.5%;
}
#comments.comments-area {
	position: relative;
	float: none;
	clear: both;
	margin: 64px auto;
}

/* Horizontal Scroller */
.scrolling-wrapper {
	display:flex;
	flex-wrap:nowrap;
	overflow-x:auto;
	width:100%;
	border:1px solid #fff;
	-webkit-overflow-scrolling: touch;
 }
.scrolling-wrapper .column-third {
    flex:0 0 auto;
	width:200px;
    margin:1px;
}
.scrolling-wrapper .column-third .container {
	width:100%;
	margin:auto;
}
.scrolling-wrapper .panel {
	margin:auto !important;
}
.scrolling-wrapper {
  &::-webkit-scrollbar {
    display: none;
  }
}

/* Blogs Slider */
.flex-slider {
	display: flex;
	/*align-items: center;*/
	overflow: hidden;
}
.flex-slider.grid-two .column-grid {
	display: flex;
	flex-shrink: 0;
	width: 100%;
	min-height: 50vh;
}
.flex-slider .container {
	min-height: 50vh;
}
.flex-slider .prev, .flex-slider .next {
	position: absolute;
	bottom: 5%;
	left: 2.5%;
	z-index: 100;
}
.flex-slider .next {
	left: auto;
	right: 2.5%;
}
.flex-slider .prev svg, .flex-slider .next svg {
	width: 24px;
	height: 24px;
	fill:#fff;
	opacity: 0.75;
	transition:opacity ease-in-out .3s;
}
.flex-slider .prev svg:hover, .flex-slider .next svg:hover {
	opacity: 1;
}
.flex-slider .prev svg {
	transform: scaleX(-1);
}

/* Smooth Scroller */
#viewport {
    overflow: hidden;
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
#scroll-container {
	position: absolute;  
	overflow: hidden;
	width: 100%;
}

.site-footer {
	font-size:.8em;
	color:#444;
	color:#999;
	z-index:90;
}

.no-events {
	pointer-events: none;
}
.no-padding {
	padding: 0px !important;
}
.no-hor-padding {
	padding-left: 0px !important;
	padding-right: 0px !important;
}
.no-vert-padding {
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}

/* Intro */
#interface {
	position:fixed;
	top:0px;
	left:0%;
	width:100%;
	height:100%;
	z-index:-10;
	overflow:hidden;
	transform:translate3d(0,0,0);
	backface-visibility:hidden;
}
#intro, .intro2 {
	position:relative;
	top:0px;
	left:0%;
	width:100%;
	height:75vh;
	color:#eee;
	text-shadow:1px 1px 2px rgba(0,0,0,0.33);
	z-index:1;
	transform:translate3d(0,0,0);
	backface-visibility:hidden;
}
.intro2 .video {
	display:block;
	position:absolute;
	top:0px;
	width:100%;
	height:100%;
	margin:auto;
	z-index:0;
	transform:translate3d(0,0,0);
	backface-visibility:hidden;
}
.home #intro, .home .intro2 {
	height: 100vh;
}

/* #Cover */
#preloader {
	display:block;
	position:fixed;
	top:calc(50% - 40px);
	left:0%;
	width:100%;
	font-size:1.5em;
	font-weight:300;
	line-height:1em;
	text-align:center;
	color:#fff;
	z-index:999501;
	pointer-events:none;
	overflow:visible;
	transform:translate3d(0,0,0);
	backface-visibility:hidden;
	transform-style:preserve-3d;
}
#covers {
	display:block;
	position:fixed;
	top:0%; left:0%; bottom:0%;
	width:100%;
	height:100%;
	z-index:999500;
	pointer-events:none;
	overflow:hidden;
	transform:translate3d(0,0,0);
	backface-visibility:hidden;
	transform-style:preserve-3d;
}
#cover-top {
	fill:#fa3c00;
	z-index:10;
}
#cover-middle {
	fill:#fa3c00;
	z-index:5;
}
#cover-bottom {
	fill:#000000;
	z-index:1;
}
#preloader-logo {
	display:block;
	width:250px;
	height:60px;
	margin:auto;
}
#preloader-logo img {
	display:block;
	width:100%;
	height:auto;
	opacity:0;
}

/* Overlays */
.overlay {
	position:absolute;
	top:0px;
	width:100%;
	height:100%;
	font-size:0.8em;
	background:rgba(0,0,0,.5);
	background: linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,0.8) 100%);
	opacity:1;
	z-index:5;
    transition:all 0.5s ease-in-out;
}
.overlay:before {
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	border:5px solid rgba(225, 10, 5, 0);
	background:rgba(0,0,0,0);
	content:'';
	z-index:0;
	pointer-events:none;
    transition:all 0.5s ease-in-out;
}
.overlay:hover:before {
	border:5px solid rgba(225, 10, 5, 1);
	background:rgba(0,0,0,0.5);
}
.overlay .content {
	position:absolute;
	bottom:10%;
}
.image {
	position:relative;
}
.column-half .image {
	max-height:300px;
	overflow:hidden;
	box-shadow:12px 12px 0px rgba(0,0,0,.11);
}
.column-third .image {
	max-height:220px;
	overflow:hidden;
	box-shadow:12px 12px 0px rgba(0,0,0,.11);
}
.scrolling-wrapper .column-third .image {
	box-shadow:none;
}

/* WooCommerce / Shop */
li.product {
	min-height:330px;
	font-size:0.85em;
	text-align:center;
	border:1px solid #fff;
	border:1px solid #eee;
	border-radius:5px;
	background:#fff;
    transition:all 0.5s ease-in-out;
	/*overflow:hidden;*/
	
	transform:translate3d(0,0,0);
	backface-visibility:hidden;
	transform-style:preserve-3d;
}

@media only screen and (max-width: 768px) {
	li.product {
		width:98% !important;
		margin:1% !important;
	}
}
li.product:after {
	display:block;
	position:absolute;
	top:0px; left:0px; right:0px; bottom:0px;
	content:'';
	opacity:0.5;
	opacity:0;
	border-radius:5px;
	box-shadow:5px 0px 20px rgba(0,0,0,0.05);
    transition:all 0.5s ease-in-out;
	z-index:-1;
	pointer-events: none;
}
li.product:hover:after {
    transition:all 0.5s ease-in-out;
	opacity:1;
}
li.product a img, .product .image {
	display:block;
	position:relative;
	border-bottom:1px solid #eee;
	border-radius:5px 5px 0px 0px;
	overflow:hidden;
}
li.product a img:after {
	display:block;
	position:absolute;
	top:10px;
	left:10px;
	bottom:10px;
	right:10px;
	border:1px solid rgba(255,255,255,0.5);
	z-index:1;
	content:'';
}
li.product .content {
	display:block;
	position:relative;
	padding:2.5% 5% 5%;
}
.woocommerce ul.products li.product .star-rating {
	left:50%;
	margin:10px auto 10px -35px;
}
.products .product h2, .products .product .price, .products .product .button {
	margin:0em 1em !important;
}
.products .product .button {
	margin:1em 1em 2em !important;
}
.product_meta {
	font-size:0.85em;
}
.product_meta .sku_wrapper {
	display:none;
}

.woocommerce-product-gallery {
    border:4px solid #fff;
	border-radius:0px;
    box-shadow: 1px 1px 20px rgba(0,0,0,0.03);
}
.woocommerce div.product div.images .flex-control-thumbs {
	border-top:1px solid #fff;
}
.woocommerce div.product div.images .flex-control-thumbs li {
	border:1px solid #fff;
}

.woocommerce-tabs .panel {
	height:auto;
	min-height:0;
	color:#333;
}
.woocommerce-tabs ul.tabs {
	overflow:visible !important;
}
.woocommerce-tabs ul.tabs:before {
	left:50% !important;
	width:200% !important;
	margin-left:-100%;
	border-bottom:1px solid #ddd !important;
}
.woocommerce-tabs ul.tabs li {
	background:#f1f1f1 !important;
	border-color:#ddd !important;
}
.woocommerce-tabs ul.tabs li.active {
	background:#f9f9f9 !important;
	border-bottom-color:#f9f9f9 !important;
}

.woocommerce-breadcrumb {
	padding:20px !important;
}
.woocommerce .woocommerce-result-count, .woocommerce-ordering {
	margin:0.5em auto;
}

.related > h2 {
	display:none;
}

.woocommerce span.onsale, .wc-block-grid__product-onsale {
	min-height: 56px;
    min-width: 56px;
    padding: 0;
    font-size: 1em !important;
    font-weight: 700;
    line-height: 16px;
    top: -12px;
    left: -12px;
    background-color: #fa3c00;
    color: #fff;
    box-shadow: 2px 2px 1px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}
.wc-block-grid__product-onsale {
	position: absolute;
	border: none;
	border-radius: 24px;
}

.woocommerce-info {
    border-top-color:#999;
}
.woocommerce-info:before {
	color:#fa3c00;
}
.woocommerce-message {
    border-top-color: #fa3c00;
}

/* Cart Icon */
.cart-icon-count {
	position: absolute;
	top:-10px;
	left:10px;
	width:20px;
	height:20px;
	font-family: 'Din', sans-serif;
	font-size:10px;
	text-align:center;
	line-height:22px;
	color:#fff !important;
	background:#fa3c00 !important;
	border-radius:10px;
	transform: scale(0.75);
}

/* Store Notices */
.woocommerce-store-notice {
	top:48px !important;
	background:rgba(0,0,0,0.9) !important;
	z-index:25 !important;
}
.admin-bar .woocommerce-store-notice {
}
.woocommerce-store-notice .button {
	margin:auto 0.5em !important;
	padding: 6px 10px;
    border-radius: 3px;
    font-family: 'Din Bold';
	text-decoration:none;
}

/* Product / Program Intro */
.program-data {
	position: absolute;
    width: 100%;
    bottom: 0px;
    padding: 10px 0px 10px;
	padding: 0px;
    font-size: 0.9em;
    background: rgba(0,0,0,0.5);	
}
.program-data .column-third {
	padding:10px 0px;
}
.program-data img.icon {
	width:100%;
	max-width:32px;
	margin:auto 10px auto;
}

/* Sidebar */
.sidebar.column-quarter {
}
.widget-title {
	margin:0.25em auto 1em;
	padding:0 0 1em;
	border-bottom:1px solid #fa3c00;
}
.sidebar ul {
	list-style:none;
	margin:auto;
	padding:1em 0;
}
.sidebar ul ul {
	margin:auto auto 0.75em;
	padding:0em 1em;
    list-style:square;
    font-size:0.9em;
}
#shop-sidebar .widget_product_search input[type="search"] {
	width:70%;
	padding:0.5em;
}
#shop-sidebar .widget_product_search button {
	width:25%;
	margin:auto;
	padding:0.75em;
}
#shop-sidebar .widget_product_categories, #shop-sidebar .widget_shopping_cart {
	display:none !important;
}

/* LifterLMS */
.post-type-archive-course #container {
	position:relative;
	width:90%;
	margin:10% auto;
}
.post-type-archive-course #secondary {
	display:none;
	position:relative;
	width:90%;
	margin:auto;
}
.post-type-archive-course #secondary ul {
	padding:0 0 0.5em 1em;
}
ul.llms-lesson {
	margin:auto;
	padding:0;
}
.llms-loop-item-content {
    background:#fff;
    border:1px solid #f6f6f6;
    box-shadow:1px 1px 20px #f6f6f6;
}
.llms-lesson-preview {
	width:100%;
}
.llms-button-action, .llms-button-danger, .llms-button-primary, .llms-button-secondary {
	margin:1em auto;
}
.llms-instructor-info .llms-instructors .llms-author {
	border-top-color:#fa3c00;
}
.llms-instructor-info .llms-instructors .llms-author .avatar {
	border-color:#fa3c00;
}
.llms-access-plan-title, .llms-access-plan .stamp {
	background-color:#fa3c00;
}

/* Trainer / Gym Locator */
#locator.searchbar {
	position:relative;
	left:0%;
	width:100%;
	z-index:10;
	font-size:0.9em;
	border-radius:3px;
}
#locator.searchbar .column {
	max-width:96%;
}
#locator.searchbar .background {
	opacity:0.9;
	box-shadow:3px 3px 10px rgba(0,0,0,0.1);
	border-radius:3px;
}
#locator ul {
	list-style:none;
	margin:auto;
	padding:0;
}
#locator li {
	float:left;
	width:48%;
	margin:1%;
}
#locator li:nth-child(3), #locator li:nth-child(4), #locator li:nth-child(5) {
	/*width:100%;*/
}
#locator li:nth-child(4) {
	padding:4% 0;
}
#locator [type="checkbox"] {
	margin:9px 3px;
	line-height:1em;
}
#locator input[type="text"] {
	padding:0.5em;
}
#locator select {
	padding:0.75em;
}

.locator-map .content {
	padding:5%;
	font-size:0.9em;
}
.locator-map .button {
	padding:6px 10px;
}

#locator .checkmark-container {
	display:inline-block;
	position:relative;
	padding:11px 8px 0px 26px;
	cursor:pointer;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
}
#locator .checkmark-container input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}
#locator .checkmark {
	position: absolute;
	top: 10px;
	left: 0px;
	height: 22px;
	width: 22px;
	background-color: #f9f9f9;
	border:1px solid #fa3c00;
	border-radius:2px;
}
#locator .checkmark-container:hover input ~ .checkmark {
	background-color:#faded7;
}
#locator .checkmark-container input:checked ~ .checkmark {
	background-color:#fa3c00;
}
#locator .checkmark:after {
	content: "";
	position: absolute;
	display: none;
}
#locator .checkmark-container input:checked ~ .checkmark:after {
	display: block;
}
#locator .checkmark-container .checkmark:after {
	left: 8px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
}

/* Gym Signups */
#intro.gyms .column-half {
    transform:translateY(33.33%);
	z-index:100;
}
#intro.gyms #gym-signup.column-half {
	position:relative;
	margin:5% auto;
	transform:translateY(0%);
}
#gym-signup .signup-form {
	width:100%;
	max-width:480px;
	margin:auto;
	background:#fff;
	border-radius:0px;
	box-shadow:3px 3px 20px rgba(0,0,0,0.1);
	overflow:hidden;
}

/* Backgrounds / Other */
body {
	background:#fff;
}
.background, .background-left, .background-right, .half-page.background {
	position:absolute;
	top:0px; left:0px; bottom:0px; right:0px;
	width:100%;
	height:100%;
	z-index:-1;
	background-position:center;
	background-size:cover;
	backface-visibility:hidden;
	transform-style: preserve-3d;
	overflow:hidden;
}
#interface .background {
	height:80vh;
}
.home #interface .background {
	height:100vh;
}
.background-left {
	width:50%;
	height:50%;
	top:5%;
	left:-15%;
	right:auto;
	bottom:auto;
	background:no-repeat center;
	background-size:contain;
	overflow:hidden;
	z-index:1;
}
.background-right {
	width:50%;
	height:50%;
	top:auto;
	left:auto;
	right:-15%;
	bottom:5%;
	background:no-repeat center;
	background-size:contain;
	overflow:hidden;
	z-index:2;
}
.half-page.background-left {
	width:100%;
	height:50vh;
	top:0%;
	left:0%;
	background-size:cover;
	opacity:1;
	overflow:hidden;
}
.half-page.background-right {
	width:100%;
	height:50vh;
	top:0%;
	left:auto;
	right:0%;
	background-size:cover;
	opacity:1;
	overflow:hidden;
}
.half-page.background-left .background, .half-page.background-right .background {
	/*opacity:.33;*/
}
.bg1.background {
	background-size:cover;
	background:#fff;
	opacity:1;
}
.bg2.background {
	background:#f9f9f9;
	opacity:1;
}
.black.background {
	background:#000;
	opacity:1;
}
.orange.background {
	background:url(images/bg-orange-textured.jpg) repeat center;
	background-size:contain;
	opacity:1;
}
.orange-gradient.background {
	background-image: radial-gradient(circle at bottom, #dc3200, #000 75%);
}
.panel-bg.background {
	background:linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(10,0,0,1) 100%);
}
.grid-two .background {
	z-index: 2;
}
.site-footer .background {
	background:rgb(0,0,0);
	background:linear-gradient(0deg, rgba(0,0,0,1) 85%, rgba(15,15,15,1) 100%);
}
.nooverflow {
	overflow:hidden;
}
.bordered:after {
	display:block;
	position:absolute;
	top:10px;
	left:10px;
	bottom:10px;
	right:10px;
	border:1px solid rgba(255,255,255,0.5);
	z-index:1;
	content:'';
}
.parallax__container {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	clip:rect(0, auto, auto, 0);
	overflow:hidden !important;
	z-index:-100;
	transform:translate3d(0, 0, 0);
	transform-style:preserve-3d;
	transition:0s linear;
	backface-visibility:hidden;
}
.parallax__container .parallax {
	position:fixed !important;
	top:0px;
	width:100%;
	height:110% !important;
	height:115vh !important;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	transform:translate3d(0, 0, 0);
	transform-style:preserve-3d;
	transition:0s linear;
	backface-visibility:hidden;
}

#branding img {
	width:100%;
	max-width:120px;
}

.titlebar {
	display:inline-block;
	position:relative;
	width:auto;
	/*margin:auto auto 1em 15px;*/
	padding:0px;
	line-height:1em;
	color:#111;
    border:none;
	font-family:'eurostile-extended';
	text-align:left;
	text-transform:uppercase;
	backface-visibility:hidden;
}
.titlebar:after {
	display:none !important;
    position:absolute;
    top:5px;
    left:-15px;
    width:1px;
    height:1px;
    border-top:10px solid transparent;
    border-bottom:10px solid transparent;
    border-left:10px solid #fa3c00;
    content:'';
	z-index:10;
}
.title {
	display:block;
	position:relative;
	width:auto;
	max-width:1140px;
	margin:1em auto;
	line-height:1em;
	color:#fa3c00;
	backface-visibility:hidden;
}
.container.panel .title, .site-footer .title {
	color:#fa3c00;
}
.container.panel .image img, .image img {
	display:block;
	width:100%;
}
hr, .separator {
	display:block;
	position:relative;
	clear:both;
	width:100%;
	max-width:1200px;
	height:100px;
	background:#fa3c00;
	border:none;
}

.social a, .social a img, .icons a img, .overlay .icons img {
	display:inline-block;
	position:relative;
	width:16px;
	height:16px;
	backface-visibility:hidden;
}
.social a, .icons a, .overlay .icons img {
	margin:auto 4px;
}
#masthead .icons a img, .overlay .icons img {
	filter:grayscale(100%);
	transition:all linear 1s;
}
#masthead .icons a img {
	position: relative;
	top: 2px;
}
.overlay .icons img {
	margin:auto auto -6px;
	filter:grayscale(0%) brightness(2000%);
}
.icons-large img {
	display:inline-block;
	width:24px;
	height:24px;
	margin:auto auto -8px !important;
	border:1px solid #fa3c00;
	border-radius:50%;
	filter:none;
}

.site-footer .social a img {
	opacity:.67;
	transition:all linear 1s;
}

.scroll {
	display:block;
	position:relative;
	width:32px;
	height:32px;
	margin:1em auto;
	padding:0em;
	opacity:1;
	text-indent:-9999px;
	border:none;
	background:url(images/scroll.png) no-repeat;
	background-size:100%;
	backface-visibility:hidden;
    transform:translateY(0px);
	transition:all ease-in-out 1s;
	cursor:pointer;
}
.scroll:hover {
    transform:translateY(10px);
	transition:all ease-in-out 1s;
}

.spacer.small, .spacer.medium, .spacer.large {
    display:block;
	position:relative;
	height:20px;
    backface-visibility:hidden;
}
.spacer.medium {
	height:40px;
}
.spacer.large {
	height:80px;
}

.mono {
    -webkit-filter:grayscale(100%);
    filter:grayscale(100%);
    -webkit-transition:all 0.5s ease-in-out;
    -moz-transition:all 0.5s ease-in-out;
    -o-transition:all 0.5s ease-in-out;
    transition:all 0.5s ease-in-out;
}
.mono:hover {
    -webkit-filter:grayscale(0%);
    filter:grayscale(0%);
}

/* Video Player */
.buttonBar {
	display:none;
	visibility:hidden;
}
.mb_YTPlayer {
    display:block;
    transform:translateZ(0) translate3d(0, 0, 0);
    transform-style:preserve-3d;
    perspective:1000;
    backface-visibility:hidden;
    box-sizing:border-box;
}
.embedded-video {
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}
.embedded-video iframe {
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}
#muse-video {
	min-height:50vh;
}

/* Formidable */
.frm_dropzone .dz-message {
	background:rgba(33,33,33,.5);
	border-color:#827362;
}

/* Lightbox */
#content-lightbox.lightbox {
	position:fixed;
	top:0px; bottom:0px; left:0px; right:0px;
	overflow-y:auto;
	z-index:3000;
	opacity:0;
	visibility:hidden;
}
#content-lightbox.lightbox #lightbox-close {
	position:fixed;
	top:10px;
	right:10px;
	width:32px;
	height:32px;
	line-height:32px;
	font-size:16px;
	font-weight:700;
	text-align:center;
	color:#fa3c00;
	border:1px solid #fa3c00;
	border-radius:50%;
	background:#fff;
    transition:all 0.5s ease-in-out;
	z-index:3001;
}
#content-lightbox.lightbox #lightbox-close:hover {
	color:#fff;
	border:1px solid #fff;
	background:#fa3c00;
}

.lifterlms-course-search{margin-top:20px;}
/*.llms-loop-list{
display: flex;
flex-wrap: wrap;
flex-direction:column;
}
.llms-loop-item{display:flex; float:none; width:100%;}*/
.course-search-results:not(:empty) {
	border-bottom: 1px solid #fa3c00;
    padding-bottom: 20px;
    margin-bottom: 40px;
}
.newsletter{max-width:600px; margin:80px auto 80px;}
.newsletter .gh-form-wrapper .gh-form-fields .gh-input{background:#ffffff;}
.newsletter h2,.home .newsletter h2{text-align: center;font-size: 26px;margin-bottom: 50px;}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    padding: 1em 2em 1em 3.5em!important;
}

.popup-input::placeholder,.popup-input{color:#ffffff!important;}
.popmake h2,.home.popmake h2{text-align: center;font-size: 26px!important;margin-bottom: 20px;}
.popmake h3,.home.popmake h3{text-align: center;font-size: 18px!important;;margin-bottom: 20px;}
.popmake .gh-form-wrapper > .gh-success{background:rgba(250,60,0,0.5);color:#ffffff;}
.category_notice{margin-bottom:20px;}

/* Responsive */
@media only screen and (min-width:600px) {
	.desktop {
		/*display:block;*/
		visibility:visible;
		opacity:1;
		pointer-events: all;
	}
	.mobile {
		opacity:0;
		visibility:hidden;
		pointer-events: none;
	}
	#nav-close {
		text-align:left;
		border-top:1px solid rgba(255,255,255,.33);
	}
	.container {
		clear:none;
		width:100%;
		margin:auto;
	}
	.column-quarter, .column-half, .column-third, .column-fifth, .column-twofifths, .column-threefifths, .column-fourfifths, .column-sixth {
		float:left;
		clear:none;
		width:50%;
	}
	.column-half.half-page {
		width:100%;
	}
	img.alignleft, img.alignright {
		width:100%;
		max-width:500px;
	}
	.alignleft {
		margin-right:50px;
	}
	.alignright {
		margin-left:50px;
	}
	.sep {
		display:inline;
		padding:0px 5px;
	}
}

/* Tablet Layout:768px to 960. Inherits styles from:Tablet Layout. */
@media only screen and (min-width:960px) {
	body, button, input, select, textarea {
		font-size:1.0em;
		line-height:1.75em;
	}
	
	.woocommerce h1, .woocommerce-page h1, h1 {
		font-size:2.5em;
	}
	.woocommerce h2, .woocommerce-page h2, h2 {
		font-size:2em;
	}
	.woocommerce h3, .woocommerce-page h3, h3 {
		font-size:1.5em;
	}
	.woocommerce h4, .woocommerce-page h4, h4 {
		font-size:1.33em;
	}
	.home h1 {
		font-size:clamp(3em, 5vw, 72px);
	}
	.home h2 {
		font-size:clamp(2.5em, 3.0vw, 56px);
	}
	.home h3 {
		font-size:clamp(2em, 2.5vw, 44px);
	}
	.home h4 {
		font-size:1.5em;
	}
	h5, h5.eurostile {
		font-size:1.2em;
	}
	.intro2 h1, .subpage .intro2 h1 {
		font-size:clamp(2em, 2vw, 96px);
		font-size:clamp(2em, 2vw, 80px);
		line-height:1em;
	}
	.intro2 h2 {
		font-size:2.5em;
		line-height:1em;
	}
	h1.product-title {
		font-size:2.0em;
	}
		
	#masthead {
		height:64px;
		height:80px;
	}
	#masthead.logged-in {
		top:32px;
	}
	#navigation {
		top: 24px;
	}
	#navigation.logged-in {
		top: 56px;
	}
	#branding {
		position:absolute;
		top:32px;
		left:2.5%;
		width:160px;
		margin:auto;
	}
	#branding img {
		max-width:160px;
	}
	.button {
		padding:12px 16px;
	}
	.button-bordered {
		padding:12px 24px;
	}
	.navigation {
		position:relative;
		float:right;
		top:auto;
		left:auto;
		width:auto;
		max-width:none;
		margin:auto 96px auto auto;
		margin:auto 64px auto auto;
		padding:0px;
		background:none !important;
		border-bottom:none !important;
	}
	.main-navigation ul {
		display:block;
	}
	.main-navigation li, .sub-nav li, .footer-nav li {
		position:relative;
		float:left;
		clear:none;
		width:auto;
		margin:auto;
		padding:0em;
		background:none;
		text-align:left;
	}
	.main-navigation ul ul {
		display:block;
		visibility:visible;
		float:left;
		position:absolute;
		top:80px;
		left:-999em;
		padding:10px 0px 0px;
		background:rgba(33,33,33,.9);
		border:none;
		z-index:99999;
		box-shadow:0px 2px 10px rgba(0,0,0,0.0);
		opacity:0;
		transition:top 0.25s ease-in-out, opacity 0.5s ease-in-out;
	}
	.main-navigation ul ul ul {
		display:block;
		visibility:visible;
		top: -10px;
		border-left:1px solid rgba(55,55,55,0.5);
	}
	.main-navigation ul ul a {
		clear:both;
		width:260px;
		padding:8px 16px !important;
		border-radius:0px;
		border-top:none;
		text-align:left;
	}
	.main-navigation ul ul li {
		float:none;
		clear:both;
		margin:auto;
		background:none;	
	}
	.main-navigation ul li:hover > ul {
		left:auto;
		opacity:1;
		transition:top 0.25s ease-in-out, opacity 0.5s ease-in-out;
	}
	.main-navigation ul ul, .main-navigation ul ul ul {
		display:none !important;
	}
	.main-navigation a {
		margin:auto;
		padding:26px 14px;
		border-top:none !important;
	}
	.menu-toggle, .main-navigation.toggled .nav-menu {
		display:none;
	}
	.sub-nav {
		position:fixed;
		margin:64px auto auto;
	}
	.sub-nav a {
		padding:12px 24px;
		background:rgba(33,33,33,0);
		color:#333;
		transition:all linear 0.5s;
		border-right:1px solid #eee;
	}
	.sub-nav a:hover {
		background:rgba(11,11,11,1);
		color:#f07252;
		transition:all linear 0.5s;
	}
	.sub-nav li:last-child a {
		border-right:none;
	}
	.post-navigation {
		float:none;
		clear:both;
		margin:5% auto;
	}
	#masthead.white .main-navigation ul ul {
		background:rgba(255,255,255,.9);
		border:1px solid #f0f0f0;
		border-top:none;
	}
	#masthead .icons {
		top:32px;
		right:2.5%;
	}
	.social a, .social a img, .icons a img, .overlay .icons img {
		display:inline-block;
		position:relative;
		width:24px;
		height:24px;
	}
	#masthead .icons a img, .icons a img {
		filter:grayscale(100%);
		transition:filter linear 0.5s;
	}
	#masthead .icons a:hover img, .icons a:hover img {
		filter:grayscale(0%);
		transition:filter linear 0.5s;
	}
	#masthead .icons a img {
		top: 6px;
	}
	.icons a {
		position: relative;
		margin:auto auto auto 12px;
	}
	.icons a:after {
		position:absolute;
		top:-6px;
		left:-6px;
		width:36px;
		height:36px;
	}
	.icons a:hover:after {
		
	}
	.overlay .icons img {
		margin:auto auto -6px;
	}
	.icons-large img {
		width:36px;
		height:36px;
		margin:auto auto -12px !important;
		padding:2px;
	}
	
	.site-footer .social a img {
		transition:all ease-in-out 1s;
		opacity:1;
	}
	.site-footer .social a:hover img {
		opacity:.667;
	}
	
	.column-quarter, .column-third, .column-half, .column-twothirds, .column-threequarter, .column-fifth, .column-twofifths, .column-threefifths, .column-fourfifths {
		float:left;
		clear:none;
		margin:auto;
	}
	.column-quarter {
		width:25%;
	}
	.column-third {
		width:33.333%;
	}
	.column-half {
		width:50%;
	}
	.column-twothirds {
		width:66.667%;
	}
	.column-threequarter {
		width:75%;
	}
	.column-fifth, .column-twofifths, .column-threefifths, .column-fourfifths {
	}
	.column-fifth {
		width:20%;
	}
	.column-sixth {
		width: 16.66%;
	}
	.column-twofifths {
		width:40%;
	}
	.column-threefifths {
		width:60%;
	}
	.column-fourfifths {
		width:80%;
	}
	.content-left {
		width:50%;
		float:left;
	}
	.content-right {
		width:50%;
		float:right;
	}
	.content {
		padding:5%;
	}
	.v-centered {
		top:50%;
		-webkit-transform:translateY(-50%);
		-moz-transform:translateY(-50%);
		-ms-transform:translateY(-50%);
		transform:translateY(-50%);
	}
	.container {
	}
	.container .panel.medium {
		margin:auto;
	}
	
	.columns.grid-two {
		grid-template-columns:50% 50%;
	}
	.columns.grid-three {
		grid-template-columns:30% 30% 30%;
		column-gap: 5%;
	}
	.columns.grid-four {
		grid-template-columns:25% 25% 25% 25%;
	}
	.columns.grid-six {
		grid-template-columns:16.66% 16.66% 16.66% 16.66% 16.66% 16.66%;
	}
	
	.blog-grid {
		display:grid;
		grid-template-columns:25% 25% 25% 25%;
		grid-auto-rows:1fr;
		font-size:0.9em;
	}
	.blog-grid .column-quarter {
		float:none;
		clear:both;
		width:100%;
		margin:auto;
	}
	.blog-grid .container .panel {
		height:inherit;
		min-height:500px;
	}
	
	/* Blog Slider */
	.flex-slider.grid-two .column-grid {
		width: 50%;
	}
	.flex-slider .prev {
		left: 2.5%;
	}
	.flex-slider .next {
		right: 2.5%;
	}
	.flex-slider .prev svg, .flex-slider .next svg {
		width: 32px;
		height: 32px;
	}
	.flex-slider .container {
    	min-height: 67vh;
	}
	.flex-slider .v-bottom {
		bottom: 7.5%;
	}

	#video {
		display:block;
		position:fixed;
		top:0px;
		width:100%;
		height:100%;
		margin:auto;
		z-index:30;
	}
	#primary-content {
		z-index:20;
	}
	#secondary-content {
		z-index:0;
	}
	
	#primary-content .half-page {
		width:50%;
		margin:auto auto auto 50%;
	}
	.half-page.background {
		width:50%;
		left:50%;
	}
	.half-page.background-left {
		width:50%;
		height:100%;
	}
	.half-page.background-right {
		width:50%;
		height:100%;
	}
	.half-page.background-left .background, .half-page.background-right .background {
		opacity:1;
	}
	.background-left {
		width:40%;
		height:70%;
		top:15%;
		left:5%;
		right:55%;
		bottom:15%;
	}
	.background-right {
		width:40%;
		height:70%;
		top:15%;
		left:55%;
		right:5%;
		bottom:15%;
	}
	.half-page.background-left.overlap {
		width:61.7%;
		height:80%;
		top:10%;
		left:5%;
		right:auto;
		bottom:10%;
	}
	.half-page.background-right.overlap {
		width:61.7%;
		height:80%;
		top:10%;
		left:auto;
		right:5%;
		bottom:10%;
	}
	.column-half.half-page {
		width:50%;
		margin-top:auto;
	}
	.column-half.overlap {
		left:5%;
		margin:5% auto;
		background:rgba(255,255,255,0.9);
		box-shadow:12px 12px 24px rgba(0,0,0,0.1);
		z-index:10;
	}
	.column-half.overlap.right {
		left:auto;
		right:5%;
		text-align:left;
	}
	.column-half.overlap .content {
		padding:0em;
	}

	.entry-content img.alignleft, .entry-content img.alignright {
		width:100%;
		max-width:400px;
		transform:translateX(50px);
		margin:1em auto;
		border:10px solid #fff;
		box-shadow: 5px 5px 20px #f0f0f0;
	}
	.entry-content img.alignleft {
		transform:translateX(-50px);
	}
	.thumbnail {
		border:0px solid #fff;
		box-shadow:12px 12px 0px rgba(0,0,0,.11);
	}
	.thumbnail.shadowed {
		border:8px solid #fff;
		box-shadow:6px 6px 18px rgba(0,0,0,.11);
	}
		
	.overlay {
		position:absolute;
		top:0px; left:0px; bottom:0px; right:0px;
		font-size:0.9em;
		background: linear-gradient(180deg, rgba(0,0,0,0) 20%, rgba(0,0,0,0.9) 100%);
		z-index:20;
		overflow:hidden;
		transition:all 0.5s ease-in-out;
		backface-visibility:hidden;
	}
	.overlay .content {
		position:absolute;
		top:70%;
		bottom:auto;
		width:90%;
		padding:5%;
		font-size:0.9em;
		transition:all 0.5s ease-in-out;
		backface-visibility:hidden;
	}
	.overlay .details {
		opacity:0;
		transform:translateY(50px);
		transition:all 0.75s ease-in-out;
		transition-delay:0.25;
		backface-visibility:hidden;
	}
	.overlay .link {
		transform:translateY(25px);
		transition:all 1s ease-in-out;
		transition-delay:0.5;
		backface-visibility:hidden;
	}
	.column-third .overlay h3 {
		font-size:1.5em;
	}
	.column-fifth .overlay {
		background: linear-gradient(180deg, rgba(0,0,0,0) 20%, rgba(0,0,0,0.75) 100%);
	}
	.column-third .overlay .content {
		top:75%;
	}
	.column-fifth .overlay .content {
		top:50%;
	}

	.overlay:hover .content {
		top:25%;
		transition:all 0.5s ease-in-out;
	}
	.column-third .overlay:hover .content, .column-fifth .overlay:hover .content {
		top:15%;
		transition:all 0.5s ease-in-out;
	}
	.overlay:hover .details {
		opacity:1;
		transform:translateY(0px);
		transition:all 0.75s ease-in-out;
	}
	.overlay:hover .link {
		transform:translateY(0px);
		transition:all 1s ease-in-out;
	}
	
	/* WooCommerce */	
	ul.products.columns-3 li.product {
		width: 30.75%;
	}
	ul.products.columns-4 li.product {
		width:24% !important;
		min-height:450px;
		margin:0 1.25% 1.5% 0 !important;
	}
	ul.products.columns-4 li.product.last {
		margin-right:0% !important;
	}
	ul.products li.product {
		min-height:480px;
	}
	.program-data .column-third {
		border-right:1px dotted rgba(255,255,255,0.25);
	}
	.program-data .column-third:last-child {
		border-right:none;
	}
	
	.sidebar.column-quarter {
		position:sticky;
		float:left;
		overflow:auto;
	}
	#shop-sidebar .widget_product_search input[type="search"] {
	}
	#shop-sidebar .widget_product_search button {
		padding:0.5em;
	}
	#shop-sidebar .widget_product_categories, #shop-sidebar .widget_shopping_cart {
		display:block !important;
	}
	
	/* Cart Icon */
	.cart-icon-count {
		top:-12px;
		left:16px;
		transform: scale(1);
	}
	/* Store Notices */
	.woocommerce-store-notice {
		top:80px !important;
	}
	.admin-bar .woocommerce-store-notice {
		top:112px !important;
	}
	
	/* LifterLMS */
	.post-type-archive-course #container {
		position:relative;
		float:left;
		width:80%;
		margin:10%;
	}
	.post-type-archive-course #secondary {
	}
	.post-type-archive-course #secondary input[type="search"] {
		width:67%;
		padding:.45em;
	}
	
	/* Trainer / Gym Locator */
	#locator.searchbar {
		margin:80px auto auto;
	}
	#locator.searchbar .column {
		max-width:none;
    	width:calc(100% - 36px);
	}
	.admin-bar #locator.searchbar {
		margin:112px auto auto;
		margin:80px auto auto;
	}
	.woocommerce-demo-store #locator.searchbar {
		margin:130px auto auto;
	}
	.admin-bar.woocommerce-demo-store #locator.searchbar {
		margin:130px auto auto;
	}
	#locator li, #locator li:nth-child(3), #locator li:nth-child(4) {
		width:24.0%;
		margin:0.5%;
	}
	#locator li:nth-child(4) {
		padding:25px 0% 0%;
		font-size:0.9em;
		text-align:right;
	}
	#locator .checkmark-container {
		padding:8px 8px 0px 26px;
	}
	
	/* Gym Signups */
	#intro.gyms .column-half {
		transform:translateY(95%);
	}
	#intro.gyms #gym-signup.column-half {
		float:right;
		margin:7.5% auto 2.5%;
		transform:translateY(0%) !important;
	}
	#gym-signup .signup-form {
		width:80%;
		max-width:480px;
		margin:auto;
		border-radius:5px;
	}
		
	#gallery {
		margin:auto auto;
	}
	#gallery.bg0 {
		margin:auto 20px;
		padding:0em;
	}
	#gallery.bg0 .gallery {
		width:100%;
		margin:auto;
		padding:0;
	}
			
	.site-footer {
	}
	.site-footer .social {
		margin:1em auto auto;
		text-align:right;
	}
	.site-credits, .site-footer .back-to-top {
		display:block !important;
		width:100%;
		padding:0em;
		text-align:left;
	}
}

/* Desktops */
@media only screen and (min-width:1080px) {
	#gallery .bg2 {
		padding:5% 12%;
	}
}

@media only screen and (min-width:1280px) and (min-height:768px) {
	.content-area {
		max-width:95%;
	}
	.content {
		padding:6vh 1.5%;
	}
	.column-half.overlap {
		margin:15vh auto;
		padding:0%;
	}
	.column-half.overlap .content, .column-half .content {
		padding:5%;
	}
}

@media only screen and (min-width:1440px) and (min-height:900px) {
	.intro2 h1, .subpage .intro2 h1 {
	}
	.intro2 h2 {
	}
	.intro2 h4 {
	}
	.content {
		padding:9vh 2.5%;
	}
	ul.products li.product {
		min-height:555px;
	}
	.background-left {
		height:60%;
		top:20%;
		bottom:20%;
	}
	.background-right {
		height:60%;
		top:20%;
		bottom:20%;
	}
}
@media only screen and (min-width:1601px) {
	.intro2 iframe {
		position: absolute;
		top:50%;
		left:50%;
		width:1920px !important;
		height:1080px !important;
		max-width:none;
		margin-left:-960px;
		margin-top:-540px;
		transform:scale(1.1);
	}
}
@media only screen and (min-width:1921px) {
	.intro2 iframe {
		position: absolute;
		top:50%;
		left:50%;
		width:2560px !important;
		height:1440px !important;
		max-width:none;
		margin-left:-1280px;
		margin-top:-720px;
	}
}

/*--------------------------------------------------------------
Animation
--------------------------------------------------------------*/
.easeInOutQuint {
-webkit-transition-timing-function:cubic-bezier(0.860, 0.000, 0.070, 1.000); 
   -moz-transition-timing-function:cubic-bezier(0.860, 0.000, 0.070, 1.000); 
     -o-transition-timing-function:cubic-bezier(0.860, 0.000, 0.070, 1.000); 
        transition-timing-function:cubic-bezier(0.860, 0.000, 0.070, 1.000);
}

.pulse1 {
	opacity:.25;
	-webkit-animation:pulse 1.5s infinite linear;
	-moz-animation:pulse 1.5s infinite linear;
	animation:pulse 1.5s infinite linear;
}
.pulse2 {
	opacity:.25;
	-webkit-animation:pulse 2.5s infinite linear;
	-moz-animation:pulse 2.5s infinite linear;
	animation:pulse 2.5s infinite linear;
}
.pulse3 {
	opacity:.25;
	-webkit-animation:pulse 3.5s infinite linear;
	-moz-animation:pulse 3.5s infinite linear;
	animation:pulse 3.5s infinite linear;
}
.pulse4 {
	opacity:.25;
	-webkit-animation:pulse .5s infinite linear;
	-moz-animation:pulse .5s infinite linear;
	animation:pulse .5s infinite linear;
}

@keyframes pulse {
0%   {opacity:.5;}
50%   {opacity:1;}
100% {opacity:.5;}
}
@-webkit-keyframes pulse {
0%   {opacity:.5;}
50%   {opacity:1;}
100% {opacity:.5;}
}
