/*
Styles for main site
Copyright (c) 2012, Webkey, LLC

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

/* TABLE OF CONTENTS
==================================================
	#Basic Styles
	#Typography
	#Site Styles
		-Header
		-Navigation
		-General
		-Login
		-Blog
	#Page Styles
		-Calendar
	#Media Queries */

/*

Light Blue: #2f92cf
Dark Blue: #2b4491

*/

/* #Basic Styles
================================================== */

*, *:before, *:after {
  -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}

body {
	background:#FFFFFF;
	color: #000;
	-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
	-webkit-text-size-adjust: 100%;
	/*font-family: "freight-text-pro", Georgia, Cambria, "Times New Roman", Times, serif;*/
	font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
}



/* TYPOGRAPHY
================================================== */

strong {color: #000;}

@font-face {
	font-family: 'Lato'; src: url("/sites/civ/styles/lato/Lato-Regular.ttf") format("truetype");
}
@font-face {
	font-family: "Lato";
	src: url("/sites/civ/styles/lato/Lato-Bold.ttf") format("truetype");
	font-weight: bold;
}
@font-face {
	font-family: "Lato";
	src: url("/sites/civ/styles/lato/Lato-Italic.ttf") format("truetype");
	font-style: italic;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Lato", Helvetica, Arial, sans-serif;
}

h1 {
	font-size: 22px;
	font-weight: bold;
	line-height: 22px;
	color: #4d4d4d;
	padding-bottom: 18px;
	text-transform: uppercase;
	border-bottom: 1px solid #4d4d4d;
}

h2 {
	font-weight: bold;
	color: #000;
}

h2 { font-size: 16px; line-height: 16px; margin-bottom: 14px; }
h3 {font-size: 14px;line-height: 14px;margin-bottom: 7px;}
h4 { font-size: 16px; line-height: 16px; margin-bottom: 7px; }
h5 { font-size: 16px; line-height: 16px; }

p { margin: 20px 0 21px 0; word-wrap: break-word; color: #000;}

img {max-width: 100%;}

/* #Links
================================================== */
	a, a:visited { outline: 0; }
	a:hover, a:focus {  }


/* SITE STYLES
================================================== */

html, body {width: 100%; height: 100%;}

.contentTextArea p {
	font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	line-height: 1.3;
}

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

header .row {margin-bottom: 0;}
header #logo {display: block; margin-bottom: -6px;}
header #logo img {width: 100%;}
header .inner_slideshow img {max-width: 100%;}
.layout_02 header .inner_slideshow {display: none;}

header .top_nav {background-color: #000;}
header .motto span {
	color: #939598;
	margin: 15px 0 7px 0px;
	display: inline-block;
	font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
}

header .header-links {
	align-items: center;
	justify-content: flex-end;
	justify-items: flex-end;
	display: flex;
	flex-direction: row;
	padding: 1em;
}
header .header-links a {
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}

header a.donate {
	display:inline-block;
	padding:0px 35px;
	border:none;
	background:url(/sites/civ/assets/join-us.png) no-repeat;
	cursor:pointer;
	width:150px;
	height:41px;
}
header .donate:hover {
	background:url(/sites/civ/assets/join-us.png) no-repeat;
}
@media only screen and (min-width: 768px) {
	header .donate {
		margin:10px 5px 6px 0;
	}
}
@media only screen and (max-width: 768px) {
	header .donate {
		margin:12px 10px 0 0;
		float:right;
	}
}

header .mobile_nav > a,
header a.join_now,
footer a.join_now,
header .mobile_nav ul.hamburger li a {
	background: none;
	border-radius: 6px;
	color: #cccccc;
	border: 1px solid #b2b2b2;
	font-weight: bold;
	text-shadow: none;
	padding: 6px 10px;
	margin: 12px 20px;
	font-family: "Lato", Helvetica, Arial, sans-serif;
	float: right;
	width: 75px;
	text-decoration: none;
}

header .mobile_nav > a:hover {
	background: #404040;
	color: #FFF;
}

/* Navigation */
nav.primary {
	background-color: #4c4d4f;

	-webkit-transition: all 225ms ease;
	-moz-transition: all 225ms ease;
	transition: all 225ms ease;
}

nav.primary ul,
nav.primary ul li {
	margin: 0;
	padding: 0;
	list-style: none;
}

nav.primary ul li {
	display: inline-block;
	position: relative;
}

nav.primary ul li a {
	display: block;
	font-size: 12px;
	padding: 20px 7px;
	color: #fff;
	font-weight: bold;
	font-family: "Lato", Helvetica, Arial, sans-serif;
	text-decoration: none;
	text-transform: uppercase;
}

nav.primary ul li:first-child > a {padding-left: 20px;}

nav.primary ul li a:hover,
nav.primary ul li a:active {
	color: #000;
}

/* primary nav sub navigation */

nav.primary .main_nav ul ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	min-width: 160px;
	margin: 0 0 0;
	list-style: none;
	background-color: #fff;
	border: 1px solid #666666;
	border-top: none;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	-webkit-box-shadow: 0 2px 0px 0 rgba(0,0,0,.15);
	-moz-box-shadow: 0 2px 0px 0 rgba(0,0,0,.15);
	box-shadow: 0 2px 0px 0 rgba(0,0,0,.15);
	text-align: left;
	padding: 0 !important;

	-webkit-animation-duration: 500ms;
	animation-duration: 500ms;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}

nav.primary .main_nav ul ul:before {
	position: absolute;
	top: -10px;
	left: 20px;
	display: inline-block;
	border-right: 10px solid transparent;
	border-bottom: 10px solid #fff;
	border-left: 10px solid transparent;
	content: '';
}

nav.primary .main_nav ul ul li {
	display: block;
	text-align: center;
}

nav.primary .main_nav ul ul li a {
	margin: 0;
	padding: 0 10px;
	line-height: 14px;
	padding: 10px 0;
	display: block;
	color: #4d4d4d !important;
	zoom: 1;
	filter: alpha(opacity=100) !important;
	opacity: 1 !important;
	border-bottom: 1px solid #e5e5e5;
}

nav.primary .main_nav ul li.has_sub_nav:hover ul,
nav.primary .main_nav ul ul:hover {display: block;}

nav.primary .main_nav ul ul li a:hover {
	background: #e5e5e5 !important;
	color: #4d4d4d !important;
}

.sticky header.band {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	background: #2b4491;
	height: 40px;
	font-size: 0.8em;

	-webkit-animation-duration: 250ms;
	animation-duration: 250ms;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-name: slideDown;
	animation-name: slideDown;
}

.sticky header #logo {
	height: 74px;
	width: 100px;
}

.sticky .top_nav nav.primary {margin-top: 8px;}

nav.secondary {border-bottom: 1px solid rgba(77, 77, 77, 0.5);}

nav.secondary ul,
nav.secondary ul li {
	margin: 0;
	padding: 0;
	list-style: none;
}

nav.secondary ul.sub_nav li {
	display: inline-block;
	position: relative;
	margin-bottom: 12px;
}

nav.secondary ul li a {
	display: block;
	font-size: 12px;
	padding: 5px;
	color: rgba(77, 77, 77, 0.5);
	font-weight: bold;
	font-family: "Lato", Helvetica, Arial, sans-serif;
	text-decoration: none;
	text-transform: uppercase;
}

nav.secondary ul li a:hover {color: #4d4d4d;}

/* ---------------------------------------------------------------------- */
/*	Hamburger Navigation
/* ---------------------------------------------------------------------- */
.mobile_nav {display:none; z-index: 1;}
.mobile_nav a {cursor: pointer;}

#nav-toggle i {
	color: #fff;
	text-decoration: none;
	font-size: 22px;
}

#nav-toggle span {
	font-size: 22px;
	font-weight: 600;
	color: #fff;
	padding: 15px 20px;
}

