@charset "utf-8";
/* ==================================================
   Typography
================================================== */
@import url(http://www.20kmcascais.pt/forms/css/font-awesome.min.css);
@import url(https://fonts.googleapis.com/css?family=Open+Sans|Montserrat:400,700);
@font-face {
	font-family: '20km500';
	src: url('../fonts/20km_500-webfont.eot');
	src: url('../fonts/20km_500-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/20km_500-webfont.woff2') format('woff2'), url('../fonts/20km_500-webfont.woff') format('woff'), url('../fonts/20km_500-webfont.ttf') format('truetype'), url('../fonts/20km_500-webfont.svg#sslx_500') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: '20km700';
	src: url('../fonts/20km_700-webfont.eot');
	src: url('../fonts/20km_700-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/20km_700-webfont.woff2') format('woff2'), url('../fonts/20km_700-webfont.woff') format('woff'), url('../fonts/20km_700-webfont.ttf') format('truetype'), url('../fonts/20km_700-webfont.svg#sslx700') format('svg');
	font-weight: normal;
	font-style: normal;
}
/* ==================================================
   Base
================================================== */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, p {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	font-weight: normal;
}
html, button, input, select, textarea {
}
h1, h2, h3, h4, h5, h6 {
	font-family: "20km700", Helvetica, Arial, sans-serif;
}
h1 {
	color: #333;
	font-size: 3.5em;
}
h2 {
	color: #cc1a08;
}
h3 {
	color: #000;
}
ul {
	list-style-type: none;
}
ol {
	list-style-type: decimal;
}
a, a:active, a:focus, a.active {
	color: #cc1a08;
	outline: none;
	cursor: pointer;
	text-decoration: underline;
}
a:hover {
	color: #cc1a08;
}
.section-padding {
	padding: 75px 0;
}
textarea {
	resize: none;
}
hr {
	border-color: rgba(0,0,0,0.1);
}
/* ==================================================
   Animations
================================================== */
a, .btn, .form-horizontal .form-control, .form-horizontal .input-group, .form-horizontal .input-group-addon {
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	-ms-transition: all 0.25s ease;
	transition: all 0.25s ease;
}
/* ==================================================
   Forms
================================================== */
.form-horizontal {
	font-family: 'Open Sans', sans-serif;
	margin: 30px auto;
}
.form-horizontal a {
	color: #666;
}
.form-horizontal legend {
	font-family: "20km700", Helvetica, Arial, sans-serif;
	color: #333;
	margin: 30px 0 20px;
}
.form-horizontal .input-group-addon .fa {
	color: #666;
	width: 20px;
	line-height: inherit;
}
.form-horizontal .fa {
	line-height: 45px;
}
.form-horizontal .control-label {
	padding-top: 0;
	font-weight: bold;
	font-size: 0.9em;
	margin-bottom: 5px;
}
.form-horizontal .form-control {
	height: 45px;
	padding: 10px;
	box-shadow: none;
}
.form-horizontal .form-control:focus {
	background: rgba(121,182,43,0.15);
    outline: 0;
    box-shadow: none;
}
.form-horizontal .input-group-addon, .form-horizontal .input-group-addon, .form-horizontal .form-control {
	border: 1px solid #ccc;
}
.form-horizontal .input-group-addon:hover, .form-horizontal .input-group-addon:hover, .form-horizontal .form-control:hover {
	border-color: #cc1a08;
}
.form-horizontal .input-group-addon, .form-horizontal .form-control {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
}
.form-horizontal .input-group-addon, .form-horizontal .input-group-addon:hover {
	border-right: none;
}
.form-horizontal .input-group[class*="col-"] {
	float: left;
	margin-right: 10px;
}
.form-horizontal .input-group:hover .input-group-addon {
	background-color: #cc1a08;
	border-color: #cc1a08;
	color: #fff;
}
.form-horizontal .input-group:hover .input-group-addon .fa {
	color: #fff;
}
.form-horizontal [class*="col-"] {
	/*padding-right: 0;*/
}
.form-horizontal .input-group[class="col-*"]:last-child {
	margin-right: 0;
}
.form-horizontal .input-group .fa-info {
	font-size: 1.5em;
}
.form-horizontal .disclaimer div {
	display: table;
}
.form-horizontal .disclaimer p {
	display: inline-block;
}
.form-horizontal input, .form-horizontal select {
	font-weight: bold;
}
.form-horizontal .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
	color: #999;
}
.payment input, .payment label {
	display: block;
	float: left;
	height: 50px;
	margin-right: 10px;
	cursor: pointer;
}
.payment input:focus, .payment label:focus {
	outline: none;
}
.payment span {
	display: inline-block;
	margin-right: 20px;
}
.disclaimer {
	padding: 0 30px;
}
/* Buttons */
.form-horizontal .btn {
	display: table;
}
.form-horizontal .btn-primary {
	position: relative;
	left: 50%;
    transform: translateX(-50%);
	display: inline-block;
	font-family: "20km500", Helvetica, Arial, sans-serif;
	font-size: 1.4em;
	background-color: #cc1a08;
	border: 3px solid #cc1a08;
	padding: 0 45px!important;
	margin-top: 30px;
	color: #fff;
	text-transform: uppercase;
	line-height: 60px;
	letter-spacing: 1px;
	text-shadow: none;
}
.form-horizontal .btn-primary::before {
	border-right: 20px solid rgba(255, 255, 255, 0.2);
	border-top: 20px solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	bottom: 3px;
	right: 3px;
}
.form-horizontal .btn-primary:hover, .form-horizontal .btn-primary:focus, .form-horizontal .btn-secondary:hover, .form-horizontal .btn-secondary:focus {
	background-color: #fff;
	border-color: #cc1a08;
	color: #cc1a08!important;
}
.form-horizontal .btn-primary:hover::before, .form-horizontal .btn-primary:focus::before {
	border-right: 20px solid #cc1a08;
}
.form-horizontal .btn-primary .fa {
	margin: 0 3px;
}
.form-horizontal .btn-primary, .form-horizontal .btn-secondary {
	background-color: #cc1a08;
	border: 2px solid #cc1a08;
	color: #fff;
	font-weight: normal;
	text-transform: uppercase;
	text-shadow: none;
	text-decoration: none;
	letter-spacing: 1px;
	padding: 10px 12px;
}
.form-horizontal .btn-secondary:hover {}
/* ==================================================
   Responsive Media Queries
================================================== */
@media only screen and (min-width:320px) and (max-width:479px) {
.form-horizontal {
    margin: 30px auto 10px;
}
.form-horizontal .input-group-addon {
	display: none;
}
.form-horizontal [class*="col-"] {
    padding-right: 15px;
}
.form-horizontal .disclaimer p {
	padding-left: 30px;
	margin-bottom: 15px;
}
input[type="checkbox"], input[type="radio"] {
	margin-left: -34px;
	width: 30px;
}
.form-horizontal .input-group[class*="col-"] {
    margin-right: 0;
	padding-right: 0;
}
.form-horizontal .btn-secondary {
	float: right;
	margin-top: 5px;
}
.form-horizontal .input-group .fa-info {
	float: right;
	width: 40px;
	text-align: center;
}
.payment {
	text-align: center;
}
.payment span {
    margin: 0 15px 15px;
}
.payment input[type="checkbox"], .payment input[type="radio"] {
    margin-left: 0;
    width: 30px;
}
}
@media only screen and (min-width:768px) and (max-width:991px) {
.form-horizontal .control-label {
    text-align: left;
}
.form-horizontal .btn-secondary {
	float: right;
	margin-top: 5px;
}
.form-horizontal .input-group .fa-info {
	float: right;
	width: 40px;
	text-align: center;
}
input[type="checkbox"], input[type="radio"] {
	width: 30px;
	margin-right: 0;
}
}
@media only screen and (min-width:992px)and (max-width:1024px) {
}