@import "reset.css";

/*======================================
*            Variables             *
======================================*/

:root {
  --space-between: 8px;
}

/*======================================
*            FONT             *
======================================*/

/*-----------Setting Custom Fonts------------*/
@font-face {
 	font-family: PTSans;
    font-weight:400;
    font-style: normal;
 	src: url("/assets/fonts/PTSans/PTSans-Regular.ttf");
}

@font-face {
 	font-family: PTSans;
    font-weight:400;
    font-style: italic;	
	src: url("/assets/fonts/PTSans/PTSans-Italic.ttf");
}

@font-face {
 	font-family: PTSans;
    font-weight:700;
    font-style: normal;	
	src: url("/assets/fonts/PTSans/PTSans-Bold.ttf");
}

@font-face {
 	font-family: PTSans;
    font-weight:700;
    font-style: italic;	
	src: url("/assets/fonts/PTSans/PTSans-BoldItalic.ttf");
}

@font-face {
 	font-family: WorkSans;
    font-weight:700;
    font-style: italic;
 	src: url("/assets/fonts/WorkSans/WorkSans-BoldItalic.ttf");
}

/*-----------Styles------------*/

p{
	font-family: PTSans;
	font-size: 21px;
	font-style: normal;
	font-weight: 400;
	line-height: 31px;
	letter-spacing: 0px;

	margin-bottom: calc(5 * var(--space-between));

  	}

p.secondary{
	font-family: PTSans;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 23px;
	letter-spacing: 0px;
  	}

h1{
	font-family: WorkSans;
	font-size: 62px;
	font-style: italic;
	font-weight: 700;
	line-height: 73px;
	letter-spacing: 0px;

	margin-bottom: calc(5 * var(--space-between));
	}

h2{
	font-family: WorkSans;
	font-size: 42px;
	font-style: italic;
	font-weight: 700;
	line-height: 49px;
	letter-spacing: 0px;

	margin-bottom: calc(5 * var(--space-between));
}

h3{
	font-family: WorkSans;
	font-size: 28px;
	font-style: italic;
	font-weight: 700;
	line-height: 33px;
	letter-spacing: 0px;

	margin-bottom: calc(5 * var(--space-between));
	}

a {
	font-family: PTSans;
	font-size: 18px;
	font-style: inherit;
	font-weight: 700;
	line-height: 23px;
	letter-spacing: 0px;

	color: inherit;
    text-decoration: underline;
	text-decoration-color: #FF4040;
    text-decoration-thickness: 2px;
}

a:hover {
	color: #FF4040;

}

/*------------------------------------------**
				Header CSS
**------------------------------------------*/

nav {
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	z-index: 8;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 0 40px;
	height: 80px;
	align-items: center;


	background: linear-gradient(180deg, rgba(0, 0, 0, 0.36) 0%, rgba(0, 0, 0, 0) 100%);
}

nav .logo {
	max-height: 50px;
    width: 100%;
}

nav ul {
	white-space: nowrap;
	margin-left: 50px;
	}	
nav ul li {
    display: inline;
	padding: 0px 20px;
    margin: 0;

}

nav ul li a {
    display: inline-block;
    position: relative;
	padding: 4px 0px;
    text-decoration: none;
    color: #F2F2F2;
}

nav a:hover{
	color:#ffffff;
}

nav ul li a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #FF4040;
  visibility: hidden;
  transform: scaleX(0);
  transition: all 0.25s ease-in-out 0s;
}

nav ul li a:hover::before {
  visibility: visible;
  transform: scaleX(1);
}



/*------------------------------------------**
				Footer CSS
**------------------------------------------*/

footer{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
	padding: 40px;

	background: #000000;
	color: #F45555;
}

footer .footerContact{
	color: #ffffff;
	text-align: right;
	}

footer h3{
	color: #ffffff;
}

footer .footerContact p{
	margin-top: 12px;
	font-style: italic;
}

/*------------------------------------------**
				General CSS
**------------------------------------------*/

body{
	background: #000000;
	color: #ffffff;
}

section{
	z-index: 0;
}