.responsive-menu {
	display: none;
	background: #fff;
	text-align: left;
	margin: 0;
	border: 1px solid #000;
}

.mobile_nav .responsive-menu ul, .mobile_nav .responsive-menu li {
	list-style: none;
	margin: 0 !important;
	width: 100%;
	background: #fff;
}

.mobile_nav .responsive-menu ul li a {
	display: block;
	padding: 10px 25px 10px 10px;
	font-size: 14px;
	text-decoration: none;
	color: #4d4d4d;
	border-bottom: 1px solid #e5e5e5;
}

.mobile_nav .responsive-menu ul li a:hover {background-color: #e5e5e5;}
.mobile_nav .responsive-menu ul ul li a {
	color: #4d4d4d;
	font-size: 11px;
	padding: 5px 25px;
}

.mobile_nav .responsive-menu ul ul ul li a {
	padding-left: 40px;
	font-weight: normal;
}

.sticky .responsive-menu,
.sticky .mobile_nav .responsive-menu ul,
.sticky .mobile_nav .responsive-menu li {background: #4d4d4d;}

.sticky .responsive-menu {margin-right: 0;}
.sticky nav.primary .mobile_nav .responsive-menu ul li a {color: #fff;border-bottom: 1px solid #fff;}
.sticky .mobile_nav .responsive-menu > ul:before {border: 0;}

/* ---------------------------------------------------------------------- */
/*	Call To Action
/* ---------------------------------------------------------------------- */

.title_contain {
	background: transparent;
	text-align: left;
	width: 790px;
	display: block;
	position: relative;
	margin: 0 50px;
	padding-bottom: 100px;
}

.title_contain h1 {
	background: transparent;
	display: block;
	font: 60px "Lato", Helvetica, Arial, sans-serif;
	-moz-text-shadow: 1px 1px 1px rgba(2, 2, 2, 0.95);
	-webkit-text-shadow: 1px 1px 1px rgba(2, 2, 2, 0.95);
	text-shadow: 1px 1px 1px rgba(2, 2, 2, 0.95);
	letter-spacing: -1px;
	font-weight: bold;
	color: #FFFFFF;
	margin: 0 10px;
	padding-top: 220px;
}

.title_contain p {
	font-size: 18px;
	color: #FFFFFF;
	-moz-text-shadow: 0px 1px 1px rgba(2, 2, 2, 0.85);
	-webkit-text-shadow: 0px 1px 1px rgba(2, 2, 2, 0.85);
	text-shadow: 0px 1px 1px rgba(2, 2, 2, 0.85);
	margin: 0 10px;
	margin-bottom: 20px;
	-webkit-font-smoothing: antialiased;
}

.layout .btn {
	padding: 0;
	line-height: 45px;
	height: 45px;
	width: 225px;
	display: inline-block;
	padding: 0;
	font-size: 13px;
	margin: 0 0.5em;
	text-transform: uppercase;

	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
	outline: none !important;

	color: #fff;
	text-decoration: none;
	font-weight: bold;
	text-align: center;

	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
}

.btn.get-updates:hover, .btn.get-updates:focus{background: #FF0227;}
.btn.get-updates {
	color: #fff;
	background: #3092cf;
}

.btn.contribute:hover {background: #315DB9}
.btn.contribute {
	background: #2d4492;
	color: #fff;
}

.btn.contribute i {
	padding: 12px 0px 0 10px;
	font-size: 20px;
	display: block;
	float: left;
}

/* ---------------------------------------------------------------------- */
/*	Content
/* ---------------------------------------------------------------------- */

section.contentTextArea {position: relative; background: #fff;}
section.contentTextArea > .container > .sixteen.columns {padding: 20px;}
.layout_02 section.contentTextArea > .container > .sixteen.columns {padding: 20px 0;}
section.contentTextArea .grey {color: #444; opacity: 0.7;}
section.contentTextArea .section_container .section {margin-bottom: 20px;}

section.contentTextArea ul {list-style: disc outside;}
section.contentTextArea ul li {
	list-style-position: outside;
	margin-left: 1em;
	line-height: 18px;
	margin-bottom: 7px;
}

.home_motto {border-bottom: 1px solid #4d4d4d;}

.home_motto p {
	color: #666666;
	font-size: 14px;
	font-style: italic;
	font-family: Arial;
	text-align: center;
}

h2.section_title {
	border-top: 1px solid rgba(77, 77, 77, 0.5);
	margin-top: 10px;
	padding-top: 20px;
}

/* ---------------------------------------------------------------------- */
/*	Contact Us
/* ---------------------------------------------------------------------- */

.contact input,
.contact textarea,
.separator {
	height: 30px;
	margin: 0;
	margin-bottom: 10px;
	line-height: 14px;
	padding-left: 15px;
	color: #252a36;
	font-size: 14px;
	font-family: 'Lato', sans-serif;
	font-weight: normal;
	letter-spacing: -0.02em;

	border: solid 1px #d3d3d3;

	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	width: 100%;
}

.contact input[type="checkbox"] {
	display: inline;
	height: 14px;
	width: 14px;
}

.contact textarea {
	display: block;
	width: 100%;
	height: 200px;
	padding: 15px;
}

.contact .layout.btn {
	background: #404040;
	color: #FFF;
	height: 35px;
	width: 150px;
	line-height: 14px;
	border: 1px solid #b2b2b2;
	font-weight: bold;
	text-shadow: none;
	padding: 0;
	margin: 0;
	font-family: "Lato", Helvetica, Arial, sans-serif;

	-webkit-font-smoothing: antialiased;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}

.contact_info {
	padding: 20px;
	background: #cccccc;
	border: 1px solid #666666;
	color: #4c4d4f;
	font-family: "Lato", 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.contact_info p {font-family: "Lato", 'Helvetica Neue', Helvetica, Arial, sans-serif;}

.contact_info h2 {color: #4c4d4f;}

label.error {color:#d22; margin:-15px 0 15px 0; clear:none;}
label label.error {margin:-18px 0 0 20px;}
#payment-form .payment-errors p {color:#d22; clear:both; display:block; font-size:15px;}

/* ---------------------------------------------------------------------- */
/*	Sidebar
/* ---------------------------------------------------------------------- */
.contentTextArea .sidebar {margin-left: 20px; margin-top: 40px;}
.sidebar ul, .sidebar li { margin: 0; }
.sidebar p.caption {font-size: 16px;}
.sidebar img {width: 100%;}

input::-webkit-input-placeholder {
    color: #252a36;
}
input:focus::-webkit-input-placeholder {
    color: #C0C0C0;
}

/* Firefox < 19 */
input:-moz-placeholder {
    color: #252a36;
}
input:focus:-moz-placeholder {
    color: #C0C0C0;
}

/* Firefox > 19 */
input::-moz-placeholder {
    color: #252a36;
}
input:focus::-moz-placeholder {
    color: #C0C0C0;
}

/* Internet Explorer 10 */
input:-ms-input-placeholder {
    color: #252a36;
}
input:focus:-ms-input-placeholder {
    color: #C0C0C0;
}

/* ---------------------------------------------------------------------- */
/*	SNIPPET: Video listing;
/* ---------------------------------------------------------------------- */

.profile_content.twelve.columns {width: 75%;}
.profile_content .twelve.columns {width: 100%;}
.profile_content .five.columns {width: 48%;}

.profile_content .columns.five:nth-child(odd) {margin-right: 2%;}
.profile_content .columns.five:nth-child(even) {margin-left: 2%;}

.profile_content .publications h3 {
	font-size: 1.25em;
    color: #333;
    margin: 8px 0;
    padding: 0;
    line-height: 1.6;
    margin: 0 0 20px 0;
}

.profile_content .publications a {
	color: #d9551b;
	text-decoration: none;
}

.profile_content .publications .checkout {float: left;}
.profile_content .publications .checkout.hidden {display: none;}
.profile_content .publication_card {
  margin-bottom: 40px;
  position: relative;
}

.profile_content .publication_card .owned:hover img,
.profile_content .publication_card .purchase:hover img {box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);}
.profile_content .publication_card .owned:hover span {text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);}

.profile_content .publication_card img {
  display: block;
}

.profile_content .publication_card span {
	padding: 20px 20px 10px 20px;
	font-size: 14px;
	display: block;
	line-height: 16px;
	font-weight: bold;
	text-transform: uppercase;
}

.profile_content .publication_card span.time_remaining {
	display: block;
    float: left;
    text-transform: capitalize;
    padding: 0;
    margin-left: 20px;
    max-width: 50%;
}

.profile_content .publication_card p {
	padding: 0 20px;
	margin:0 0 10px 0;
    color: #333;
}

.profile_content .publication_card a.button.owned {max-width: 50%;}
.profile_content .publication_card a.button {
	float: left;
    display: block;
    margin: 0;
    margin-left: 20px;
    margin-bottom: 20px;
    max-width: 100%;
}

.profile_content a.button {
  background: #eb4300;
  color: #fff;
  font: 14px 'Open Sans';
  font-weight: bold;
  float: right;
  border: none;
  border-radius: 0;
  border-bottom: 4px solid #a53900;
  text-shadow: none;
  text-transform: uppercase;
  margin-top: 10px;
  transition: all 0.2s ease-out;
}

.profile_content a.button:hover {
  border-bottom: 4px solid #eb4300;
  transition: all 0.2s ease-out;
}

.profile_content a.button.disabled,
.profile_content a.button.disabled:hover {
  background: #a1a1a1;
  border-bottom: 4px solid #8f8f8f;
}

.profile_content .info, .profile_content .error {
	margin-bottom: 30px;
}

.profile_content .question.twelve.columns {
	margin-bottom: 20px;
}

.profile_content .one-third.column:last-child {margin: 0;}
.profile_content .one-third.column {
  width: 300px;
  margin-right: 30px;
  background: #F1F1F1;
  border-bottom: 4px solid #d0ced3;
}

.profile_content .one-third.column img {width: 100%; max-height: 128px;}

.profile_content .one-third.column .contain_button {

	display: block;
	width: 100%;
}

.profile_content .contain_publications {margin-bottom: 40px;}


/* ---------------------------------------------------------------------- */
/*	SNIPPET: Stripe Checkout;
/* ---------------------------------------------------------------------- */


/** Stripe checkout **/
.geotrust_badge {
	float: right;
	margin: -14px 0 0 0;
}
.geotrust_badge a {
    background: url('/key/assets/global/geotrust.gif');
    text-indent: -9999px;
    border:1px solid #ccc;
    display: block;
    width: 125px;
    height: 33px;
}

#ajaxLoading {
  background: url("/sites/civ/assets/ajax-loader.gif") no-repeat center center transparent;
  text-indent:-999px; display:block; width:50px; height:12px; margin:5px 0 0;}

#payment-form h2 {margin:20px 0 10px; width:350px; max-width:100%;}
#payment-form h2 span.checkout_subheading {display:block; margin:5px 0 20px 0; font-weight:normal; font-size:11px; line-height:1.1; font-family:Verdana, Arial, sans-serif;}
#payment-form h2 span.checkout_subheading label {margin:10px 0 -10px 0; display:block;}
#payment-form h2 span.checkout_subheading label.hidden {display:none;}

#payment-form .cards_accepted {font-size:11px;}

.checkout_step, #payment-form .existingCard {padding:5px 5px 5px 8px; color:#000; background:#fdfdfd; border-radius:3px;}
.checkout_step {padding: 10px 15px 5px 10px;width: 490px; max-width:100%; border: 2px solid #ccc;}

.checkout_step.secure {border:2px solid #ccc;}
.secure_message {color:#666;}
.secure_icon {display:block; opacity:.7; float:left; padding:0 5px 0 0;}
.secure_icon a {background:url('/key/assets/icons/black_lock.png') no-repeat; display:block; width:22px; height:25px; text-indent:-999px}
#payment-form .checkout_step, #payment-form .existingCard {padding:5px 5px 5px 8px; color:#000; background:#fdfdfd; border-radius:3px;}
#payment-form .checkout_step {padding:20px 5px 5px 20px; width:500px; max-width:90%;}

#payment-form input[type="text"], #payment-form  input[type="password"], #payment-form  textarea {width:18em; max-width:90%; background:#fff;}
#payment-form input.small {width:4em;}
#payment-form input.medium {width:12em;}
#payment-form #standard {margin:0 3px 0 0}
#payment-form #priority {margin:0 3px 0 15px;}

/*Donations*/
#sliding_step fieldset {padding:0 0 0 0}
#sliding_step fieldset legend {margin:0 35px 0 0; display:block;}
#sliding_step fieldset label {display:inline-block; margin:10px 0 0 0;}
#sliding_step fieldset label input[type=radio] {display:none;}
#sliding_step fieldset label span {display:inline-block; width:50px; padding:5px; text-align:center; color:#fff; margin:4px 10px 0 0;}
#sliding_step fieldset label span:hover {cursor:pointer;}
#sliding_step fieldset label input[type=radio]:checked + span {background: #a53900;}

table.lineItems {margin:0 0 10px 0; width:300px;}
table.lineItems th {text-align:left; padding:0 15px 8px 0;}

table.lineItems span {display:block;}
table.lineItems td {vertical-align:top;}
table.lineItems .product_title {width:200px !important; display:block;}
table.lineItems .product_quantity {}

#payment-form  .error, #lost_form .error, #download_form .error, .error.formerror {color:#d2232a;}
#payment-form label.error, #download_form label.error, #lost_form label.error {margin:0 0 0 5px;}

#payment-form .existingCard {display:inline-block; position:relative; width:200px; margin:0 10px 10px 0; background:#f7f7f7; color:#000;}
#payment-form .existingCard.active, #payment-form .existingCard:hover {background:#fbfbfb; color:#000;}
#payment-form .existingCard input{float:left; margin:15px 5px 0 0; height:20px;}
#payment-form .existingCard span {display:block;}
#payment-form .existingCard .remove_card {position:absolute; top:5px; right:10px;}
#payment-form .form-row {margin: 20px 0;}
#payment-form .form-row strong {margin:10px 0 0; display:block;}
#payment-form .card-cvc {width:30px; min-height: auto;}
#payment-form .card-expiry-month {width:70px; margin: 0 0 0 5px; padding:4px 2px; display:inline;}
#payment-form .card-expiry-year {width:65px; padding:4px 2px; display:inline; margin:0 0 5px 0;}
#payment-form .shipto-zipcode {width:80px;}


.error_display, .error_display_summary {color:red;}

/** Product Listing **/
.current_cart {padding:10px; font-size:18px;}
.current_cart .viewcart {margin:0 0 0 20px}

ul.product_menu {margin:0; padding:0 10px 0 0}
.product_menu li {list-style:none; margin:0; width:100%;}
.product_menu li a {
  width:100%;
  display:block;
  list-style:none;
  padding:10px 0;
  font-size:18px;
  margin:0;
  border-bottom:1px solid #ccc
}
.product_menu li a:hover {background:#eee; text-decoration: none;}

/** Shopping cart **/

#shopping_cart {border-collapse:collapse;}
#shopping_cart h3 {font-size:14px; font-weight:bold; margin:5px 0 0;}
#shopping_cart td, #shopping_cart th {padding:5px 22px 5px 0; }
#shopping_cart th {text-align: left; vertical-align:bottom; font-weight:bold; font-size:12px; color:#555; border-bottom:2px solid #ccc;}
#shopping_cart th:last-child {padding-right:0}
#shopping_cart th.quantity {text-align:right;}
#shopping_cart td {height:30px; padding-top:10px;}
#shopping_cart td {vertical-align: top;}
#shopping_cart td h5 {margin-top: 0;}
#shopping_cart td .in_stock {display:none;}
#shopping_cart td.subtotal, #shopping_cart td.quantity {text-align: right;}
#shopping_cart td.subtotal {padding:30px 0 10px 0; font-weight:bold; color:#333}

td.details span {font-size:11px; max-width:350px; display:block; line-height:1.1;}

#shopping_cart td.buttons {padding-top: 25px; display:none}
#shopping_cart td.buttons a img {margin: 0; float:right; margin-left: 10px;}

#shopping_cart td.price {width:60px}
#shopping_cart .line_product_price input {display:inline; margin:0;width: 40px; min-height: auto;}

#shopping_cart td.quantity { position:relative;}
#shopping_cart td.quantity input {width:28px;padding:1px 1px 1px 4px; margin:0; min-height: auto;}
#shopping_cart td.quantity .change_quantity {display:block;}
#shopping_cart input.remove
    {
        width: 70px;
        border: none;
        color: transparent;
        cursor: pointer;
        border: 0px solid red;
        text-indent: -9000px;
        text-transform: capitalize;
    }
#shopping_cart td.quantity {position:relative !important; display:block;}
#shopping_cart input.error {color:#f00;}
#shopping_cart td.quantity label.error {text-align:left; width:200px; position:absolute; right:-195px; top:0;}



/** Progress bar with steps **/
/* https://blog.sathomas.me/post/tracking-progress-in-pure-css */

    ol.progtrckr {
        margin: 0 0 15px 0;
        padding: 0;
        list-style-type none;
    }

    ol.progtrckr li {
        display: inline-block;
        text-align: center;
        padding:0 0 .5em 0;
        position:relative;
    }

    ol.progtrckr[data-progtrckr-steps="2"] li { width: 49%; }
    ol.progtrckr[data-progtrckr-steps="3"] li { width: 33%; }
    ol.progtrckr[data-progtrckr-steps="4"] li { width: 24%; }
    ol.progtrckr[data-progtrckr-steps="5"] li { width: 19%; }
    ol.progtrckr[data-progtrckr-steps="6"] li { width: 16%; }
    ol.progtrckr[data-progtrckr-steps="7"] li { width: 14%; }
    ol.progtrckr[data-progtrckr-steps="8"] li { width: 12%; }
    ol.progtrckr[data-progtrckr-steps="9"] li { width: 11%; }

    ol.progtrckr li.progtrckr-done {
        color: black;
        border-bottom: 4px solid #12A36F;
    }
    ol.progtrckr li.progtrckr-todo {
        color: #888;
        border-bottom: 4px solid silver;
    }
    ol.progtrckr li.progtrckr-current {
       font-weight:bold;
       color:#777;
       border-bottom: 4px solid #999;
    }

    ol.progtrckr li:before {
        position: absolute;
        line-height: 1.2em;
        height: 1.2em;
        width: 1.2em;
        bottom:-10px;
        left:45%;
        background-color: white;
        font-family:fontawesome;
    }
    ol.progtrckr li.progtrckr-done:before {
        content: "\f058";
        color: #12A36F;
    }

    ol.progtrckr li.progtrckr-todo:before {
        content: "\f10c";
        color: silver;
    }

    ol.progtrckr li.progtrckr-current:before {
        content: "\f111";
        color: #999;
    }


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

footer.band {
	color: #fff;
	width: 100%;
	font: 13px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
	margin-top: 20px;
}

footer .container {
	background: #4c4d4f;
	padding-top: 20px;
}

footer a:link, footer a:visited { color: #fff; text-decoration: none; }
footer a:active { color: #fff; text-decoration: none; }
footer a:hover { color: #fff; text-decoration: underline; }

header a.join_now,
footer a.join_now {
	background: #000;
    float: none;
    margin: 0 0 0 25px;
	width: auto;
}
.siteCredits {padding: 0 20px;}
.siteCredits span {padding-left: 0px;}
.siteCredits .address {font-weight: bold;}
.siteCredits .longname {font-weight: normal;}

/* -------------------------------------------------- */
/*	Footer Navigation
/* -------------------------------------------------- */

	nav.footer {float: left; margin: 40px 0 40px 40px;}
		nav.footer * { margin: 0; }
		nav.footer ul { list-style: none; }

			nav.footer ul li {
				background: none;
				border: none;
				float: left;
				width: 32%;
			}

			nav.footer > ul > li {
				padding-right: 40px;
			}

			nav.footer ul li a {
				font-size: 18px;
				color: #FFF;
				text-decoration: none;
			}

				nav.footer ul ul li {
					float: none;
					list-style: none;
					width: 100%;
					margin: 10px 0 0 0;
				}

				nav.footer ul ul li a {
					padding: 0;
					font-size: 14px;
					color: #fff;
				}

				nav.footer ul ul li:hover a {
					color: #FFF;
					border-bottom: 1px solid #FFF;
				}

/* general */

.floatright { float: right; }
.floatleft { float: left; }
.clearboth { clear: both; }
.clearboth:after, .clearboth:before { content: " "; display: table; }
.sr-only {
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);border:0
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
	position:static;
	width:auto;
	height:auto;
	margin:0;
	overflow:visible;
	clip:auto
}

.hidden { display: none; }
.visible { opacity:1; }
input.hidden {display:none}

#networking {background:#fff; padding: 0 0 15px 0;}

/* forms */

.contact p {
	font-size:14px;
	font-weight:normal;
	margin: 8px 0 8px 0;
}

.contact label { min-width:70px;}
.contact input, .contact select, .contact textarea, .contact label {display:inline-block;}
.error {color:#d2232a; font-weight:normal;}
label.error {margin:-20px 0 0 0; min-width:70px;  }

/* PAGE STYLES
================================================== */

/* Fellows listing */
.fellow_row h3 {
	margin:10px 0 4px 0;
	font-weight: bold;
}
.fellow_row p {
	margin:0;
}
.fellow_row .fellowImage {

}

section.contentTextArea .file_icon { width:16px; }

/* Calendar
================================================== */
/* Calendar refinements, main styles in calendar.css */
	.cal_header {
		background: #899ba7;
	    padding: 10px 20px;
	    margin: -20px 0 20px 0;
	}
	.cal_container {
		padding:0 20px 20px 20px;
	}
	li.key_date_blank.key_date_blank {
	    background: #f7f7f7;
	}
	li.key_date_active_day.key_date_active_day {
		background: #c3d4e4;
	}
	.calendar_filters {margin: 20px 0;}
	.calendar_filters a {
		padding:4px 8px;
		color:#fff !important;
		opacity:.8;
		position: relative;
		background:#000;
		text-decoration: none;
	}
	.calendar_filters a.all-events:hover::after {
		content: "Remove filters";
		position: absolute;
		left: 25px;
		top: 0px;
		min-width: 110px;
		padding: 5px;
		margin: 0;
		color: #000 !important;
		font-size: 14px;
		z-index: 100;
	}
	.calendar_filters a:hover, .calendar_filters a.active {text-decoration:none; color:#fff; opacity:2}
	.calendar_filters a.all-events {
		color:#000 !important;
		font-size:18px;
		line-height:.6;
		text-decoration: none;
		background: none;
}
	.calendar_filters a.all-events:hover {color:#000;}

	.key_calendar .key_calendar_event{line-height:12px !important;}
	.key_calendar_prev_next {font-size:25px; text-decoration:none;}
	.key_calendar .key_calendar_month li.key_cal_header,
	.key_calendar .key_calendar_month li.key_date {
	  padding:2px 0 4px 5px;
	  margin:0;
	  width:13%;
	}
	.key_calendar .key_calendar_month li.key_date {min-height: 130px;}
	.key_calendar li.key_date.key_date_active_day {
		border: 1px solid #000;
		z-index: 100;
		position: relative;
	}

	.key_calendar h3 {margin:0; line-height:18px; padding:0;  }

	.key_calendar_list {margin-top: 40px;}
	.key_calendar_list .row {padding: 0;}

	/*Small calendar*/
	.key_calendar.small_cal {width:100%;}
	.key_calendar.small_cal .key_calendar_month li.key_date,
	.key_calendar.small_cal .key_calendar_month li.key_cal_header  {
		min-height:0; padding:2px 0 2px 0 !important; width:13%;
	 }
	 .key_calendar.small_cal .key_calendar_month li.key_date span,
	 .key_calendar.small_cal .key_calendar_month li.key_date h3 {
	   margin-left:5px;
	 }
	.key_calendar.small_cal .key_calendar_prev, .key_calendar.small_cal .key_calendar_next { line-height:.4;}
	.key_calendar.small_cal .key_calendar_next {margin-left:-15px !important;}

	.key_calendar_date_events {
		padding: 0;
	}
	.key_calendar_date_events div {
		padding:3px 4px;
		height:18px;
	}
	.key_calendar_date_events div a {
		color:#fff;
	}
	div.lo-studio, a.lo-studio {
		background:#b99731;
	}
	div.il-nuovo, a.il-nuovo {
		background:#eb7515;
	}
	div.il-ruderino, a.il-ruderino {
		background: #8a9ba6;
	}
	div.il-giardino, a.il-giardino {
		background: #8b8f3d;
	}
	div.event, a.event {
		background: #936330;
	}
	div.private-event, a.private-event {
		background: #000;
	}
/* Sidebar cal */
.sidebar .key_calendar ul,
.sidebar .key_calendar li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sidebar .key_calendar ul.key_calendar_month {
	width: auto;
	display: block;
}

.sidebar .key_calendar li.key_date,
.sidebar .key_calendar li.key_cal_header {
	width: 43px !important;
	height: 43px !important;;
	text-align: center;
	line-height: 40px;
	display: block;
	float: left;
	padding: 2px;
	border: 1px solid #674d3e;
	margin: -1px 0 0 -1px !important;
	font-size: 80%;
	overflow: auto;
}

.sidebar li.key_cal_header {
	border-top: 1px solid #674d3e;
}

.sidebar .key_calendar {
height: 188px;
}

* html .sidebar .key_calendar {
width: 209px !important;
overflow-x: hidden;
}


.sidebar .key_calendar li.key_calendar_prev, .sidebar .key_calendar li.key_calendar_heading,.sidebar .key_calendar li.key_calendar_next{
line-height: 28px;
font-size: 14px;
}

.sidebar .key_calendar a{
color: #333333;
}

.sidebar .key_calendar {
color: #333333;
font-family: Arial, Helvetica, sans-serif;
text-align: center;
font-size: 14px;
margin-bottom:20px;
border:0px solid red;
}

.sidebar .key_calendar li.key_date {
height: 43px !important;
min-height: 43px;
overflow: hidden;
margin: -1px 0 0 -1px !important;
}

.sidebar .key_calendar li.key_calendar_prev {
width: 10px;
text-align: center;
}
.sidebar li.key_date_blank.key_date_blank  {
    background: #CCC;
}
.sidebar .key_calendar li.key_cal_header {
width: 29px;
height: 24px;
overflow: hidden;
margin: -1px 0 0 -1px !important;
}

.sidebar .key_calendar_categories {
display: none;
}

.sidebar .day_long {
display: none;
}

.sidebar .day_letter {
display: inline;
}

.sidebar .key_calendar_event {
display: none;
}

.sidebar .key_date_has_events a {
display: block;
position: relative;
width: 100%;
height: 100%;
text-decoration: none;
background-color: #1A1008;
border: 1px solid #674d3e;
}

.sidebar .key_date_has_events a {
position: static !important;
border: 0 !important;
}

.sidebar .key_date_has_events {
overflow: visible !important;
background-color: #ddd !important;
border: 1px solid #674d3e !important;
}


.sidebar .key_calendar_heading {
width: 82%;
}

	/* Event pages */
	.columns.event_poster {margin:0 20px 20px 0;}

	/* Events registration */
	.register_now.register_now.register_now {
		margin:3px 0;
		display:inline-block;
		float: none;
		text-decoration: none;
		color: #fff;
	}
	table.event_tickets {margin:10px 0; border-collapse:collapse;}
	.event_tickets th {color: #777; border-bottom:1px solid #ccc; text-align:left; font-weight:bold; min-width:70px; padding-right: 20px;}
	.event_tickets td {padding:10px 16px 5px 0; vertical-align:top;}
	td.ticket_quantity {padding-top:8px;}
	.event_tickets .ticket_quantity select {width:4em;}
	.ticket_level, .ticket_price, .ticket_quantity {border-bottom:1px dashed #ccc;}


/* Event Display and Registration
================================================== */

/** Progress bar with steps **/
/* https://blog.sathomas.me/post/tracking-progress-in-pure-css */

	ol.progtrckr {
		margin: 0 0 15px 0;
		padding: 0;
		list-style-type none;
	}

	ol.progtrckr li {
		display: inline-block;
		text-align: center;
		margin: 0;
		padding:0 0 .5em 0;
		position:relative;
	}

	ol.progtrckr[data-progtrckr-steps="2"] li { width: 49%; }
	ol.progtrckr[data-progtrckr-steps="3"] li { width: 33%; }
	ol.progtrckr[data-progtrckr-steps="4"] li { width: 24%; }
	ol.progtrckr[data-progtrckr-steps="5"] li { width: 19%; }
	ol.progtrckr[data-progtrckr-steps="6"] li { width: 16%; }
	ol.progtrckr[data-progtrckr-steps="7"] li { width: 14%; }
	ol.progtrckr[data-progtrckr-steps="8"] li { width: 12%; }
	ol.progtrckr[data-progtrckr-steps="9"] li { width: 11%; }

	ol.progtrckr li.progtrckr-done {
		color: black;
		border-bottom: 4px solid #12A36F;
	}
	ol.progtrckr li.progtrckr-todo {
		color: #888;
		border-bottom: 4px solid silver;
	}
	ol.progtrckr li.progtrckr-current {
	   font-weight:bold;
	   color:#777;
	   border-bottom: 4px solid #999;
	}

	ol.progtrckr li:before {
		position: absolute;
		line-height: 1.2em;
		height: 1.2em;
		width: 1.2em;
		bottom:-10px;
		left:45%;
		background-color: white;
		font-family:fontawesome;
	}
	ol.progtrckr li.progtrckr-done:before {
		content: "\f058";
		color: #12A36F;
	}

	ol.progtrckr li.progtrckr-todo:before {
		content: "\f10c";
		color: silver;
	}

	ol.progtrckr li.progtrckr-current:before {
		content: "\f111";
		color: #999;
	}


/* LOGIN STYLES
================================================== */

#login {
	background: #fff;
	border: 1px solid #ccc;
	font-family: 'Arial',Sans-serif;
	margin: 20px auto;
	margin-top: 100px;
	padding: 30px;
	text-align: left;
	max-width: 450px;
}

#login h1 { color: #000; margin: 15px 5px 5px 0; padding: 0; }

#login img { margin: 0 0 10px -10px; max-width:100%}

#login p {
	color: #333;
	margin: 5px 0 0;
	margin-left: 0;
	padding: 0;
}

#login p a:link, #login p a:visited { font-size: 10px; }

#login p a:hover { font-size: 10px; }

#login p.loginSubmit { }

#login p.loginForgot { }

#login .error { }

#login p.loginReminderText {
	border: 1px solid #ededed;
	color: #333;
	margin: 10px 0;
	padding: 4px;
}

#login input.loginUserBox, #login input.loginPassBox { margin: 2px 0 8px 0; }

div.login-link { }

div.login-link a:link, div.login-link a:visited { font-size: x-small; }

/* BLOG STYLES
================================================== */

/* blog pagination */
a.page_link{padding:0 2px}
a.previous_link{padding:0 5px 0 0}
a.page_link.active_page{color:#000!important;}

/* blog page styles */

#blog_category_list { }
#blog_category_list h3 { margin: 40px 0 5px 0; }
#blog_category_list ul { }
#blog_category_list ul li { }
#blog_category_list_home { float: left; margin: 0; }
#blog_category_list_home h3 { margin: 40px 0 5px 0; }
#blog_category_list_home ul { }
#blog_category_list_home ul li { list-style: none; }

.archiveyear { color: #fff; }
.archiveyear a { }
.archivemonths { }
.archivemonths li { list-style: none; }
.archivemonths li h2 { color: #fff; margin: 0 0; padding: 0; }
.archivemonths li h2 a { }
.archivedpostlist { padding: 3px 0 3px 15px; }

/* FORUM STYLES
================================================== */
.forum {margin: 0 0 15px 0}
.forum td, .forum th {border:1px solid #ccc; padding:5px; text-align:left;}
.forum th:first-child {width:320px;}


/* APPLICANT STYLES
================================================== */
.cellpadding10 td {
	padding-right:10px;
}

.nopadding td {
	padding-right:0;
}

/* ---------------------------------------------------------------------- */
/*	Alert Boxes
/* ---------------------------------------------------------------------- */

.error, .success, .info, .notice {
	display: block;
	padding: 10px 20px 10px 44px;
}

.error {
	background: #f9e5e6 url(../../../key/assets/icons/icon-box-error.png) no-repeat 10px 12px;
	border: 1px solid #f7c7c9;
	border-left-width: 4px;
	color: #b3696c;
}

div.error,
input.error,
select.error,
textarea.error,
div.error:focus,
input.error:focus,
select.error:focus,
textarea.error:focus,
div.error:hover,
input.error:hover,
select.error:hover,
textarea.error:hover {
	border: 1px solid #c90d3f;
}

.success {
	background: #e3ebc6 url(../../../key/assets/icons/icon-box-success.png) no-repeat 12px 8px;
	border: 1px solid #c2d288;
	border-left-width: 4px;
	color: #8fa442;
}

.info {
	background: #d8ecf5 url(../../../key/assets/icons/icon-box-info.png) no-repeat 10px 8px;
	border: 1px solid #9ac9df;
	border-left-width: 4px;
	color: #528da9;
}

.notice {
	background: #fcf7d9 url(../../../key/assets/icons/icon-box-notice.png) no-repeat 10px 9px;
	border: 1px solid #f5dc7d;
	border-left-width: 4px;
	color: #c4a21b;
}

.success strong, .success h4 { color: #8fa442; }
.error strong, .error h4 { color: #b3696c; }
.notice strong, .notice h4 { color: #c4a21b; }
.info strong, .info h4 { color: #528da9; }


/* ALERT STYLES
================================================== */
.alert {
  padding: 8px 35px 8px 14px;
  margin-bottom: 20px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background-color: #fcf8e3;
  border: 1px solid #fbeed5;
  -webkit-border-radius: 4px;
	 -moz-border-radius: 4px;
		  border-radius: 4px;
}

.alert,
.alert h4 {
  color: #c09853;
}

.alert h4 {
  margin: 0;
}

.alert .close {
  position: relative;
  top: -2px;
  right: -21px;
  line-height: 20px;
}

.alert-success {
  color: #468847;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}

.alert-success h4 {
  color: #468847;
}

.alert-danger,
.alert-error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}

.alert-danger h4,
.alert-error h4 {
  color: #b94a48;
}

.alert-info {
  color: #3a87ad;
  background-color: #d9edf7;
  border-color: #bce8f1;
}

.alert-info h4 {
  color: #3a87ad;
}

.alert-block {
  padding-top: 14px;
  padding-bottom: 14px;
}

.alert-block > p,
.alert-block > ul {
  margin-bottom: 0;
}

.alert-block p + p {
  margin-top: 5px;
}

/* MEDIA QUERIES
================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

	nav.primary ul li a {letter-spacing: 0; font-size: 12px !important;}

}

/* Smaller than standard 960 (devices and browsers) */
@media only screen and (max-width: 959px) {
	.suggested_donations input {width: auto;}
	section.contentTextArea > .container > .sixteen.columns {padding: 20px 0;}
	.google_maps {display: none;}
	header .motto > a {padding: 3px 10px; margin: 8.5px 20px;}
	nav.primary ul li a {padding: 15px 7px;}
	header .motto span {margin: 0px 0 0 0;}

	.profile_content .publication_card span {font-size: 13px;}
	.profile_content .publication_card a.button {font-size: 12px; padding: 5px 10px;}
}

/* Tablet Portrait size to standard 960 (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 959px) {
	.profile_content .one-third.column {width: 236px;}
	.profile_content .one-third.column img {max-height: 100px;}
  	.profile_content .publication_card span.time_remaining {margin-left: 7px; line-height: 14px; max-width: 45%; font-size: 12px;}
  	.profile_content .publication_card a.button {max-width: 100%; font-size: 11px;}
  	.profile_content .publication_card a.button.owned {max-width: 44%;}
}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {
	header .motto span {display: block; text-align: center;}
	header .motto > a {display: none;}

	.contentTextArea p {font-size: 20px;line-height: 1.3em;}

	.title_contain {width: 300px;padding-bottom: 50px;}
	.title_contain h1 {font-size: 42px;padding-top: 200px;margin: 0;}
	.title_contain p {margin: 0;}
	.title_contain a.btn {display: block;margin: 10px 0;}

	/*Hide main menu*/
	nav.primary .main_nav { display: none; }
	.mobile_nav { display: block; position: relative; }
	.mobile_nav ul.join_now li a {padding: 6px 10px;}

	.mobile_nav ul {margin: 0; display: inline-block;}
	.mobile_nav ul li a {padding: 0 10px 10px 10px;}

	.mobile_nav ul.hamburger {margin: 0;}
	.mobile_nav .hamburger li a i.fa {color: #fff;}
	.mobile_nav .hamburger li a#nav-toggle {text-align: center;  width: auto; padding: 4px 10px;}

	.sticky nav.primary ul.hamburger {top: 1px;}

	#sidebar {margin-left: 0;}

	/*reset centering*/
	.employer_info .padded input,
	.expiration_info .one.column {margin: 10px 0;}

	#payment-form .employer_info {padding: 0;}
	.employer_info .padded {padding: 30px;}
	.employer_info .padded input {width: 80%;}

	.expiration_info.five.columns {width: 340px;}
	.expiration_info .two.columns {width: 125px;}
	.expiration_info .one.column {width: 50px;}

	.cvc_info.six.columns {width: 80px;}

	.footer {padding: 0;}
	#copyright {float: none; text-align: center;}

	.profile_content .five.columns {width: 100%; margin-right: 0 !important; margin-left: 0 !important;}
	.profile_content .one-third.column {width: 420px; margin-top: 20px;}
  	.profile_content .one-third.column:first-child {margin-top: 0;}
  	.profile_content .publication_card p {font-size: 14px;}

  	footer .siteCredits .floatright {
  		float: none;
  		display: block;
  		text-align: center;
  		padding: 0;
  		margin: 20px 0 0 0;
  	}
}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	.profile_content .one-third.column img {max-height: 180px;}
}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {
	.profile_content h1 {font-size: 24px; margin-bottom: 10px;}
	.profile_content a.button, .application_submit a.button {float: none;}
	.profile_content.twelve.columns {width: 100%;}
	.profile_content .achievement_card span.f16x {line-height: 18px;}
	.profile_content .achievement_card span.f14x {line-height: 16px;}
	.profile_content .organization_avatar {float: none; margin: 0;}

	.profile_content .one-third.column {width: 300px; margin: 0; margin-bottom: 30px;}
  	.profile_content img {max-height: 128px;}
}

span.required {
	color: red;
}

.no-list,
.no-list li,
.no-list ol,
.no-list ol li,
.no-list ul,
.no-list ul li { list-style: none; }


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