/*
Theme Name: Twenty Twenty
Text Domain: twentytwenty
Version: 1.2
Requires at least: 4.7
Requires PHP: 5.2.4
Description: Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor. Organizations and businesses have the ability to create dynamic landing pages with endless layouts using the group and column blocks. The centered content column and fine-tuned typography also makes it perfect for traditional blogs. Complete editor styles give you a good idea of what your content will look like, even before you publish. You can give your site a personal touch by changing the background colors and the accent color in the Customizer. The colors of all elements on your site are automatically calculated based on the colors you pick, ensuring a high, accessible color contrast for your visitors.
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks, accessibility-ready
Author: the WordPress team
Author URI: https://wordpress.org/
Theme URI: https://wordpress.org/themes/twentytwenty/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned
with others.
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

	0. 	CSS Reset
	1. Document Setup

    ( The rest removed )

/* -------------------------------------------------------------------------- */

/*	0. CSS Reset
/* -------------------------------------------------------------------------- */


html,
body {
	border: none;
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
big,
cite,
code,
em,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td {
	border: none;
	font-size: inherit;
	line-height: inherit;
	margin: 0;
	padding: 0;
	text-align: inherit;
}

blockquote::before,
blockquote::after {
	content: "";
}


/* -------------------------------------------------------------------------- */

/*	1. Document Setup
/* -------------------------------------------------------------------------- */


html {
	font-size: 62.5%; /* 1rem = 10px */
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	background: #f5efe0;
	box-sizing: border-box;
	color: #000;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
	font-size: 1.8rem;
	letter-spacing: -0.015em;
	text-align: left;
}

@supports ( font-variation-settings: normal ) {

	body {
		font-family: "Inter var", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
	}
}

*,
*::before,
*::after {
	box-sizing: inherit;
	-webkit-font-smoothing: antialiased;
	word-break: break-word;
	word-wrap: break-word;
}

#site-content {
	overflow: hidden;
}

/* hide unneeded WP stuff */
#site-header,
.entry-header,
.skip-link,
.menu-modal,
.footer-nav-widgets-wrapper { display:none;}

.post-meta-wrapper {
  position: fixed;
  z-index: 20;
  bottom: 1rem;
  left: 1rem;
}

body { font-family: 'Montserrat', sans-serif; background-color: #171a2b;}
    
.jsLayout a { text-decoration: none; color:#9552c8; }
.jsNavWrap,
.jsLayout { 
  max-width: 1440px;
  margin: 0 auto;
  overflow: hidden;
}
.jsLogo { 
  position: absolute;
  z-index: 5; 
  top: 44px;
  left: 52px;
  height: 49px;
}

.jsLogoNav {
    display: none;
    position: absolute;
    z-index: 5;
    top: 44px;
    left: 52px;
    height: 49px;
}


.jsByHaulHub {
  position: absolute;
  z-index: 5;
  top: 92px;
  left: 102px;
  height: 25px;
}
.jsBgWrapper {
  background-color:#171a2b;
  position: relative;
  overflow: hidden;
}
.jsCutout {
  position: absolute;
  z-index: 0;
  top: -50px;
  left: 492px;
  height: 1121px; 
}

.jsBgImage {
  height: 815px;
  position: absolute;
  top: 41px;
  left: 681px;
  z-index: 0;
}
.jsCutoutMask {
  position: absolute;
  background-color: #171a2b;
  z-index: 1;
  top:-250px;
  bottom:-200px;
  left: -1260px;
  transform: rotate(12deg);
  width: 2000px;
  box-shadow: 0 0 24px #341e46;
}
.jsHeaderBlock { position:relative; z-index:2; color:#fff; max-width: 625px; margin: 184px 0 304px 114px;}
.jsHeadline { font-family: 'Montserrat', sans-serif; font-weight:600; font-size: 38px;}
.jsSubHead { margin: 29px 0 44px; font-size: 18px; max-width: 497px;} 
.jsHeaderButtons { margin-top: 44px;} 
.jsHeaderButton { 
    display: inline-block;
    box-sizing: border-box;
    text-align: center;
    border-radius: 22px;
    padding: 12px;
    font-size: 17px;
    font-weight: 600; 
    width: 198px; 
    margin-right: 28px;
    cursor: pointer;
}

.jsHeaderButton a,
.jsHeaderButton a:active,
.jsHeaderButton a:visited {
  color: #edd4ff;
}
.jsHeaderButton {
  background-color: #9552c8
}

.jsHeaderButton:hover {
  background-color: #ad5fe8;	
}

.jsDemoButton a,
.jsDemoButton a:active,
.jsDemoButton a:visited {
  color:#9552c8;  
}
.jsDemoButton {
  background-color: #f9f3fe;
}

.jsDemoButton:hover {
  box-shadow: 0 9px 13px rgba(27, 30, 49, 0.08);
  background-color: #fff;
}   
.jsPlatformIcons { margin: 57px 0 29px; }
.jsPlatformIcon { display: inline-block; height:24px; width:24px; margin-right: 12px; }
.jsPlatformIcon img { display:inline-block; vertical-align:middle; }

/* scrolling nav */
.jsNav { 
  overflow:visible; 
} 

.jsNav.jsNavScrolled {
  background-color: #fff;
  position: fixed;
  left: 0;
  z-index: 20;
  width: 100%;
  box-sizing: border-box;
  box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2), 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12);
}
.jsNav.jsNavScrolled .jsLogo {    
  display: none;
}

.jsNav.jsNavScrolled .jsLogoNav {    
  display: block;
  top: 50%;
  transform: translateY(-50%);
}

.jsNavWrap {
  position: relative;
  height: 0px;
  transition: height 0.3s ease-out; 
  overflow: visible;
}

.jsNav.jsNavScrolled .jsNavWrap {
  height: 70px;
} 
#NAV_DEMO_BUTTON {
  display: none;
  position: absolute;
  right: 16px;
  margin: 0;
  top: 50%;
  transform: translateY(-50%);
}
#NAV_LOGIN_BUTTON {
  display: none;
  right: 200px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#NAV_LOGIN_BUTTON:hover {
  background-color: #ad5fe8;	
}