.container{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0px;
	z-index: 0;

}

/*------------------------------------------**
				Homepage CSS
**------------------------------------------*/
html{
	scroll-behavior: smooth;	
}


.homeBlock{
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.innerBlock{
	display: flex;
	flex-direction: column;
	align-items: center;
    overflow: hidden;
	padding: 100px 40px;
	max-width: 800px;
}

.items-center{
	align-items: center;
}

.justify-center{
	justify-content: center;
}
align-center{
	align-items: center;
}

.neonstrip{
	border-left: 2px solid #FF4040;
	padding-left: 40px;
}

.card{
	padding:40px;
	margin-bottom: 40px;
	transition: all 0.2s ease-in-out 0s;

}

.card:hover{
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1), 0px 4px 5px rgba(0, 0, 0, 0.07), 0px 1px 10px rgba(0, 0, 0, 0.06);
}

.card h1, .card h2, .card h3, .card p{
	margin-bottom: calc(2 * var(--space-between));
}

.button{
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 0 24px;
	color: #ffffff;
	background: #FF4040;
	text-decoration: none;
	height:48px;
    vertical-align: middle;
	white-space: nowrap;


	transition: box-shadow 250ms;
}

.button img{
	height: 24px;
	width: 24px;
	margin-left: 8px;
}

.button:hover{
	background: #F52D2D;
	color:#ffffff;
	box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.1), 0px 3px 4px rgba(0, 0, 0, 0.07), 0px 1px 8px rgba(0, 0, 0, 0.06);

}
/*
a.button:hover{
	color:#ffffff;
}*/

.light {
	background-color: #F5F5F5;
}

.less-light {
	background-color: #EFE9E5;
}

.dark {
	background-color: #232323;
	transition: all 0.2s ease-in-out 0s;
}

.darker {
	background-color: #191919;

}
.dark:hover{
	background-color: #303030;
}

.flexRow{
	display: flex;
	flex-direction: row;
}

.flexColumn{
	display: flex;
	flex-direction: column;
}

.flexWrap{
	flex-wrap: wrap;
}

.flexWrapRev{
	flex-wrap: wrap-reverse;
}

.w-full{
	width: 100%;
}

.gap {
	gap: 0px 24px
}

.mr16px{
	margin-right: 16px !important;
}

.mr40px{
	margin-right: 40px !important;
}

.mb16px{
	margin-bottom: 16px !important;
}

.noBottomMargin{
	margin-bottom: 0px !important;
}

#hero {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100vw;
	height: 100vh;
    max-width:100%;  /* added */
	position: relative;
	top: 0;
	left: 0;
    z-index:0;

}
	
	.scrim{
		object-fit: cover;
		height: 100%;
		width: 100%;
		position: absolute;
		z-index: 1;
		background: rgba(0, 0, 0, 0.4);

	}

	.heroVideo{
		object-fit: cover;
		height: 100%;
		width: 100%;
		position: absolute;
	}
	.overlay {
		max-width: 800px;
	    z-index:1;
	    padding: 0 40px;
	    text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.25);

	}

	#hero .neonstrip{
		margin-left: 16px;
		padding-left: 16px;
	}

#bitgym h1, #bitgym h2, #bitgym h3{
		color: #000000;
	}
	#bitgym p{
		color: #333333;
	}

	#bitgym .flexRow{
		justify-content: space-between;
	}

	.bitgymCardTitle{
		display: grid;
		grid-template-columns: 88px auto 168px;
  		grid-template-rows: 1 1 1;
	}

	.appIcon {
		grid-row: 1 / span 2;
		height:64px;
		align-self: center;
	}

	.appTitle {
		margin-bottom:0px !important;
		align-self: center;
	}

	.appStore {
		grid-row:2;
	}

	.appButton{
		align-self: start;
		width: 120px;
		grid-row: 1;
		grid-column: 3;
	}



/* Technology, team sections */
	.darker h1, .darker h2, .darker h3, .darker h4{
		color: #ffffff;
	}

	.darker p {
		color: #E5E5E5;
	}

	.secondary_techImg {
		max-width: 250px;
		margin-right: 40px;
	}

