/*
	Read Me
	
	* Mobile First
		Read about mobile first & different responsive design methods: http://goo.gl/Zf0i7R
	
	*	Uses rem units with px fallback
		Read about rems: http://goo.gl/RRSXLH & http://goo.gl/XRtlMf & http://caniuse.com/#feat=rem
		
	Colors:
		
		"Black": #252528 (headings, links)
		Dark gray: #5d5d62 (text)
		Light gray: #ecf0f1 (background)
		Gray: #bdc3c7 (borders)
		
		Light red: #ff7365 (buttons, nav link hover/active)
		Darker red: #f35847 (button hovers)
		Pale red: #fd9297
		Bright Cyan: #00ffff
		Dark cyan: #9dd4d2
		Light blue: #97d8e8 (for dark cyan background hovers)
	
*/

/*
	CSS Reset, customized
	normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css
*/
img,legend{border:0}legend,td,th{padding:0}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:400}dfn{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}object{width:100%}

/*
	General
*/

* {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* 62.5% = 10px which makes for easier rem-to-pixel conversions
	ex: 1.4rem = 14px */
html {
	font-size: 62.5%;
}

body {
	font-family: Open Sans, Muli, Helvetica, Arial, sans-serif;
	font-weight: normal;
	font-size: 1.6em;
	color: #5d5d62;
	background-color: #ecf0f1;
	
	/* Improves appearance of @font-faces */
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

img {
	max-width: 100%;
	height: auto;
	/* Removes extra space for descenders below non-display: block images
		http://stackoverflow.com/questions/7774814/remove-white-space-below-image */
	vertical-align: bottom;
}

/* Email address images */
.email-address {
	vertical-align: middle;
}

/*
	Links
*/

a {
	color: #252528;
	text-decoration: none;
}

a:hover,
a:focus {
	text-decoration: underline;
}

a,
a:hover,
a:focus {
	-webkit-transition: color .17s ease-in-out;
	-moz-transition: color .17s ease-in-out;
	-ms-transition: color .17s ease-in-out;
	-o-transition: color .17s ease-in-out;
	transition: color .17s ease-in-out;
}

/*
	Typography
*/

/* Reset heading elements; don't use them as style selectors */
h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
	font-weight: normal;
}

.main-heading {
	font-family: Muli, Open Sans, Helvetica, Arial, sans-serif;
	font-size: 2.4rem;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 2px;
	color: #252528;
	margin-bottom: 60px;
}

.sub-heading {
	font-family: Muli, Open Sans, Helvetica, Arial, sans-serif;
  font-size: 2.1rem;
  text-transform: uppercase;
  margin-bottom: 10px;
  letter-spacing: 2px;
}

.callout-heading {
	font-size: 3rem;
	font-weight: normal;
	color: #252528;
	text-transform: uppercase;
	letter-spacing: 3px;
}

.main-content p {
	margin-bottom: 30px;
	line-height: 1.5;
}

	.main-content p:last-of-type,
	.main-content p:only-of-type {
		margin-bottom: 0;
	}

/*
	Main content
*/

.main-content {
  padding: 20px;
}

/*
	Header, Footer, Nav
*/

.site-header,
.site-footer {
	background-color: #fff;
}

.header-logo {
	width: 255px;
  margin-left: auto;
  margin-right: auto;
}

.header-logo .site-logo {
  height: 90px;
}

.header-nav {
	padding: 25px 20px;
}

.header-nav ul {
	display: table;
	width: 100%;
	max-width: 460px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.header-nav .nav-item {
	font-family: Muli, Open Sans, Helvetica, Arial, sans-serif;
	display: table-cell;
  text-transform: uppercase;
  font-size: 1.4rem;
  min-width: 45px;
}

.header-nav .nav-link {
	color: #252528;
}

.site-nav .nav-link:hover,
.site-nav .nav-link:focus {
	color: #ff7365;
	text-decoration: none;
}

.site-footer {
	padding: 25px 20px 60px;
}

.footer-logo-copyright,
.footer-nav {
  display: inline-block;
  vertical-align: top;
}

.footer-logo-copyright {
  width: 40%;
}

.footer-logo-copyright a {
  width: 90px;
  height: 32px;
  display: block;
}

.footer-nav {
	width: 60%;
}

.footer__nav-col-1,
.footer__nav-col-2 {
  display: inline-block;
  vertical-align: top;
  text-align: right;
  width: 50%;
}

.footer-nav .nav-item {
	text-align: right;
  margin-bottom: 20px;
}

.footer-nav .nav-link {
	color: #5d5d62;
}

/*
	Lists
*/

.list__reset {
  list-style: none;
  padding: 0;
  margin: 0;
}

.list__basic {
  margin: 30px 0 30px 20px;
  padding: 0;
}

.list__basic li {
	margin-bottom: 10px;
	line-height: 1.5;
}

.list__basic li:last-of-type {
	margin-bottom: 0;
}

/*
	Homepage
	Should be reworked and reused once more
	pages are added to the site
*/

.home-page .main-content {
	padding-top: 0;
	padding-bottom: 30px;
}

/*
	Content blocks, connected by vertical centered lines
	Ex:
		<span class="block-connector"></span>
		<div class="content-block"></div>
		<span class="block-connector"></span>
		etc
*/

.content-block {
  padding: 60px 20px;
  border: 1px solid #bdc3c7;
}

.content-block-small {
	display: table;
  margin: 0 auto;
  padding: 10px;
}

.block-connector {
	height: 50px;
	width: 1px;
  display: block;
  background-color: #bdc3c7;
  margin: 0 auto;
  
  -webkit-transition: height .25s ease-in-out;
	-moz-transition: height .25s ease-in-out;
	-ms-transition: height .25s ease-in-out;
	-o-transition: height .25s ease-in-out;
	transition: height .25s ease-in-out;
}

/* 
	"Our TLDs" - SVG logos with fallback PNG background-images
	PNG fallback for SVG objects
	Including this fallback in main.css
	(instead of ie.css) for old droid support
*/
.list__our-tlds {
  text-align: center;
}

.list__our-tlds li {
  display: inline-block;
  vertical-align: middle;
  width: 50%;
  margin-bottom: 40px;
}

.list__our-tlds li:nth-of-type(odd) {
	padding-right: 10px;
}

.list__our-tlds li:nth-of-type(even) {
	padding-left: 10px;
}

.list__our-tlds object {
	max-width: 200px;
	max-height: 45px;
}

.fallback {
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center center;
}

.xyz-logo .fallback {
	width: 120px;
	height: 70px;
	background-image: url('/assets/images/xyz-logo.png');
}

.college-logo .fallback {
	width: 200px;
	height: 62px;
	background-image: url('/assets/images/college-logo.png');
}

.rent-logo .fallback {
	width: 200px;
	height: 63px;
	background-image: url('/assets/images/rent-logo.png');
}

.security-logo .fallback {
	width: 213px;
	height: 52px;
	background-image: url('/assets/images/security-logo.png');
}

.protection-logo .fallback {
	width: 251px;
	height: 40px;
	background-image: url('/assets/images/protection-logo.png');
}

.theatre-logo .fallback {
	width: 240px;
	height: 36px;
	background-image: url('/assets/images/theatre-logo.png');
}
.cars-logo .fallback {
	width: 178px;
	height: 60px;
	background-image: url('/assets/images/cars-logo.png');
}

.car-logo .fallback {
	width: 154px;
	height: 60px;
	background-image: url('/assets/images/car-logo.png');
}

.auto-logo .fallback {
	width: 182px;
	height: 60px;
	background-image: url('/assets/images/auto-logo.png');
}

/* Illustrations */
.art__globe,
.art__envelope {
	padding-left: 10px;
	padding-right: 10px;
}

.art__envelope {
	max-width: 770px;
	margin-top: -30px;
}

	.art__envelope .fallback {
		width: 770px;
		height: 492px;
		background-image: url('/assets/images/art__envelope.png');
	}

.art__globe {
	max-width: 470px;
	margin-top: -40px;
}

	.art__globe .fallback {
		width: 450px;
		height: 450px;
		background-image: url('/assets/images/art__globe.png');
		margin-top: -50px;
	}

/* "Team" */
.team-photo {
	display: table;
	width: 100%;
	height: 160px;
	margin-top: 50px;
	padding: 22% 25px;
	background: url('/assets/images/team__anaglyph.jpg') no-repeat center center;
	background-size: cover;
}

.button {
	/* Reset */
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-webkit-font-smoothing: antialiased;
	border: none;
	text-shadow: none;
	margin: 0;
	
	/* Basic style */
	font-family: Open Sans, Muli, Helvetica, Arial, sans-serif;
	font-weight: bold;
	text-align: center;
	color: #fff;
	font-size: 2rem;
	background: #ff7365;
	border-radius: 3px;
	padding: 20px;
	display: inline-block;
}

	.button:hover,
	.button:focus {
		background: #f35847;
	}
	
	a.button,
	a.button:hover,
	a.button:focus {
		color: #fff;
		text-decoration: none;
	}
	
	.button:hover,
	.button:focus,
	.button {
		-webkit-transition: .25s ease-in-out;
		-moz-transition: .25s ease-in-out;
		-ms-transition: .25s ease-in-out;
		-o-transition: .25s ease-in-out;
		transition: .25s ease-in-out;
	}
	
	/*
		Sizes
	*/
	
	/*.button__medium {}*/
	
	/*
		Colors
		
	.button__gray {}*/


/*
	Reusable helper classes
	
	Prefixes:
	* .s__ for style
	* .t__ for typography
	* .l__ for layout
	
*/

.s__margin-bottom { margin-bottom: 30px; }
.s__margin-top { margin-top: 30px; }
.s__margin-left { margin-left: 30px; }
.s__margin-right { margin-right: 30px; }

.s__margin-none { margin: 0; }
.s__margin-bottom-none { margin-bottom: 0; }
.s__margin-top-none { margin-top: 0; }
.s__margin-left-none { margin-left: 0; }
.s__margin-right-none { margin-right: 0; }

.s__padding-bottom { padding-bottom: 30px; }
.s__padding-top { padding-top: 30px; }
.s__padding-left { padding-left: 30px; }
.s__padding-right { padding-right: 30px; }

.s__padding-none { padding: 0; }
.s__padding-bottom-none { padding-bottom: 0; }
.s__padding-top-none { padding-top: 0; }
.s__padding-left-none { padding-left: 0; }
.s__padding-right-none { padding-right: 0; }

.s__left { text-align: left; }
.s__center { text-align: center; }
.s__right { text-align: right; }

.t__light { font-weight: lighter; }
.t__normal { font-weight: normal; }
.t__bold { font-weight: bold; }

.t__uppercase { text-transform: uppercase; }

.t__color-white { color: #fff; }

.l__align-top { vertical-align: top; }
.l__align-middle { vertical-align: middle; }
.l__align-bottom { vertical-align: bottom; }

.l__relative { position: relative; }

/*
	Media Queries
*/


/*
	Sticky footer fix for short pages
	Manually add class .sticky-footer to <body> of
	short pages for this fix
*/
@media only screen and (min-height: 900px) {

	html,
	.sticky-footer {
		min-height: 100%;
	}
	
	.sticky-footer {
	  -webkit-background: linear-gradient(to bottom, #fff 0%,#fff 650px,#361445 650px,#361445 100%);
	  background: linear-gradient(to bottom, #fff 0%,#fff 650px,#361445 650px,#361445 100%);
	}

}

@media only screen and (max-width: 400px) {
	
	.footer-logo-copyright,
	.footer-nav {
		display: block;
		text-align: center;
		width: 100%;
	}
	
	.footer-logo-copyright a {
    margin-left: auto;
    margin-right: auto;
	}
	
	.footer-nav {
		margin-top: 60px;
	}
	
	.footer-nav .nav-item {
		text-align: center;
	}
	
}

@media only screen and (min-width: 600px) {

	.header-nav .nav-item {
    min-width: 75px;
	}

	.main-content {
    padding: 50px;
	}
	
	.home-page .main-content {
		padding-bottom: 90px;
	}
	
	.content-block:not(.content-block-small) {
		padding-left: 40px;
		padding-right: 40px;
	}
	
	.art__envelope {
		padding-left: 25px;
		padding-right: 25px;
	}
	
	.team-text-overlay {
		font-size: 3rem;
	}
	
	.site-footer {
		padding-left: 50px;
		padding-right: 50px;
	}
	
	.list__basic {
		margin: 30px 50px;
	}
	
	.button__medium {
		min-width: 260px;
	}
	
}

@media only screen and (min-width: 400px) and (max-width: 800px) {
	
	.footer__nav-col-1 {
		padding-right: 15px;
	}
	
}

@media only screen and (max-width: 800px) {
	
	/* Smooth padding transition (Optional)*/
	.main-content,
	.content-block,
	.site-footer {
		-webkit-transition: padding .25s ease-in-out;
		-moz-transition: padding .25s ease-in-out;
		-ms-transition: padding .25s ease-in-out;
		-o-transition: padding .25s ease-in-out;
		transition: padding .25s ease-in-out;
	}
	
	.footer-nav .nav-item {
		font-size: 1.4rem;
	}

}

@media only screen and (min-width: 900px) {
	
	.section__about p:nth-of-type(2),
	.section__about p:nth-of-type(3) {
		width: 50%;
		display: inline-block;
		vertical-align: top;
	}
	
	.section__about p:nth-of-type(2) {
		margin-right: -6px;
		padding-right: 25px;
	}
	
	.section__about p:nth-of-type(3) {
		padding-left: 25px;
	}
	
	.list__our-tlds li {
		vertical-align: top;
    width: 33.3%;
    margin-bottom: 60px;
	}
	
	.list__our-tlds object {
    max-width: 250px;
    max-height: 50px;
	}
	
}

@media only screen and (min-width: 1000px) {
	
	.main-content {
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.block-connector {
		height: 260px;
	}
	
	.block-connector-small {
		height: 100px;
	}
	
	.art__globe {
    margin-bottom: -60px;
	}
	
	.home-page .main-content {
    padding-bottom: 130px;
	}
	
	.site-footer {
		padding-bottom: 120px;
	}
	
	.site-footer .limit {
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.footer-nav .nav-item {
		margin-bottom: 10px;
	}
	
}

/*
	Simple print styles
*/

@media print {
	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	
	a,
	a:visited {
		text-decoration: underline;
	}
	
	a[href]:after {
		content: " (" attr(href) ")";
	}
	
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	
	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}
}