.jsNav.jsNavScrolled #NAV_LOGIN_BUTTON,
.jsNav.jsNavScrolled #NAV_DEMO_BUTTON { 
  display: block;
}

/* Features + Device Images */
.jsPlatformIcons { margin: 57px 0 29px; }
.jsPlatformIcon { display: inline-block; height:24px; width:24px; margin-right: 12px; }
.jsPlatformIcon img { display:inline-block; vertical-align:middle; }
.jsFeatures { position: relative; background-color: #fff; padding:0 0 80px; }
/* widened from 475 to prevent wrapping of feature name */
.jsFeatureListWrap { box-sizing:border-box; width: 482px; padding:120px 0 0 114px; }
.deviceImages { position:absolute; z-index:10; left: 519px;  top:0; }
.deviceImage { position:absolute; max-width:none;}

.device1 { width: 530px; top:-69px; left: -30px;}
.device2 { width: 710px; top: 320px; left: 92px;}
.device3 { width: 300px; top: -195px; left: 500px;}
.device4 { display: none;}

.jsFeatureHeader { font-size: 26px; font-weight: 700; margin: 0 0 32px;}
.jsFeatureList { list-style:none; margin: 0 0 34px;} 
.jsFeatureList .jsFeatureListItem { font-size: 18px; margin: 0 0 1rem;} 
.jsFeatureListItem br { display:none;}
.jsChk { height:14px; vertical-align: baseline;} 
.jsCtaLink { font-size: 18px; font-weight:700; color: #9552c8;}

/* News & Insights */
.jsNews { 
  position:relative; z-index:10; 
  box-sizing: border-box;
  max-width: 1440px;
  padding: 0 80px 3rem 114px;
  background-color: #fff;
}

.jsNewsHeader { font-size:26px; font-weight:700; text-align:center; padding:2rem 0;}
.jsNewsGrid { display:flex; justify-content: space-between;}
.jsNewsItem { flex:1;  width: 27%; margin-right:9%; overflow:hidden;}
.jsNewsItem:last-of-type { margin-right:0; } 

.jsNewsImage { display:block; position:relative; left:50%; transform: translateX(-50%); max-height:189px; margin-bottom:1.5rem;}
.jsNewsLabel { font-size: 18px; color: #6a6a75; margin-bottom:1rem;} 
.jsNewsTitle { font-size: 18px; font-weight:700; line-height: 26px; color:#1b1e31; margin-bottom:1.5rem;} 
.jsNewsBody { font-size: 18px; line-height: 30px;}  

.jsCustomersSection {
  position: relative;
  z-index: 10;
  padding: 4rem 80px 0 114px;
  background-color: #f6f7f8;
}

.jsCustomersHeader {
  font-size:26px; text-align:center; font-weight:bold;
} 
.jsCustomersText {
  font-size:18px; line-height: 133%; max-width: 958px; text-align:center; margin:1rem auto 1.8rem;
}
.jsCtaStudy { text-align:center; margin:1.8rem 0 3.5rem;}
.jsCustLogos {
  display: grid;
  align-items: baseline;
  grid-template-columns: repeat(auto-fit, minmax(12.5%, 1fr));
  grid-template-rows: 80px auto 80px; 
  margin: 3.5rem 0 0;
  padding: 0 0 3.5rem;
}
.jsCustLogoWrap img {
  max-height: 64px;
  display: block;
  margin: 0 auto 1rem;
}

.custLogo1 { height:30px; }
.custLogo2 { height:65px; }
.custLogo3 { height:50px; }
.custLogo4 { height:58px; }
.custLogo5 { height:28px; }

/* Footer */
.jsFooter {
  position: relative;
  z-index: 11;
  box-sizing: border-box;
  max-width: 1440px;
  padding: 2rem 55px 8rem;
  background-color: #fff;
  margin: 0 auto;
}

.jsFooterGrid {
  max-width: 800px;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.jsFooterLogoWrap {
  flex: 1;
  color: #1b1e31;
  font-weight: 700;
}
.jsFooterLogo {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}

.jsFooterAddress,
.jsFooterContact {
  flex: 1;
  font-size: 15px;
  color: #6a6a75
}
	  
.jsFooterAddressHeader,
.jsFooterContact { 
  padding-top: 14px;
  font-weight: 700;
}

.jsFooterAddressInner {
  position: relative;
  padding-left: 30px;
  line-height: 150%;  
}
.jsFooterPin {
  position: absolute;
  left: 0;
  top: 50%;
  height: 20px;
  transform: translateY(-50%);
}
.jsFooterContact img {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
.jsFooterContactItem {
  margin: 0 0 1.5rem;
}
.jsFooterContactItem a {
  color: #6a6a75;
}

/* Prevent logo bumping */
@media screen and (max-width:1200px) {
  .jsCustLogos {
    align-items: center;
    grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
  }
}

/* TABLET */
@media screen and (max-width: 800px) {
  .jsLogo {
    top: 20px;
    left: 20px;
  }
  
  .jsNav.jsNavScrolled .jsLogoNav {
    left:20px;
  }
  
  .jsByHaulHub {
    left: 20px;
    top: 90px;
  }
  .jsCutoutMask {
    top: 278px;
    left: -145px;
    transform: rotate(166deg);
    width: 1000px;
    height: 300px;
  }

  .jsCutout {
    display: none;
  }

  .jsBgImage {
    height: 728px;
    top: 403px;
    left: -3px;
  }    

  .jsFeatureListWrap {
    width: auto;
    padding: 2rem 24px;
  }
  .deviceImages {
    left: 0;
    right: 0;
  }
  .device1 { display:none;}

  .device2 {
    width: 100vw;
    top: -282px;
    left: auto;
    right: -40vw;
  } 
  
  .device3 {
    width: 60vw;
    top: 625px;
    left: -8vw;
  }
  
  .device4 {
    display: block;
    width: 52vw;
    top: 760px;
    left: 42vw;
  }

  .jsNewsImage {
    left:0;
    transform: none;
  }

  .jsCustomersSection {
    border-top: 1px solid #d5d5d5;
    box-sizing: border-box;
    padding-left: 14px;
    padding-right: 14px;
  }

  .jsCustomersHeader {
    font-size: 18px;
  }
  .jsCustomersText {
    font-size: 16px;
  }

  /* PHONE STYLES PROMOTED TO TABLET */

  .jsHeaderBlock {
    margin: 184px 20px 410px;
  }
  .jsHeadline { font-size:22px;} 
  .jsPlatformIcons { margin: 16px 0;}
  .jsSubHead { margin: 16px 0;}

  .jsHeaderButtons { margin-top: 2rem;}
  

  .jsFeatures { padding:150px 0 480px;}
  .jsFeatureList { max-width: none;}
  .jsFeatureHeader { font-size: 18px;}
 
  .jsNews { padding: 0 24px; }
  .jsNewsGrid {
    display: block;
    padding-bottom: 32px;
  } 
  .jsNewsItem {
    margin: 32px 0 0;
    width: auto;
  }

  .jsCustomersSection {
    background-color: #fff;
    padding-top: 40px;
  }
  
  .custLogo1 { max-height:auto; height:20px; }
  .custLogo2 { max-height:auto; height:48px; }
  .custLogo3 { max-height:auto; height:40px; }
  .custLogo4 { max-height:auto; height:40px; }
  .custLogo5 { max-height:auto; height:17px; }
}

@media screen and (max-width:700px) {
  .jsFooterGrid {
    display: block;
  }
}

@media screen and (max-width:600px) {
  .jsNav.jsNavScrolled #NAV_LOGIN_BUTTON {
    display: none;
  }
  .device3 {
    top: 695px;
  }
  .device4 {
    top: 830px;
  }	
}

/* PHONE ONLY */
@media screen and (max-width:480px) {
  
  .jsNav.jsNavScrolled .jsNavWrap {
    height: 49px;
  }

  .jsNav.jsNavScrolled .jsLogoNav {
    left: 14px;
    height: 32px;
  }

  .jsNav.jsNavScrolled #NAV_DEMO_BUTTON { 
    width: 160px;
    font-size: 14px;
    padding: 7px 12px;
  }
  
  .jsBgImage {
    height: 601px;
    top: 542px;
    left: -149px;
  }
  
  .jsCutoutMask {
    top: 330px;
  }

  .jsHeaderButton {
    display: block;
    margin: 0 auto 24px;
  }  
  
  .device2 { 
    width: 650px;
    top: -269px;
    left: 21px;
  }
  .device3 {
    width: 60vw;
    top: 900px;
    left: -8vw;
  }
   
  .device4 {
    display: block;
    width: 52vw;
    top: 1025px;
    left: 42vw;
  }
  
  .jsFooter {
    padding: 32px 22vw;
  }
}