#fitnessPartners{
	background-color: #F5F5F5;
}
	#fitnessPartners h2{
		color: #000000;
		text-align: center;
	}

	#fitnessPartners {
		align-items: stretch;
	}

	#fitnessPartners .innerBlock{
		max-width:100%;
		align-items: stretch;
	}

	#fitnessPartners .flexRow{
		justify-content: space-around;
		flex-wrap: wrap;
		flex: 1;
	}
	#fitnessPartners img{
		margin: 32px 24px;
		max-height: 80px;
		min-width: 210px;
	}
	
	#fitnessPartners span{
	    text-align: center;
	}

#team .innerBlock{
	max-width: none;
	width: 100%;
	box-sizing: border-box;
	}

	#team .profiles{
		color: #000000;
		flex-wrap: wrap;
		flex-basis: auto;
		align-items: flex-start;

	}
	#team img{
		width:120px;
		margin-bottom: 8px;
	}

	.profiles {
		margin-bottom: -40px;
		justify-content: space-evenly;
	}

	.profiles h4 {
		font-family: PTSans;
		font-size: 15px;
	    font-weight:700;
	    margin-bottom: 4px;
	} 

	.profiles p{
		font-family: PTSans;
		font-size: 14px;
		line-height: 19px;

	}
	.profiles .neonstrip{
		padding-left: 6px;
		padding-bottom: 0px;
	}

	.profile {
		width: 120px;
	}

	.teamDescription{
		color: #333333;
		max-width: 600px;
		text-align:center;
	}

#hiring{
	background-color: #F5F5F5;
	color: #000000;
}

/*------------------------------------------**
				Lazyload YT CSS
**------------------------------------------*/

.videoContainer {
	position:relative;
	padding-bottom:56.25%;
	height:0;
	overflow:hidden;
	margin-bottom: 16px;
}


.videoContainer img, iframe, .video-container object, .video-container embed {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}


/*------------------------------------------**
				Responsive CSS
**------------------------------------------*/

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

	.teamDescription{
		margin-bottom: 40px;
		max-width: inherit;
	}
		footer .footerContact{
		max-width: 450px;
	}
}


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

	nav ul {
		display: none;	
	}

	p{
		font-size: 20px;
		line-height: 120%;
	  	}

	h1{
		font-size: 42px;
		line-height: inherit;
		}

	.appIcon {
		margin-right: 16px;
	}

	.appTitle {
		grid-column: span 2;
	}

	.appStore {
		grid-column: span 2;
	}
	.appButton {
		grid-row: 3;
		grid-column: 1 / span 3;
		margin-top: 16px;
	}



}

@media only screen and (max-width: 710px) {
	footer {
		flex-wrap: wrap-reverse;
	}

	footer .footerContact{
		margin-bottom: 40px;
		text-align: left;
	}

		.card {
		flex-wrap: wrap;
	}

	.secondary_techImg {
		margin-bottom: 16px;
		max-width: 100%;
	}

	.appTitle span {
		display: none;
	}
}

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

/*If it turns out that mobile loads really slowly still, but we gotta pick a better image*/

/*
    .heroVideo {
        display: none;
    }

    #hero { 
        background-image: url("/assets/images/hero_loading.jpg")	
    }*/

	nav {
		padding: 0 16px;
	}

	footer {
		padding: 40px 16px;
	}

	h1{
		font-size: 12vw;
		line-height: inherit;
	}

	h2{
		font-size: 38px;
		line-height: inherit;
	}

	.overlay{
		padding: 0 16px;
	}

	.innerBlock {
	    padding: 80px 16px;
	}

	.card {
    	padding: 24px 16px;
	}

	.appButton{
		align-self: start;
		grid-column: 1 3;
		width: auto;
	    justify-content: center;
	}

	.bitgymCardTitle {
	    grid-template-columns: 76px auto 168px;
	}

	.gap {
		gap: 0px 8px;
	}

	.profile {
		width: 100px;
	}

	#team img {
		width: 100px;
	}

}