* { margin: 0; padding: 0; }

body {
    background: #f6f6f6;
    font-family: 'Lato', sans-serif;
}

/* Sticky top bar */
.sub-nav {
    margin: 0;
    padding: 0;

    max-height: 90px;

    border-bottom: 2px solid #ca0000;

    -webkit-box-shadow: 0px 4px 8px 0px rgba(50, 50, 50, 0.75);
    -moz-box-shadow:    0px 4px 8px 0px rgba(50, 50, 50, 0.75);
    box-shadow:         0px 4px 8px 0px rgba(50, 50, 50, 0.75);
} .sub-nav dd {
    height: 90px;

    font-family: 'Lato', sans-serif;
    font-weight: 900;

    -webkit-transition: background 0.2s, transform .4s;
    -moz-transition: background 0.2s, transform .4s;
    -ms-transition: background 0.2s, transform .4s;
    -o-transition: background 0.2s, transform .4s;
    transition: background 0.2s, transform .4s;
}

.sub-nav dd.logo-wrapper {
    margin-left: -16px;

    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
}

.sub-nav dd.active {
    background: #ca0000;

    -webkit-transform: skew(20deg);
    -moz-transform: skew(20deg);
    -ms-transform: skew(20deg);
    -o-transform: skew(20deg);
    transform: skew(20deg);
} .sub-nav dd.active a, .sub-nav dd.active a:hover {
    border-radius: none;
    background: none;
    font-family: 'Lato', sans-serif;
    font-weight: 900;
	color: white;

    -webkit-transform: skew(-20deg);
    -moz-transform: skew(-20deg);
    -ms-transform: skew(-20deg);
    -o-transform: skew(-20deg);
    transform: skew(-20deg);
} .sub-nav dd a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
} .sub-nav dd a#redmarked {
	color: #ca0000;
} .sub-nav dd.active a#redmarked {
	color: white;
}


[data-magellan-expedition], [data-magellan-expedition-clone] {
    padding: 0;
} .top-logo {
    display: inline-block;
    float: left;
}

.user-dropdown {
    padding: 12px;
} .user-dropdown > li {
	width: 100%;
	text-align: center;
} .user-dropdown > li:first-child:hover {
	background: none;
	cursor: default;
}

.username-label {
	font-size: 1.2em;
	color: #ca0000;
	font-weight: bold;
}

/* Estilizamos la cabecera de presentación */
.header {
    /*
    border-bottom: 2px solid #cecece;

    -webkit-box-shadow: 0px 4px 8px 0px rgba(50, 50, 50, 0.75);
    -moz-box-shadow:    0px 4px 8px 0px rgba(50, 50, 50, 0.75);
    box-shadow:         0px 4px 8px 0px rgba(50, 50, 50, 0.75);
    */
} .header, .header .row {
    /* height: 340px; */
    height: 100%;
    max-width: none;
    overflow: hidden;

    border-bottom: 2px solid #ca0000;
} .header .columns {
    height: 100%;
}

.header .logo-wrapper {
    text-align: center;
} .header .logo-wrapper .logo {
    width: 230px;
    height: 210px;

    position: relative;
    top: 70px;
}

.header .full-width-wrapper {
    background-image: url("./images/bicycle_bg_1.jpg");
    background-repeat: no-repeat;
    background-position: center -100px;
    background-size: cover;
}

body > footer, .footer {
    background: #202020;
    text-align: center;
    padding: 0.725em;

    color: rgba(249, 249, 249, .9);
} body > footer hr , .footer hr {
    width: 100%;
    border: none;
    border-bottom: 1px solid #606060;
} .data-protection-law-paragraph {
    padding: 0;
    margin: 0; 

    font-size: .7em;
} .author-paragraph {
    padding: 0;
    margin: 0;

    font-family: 'Raleway', sans-serif;
}

/* Secciones */

.row.section {
    min-height: 100%;
}

hr {
    width: 100%;
    border-bottom: 4px solid #ca0000;
}

hr.minimal {
    width: 100%;
    border-bottom: 1px solid #ca0000;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Lato', sans-serif;
    font-weight: bold;
}

.reveal-modal {
    max-width: none;
} .reveal-modal .row {
    max-width: none;
}

.title {
    min-height: 24px;
    padding-left: 4px;
    margin-bottom: 24px;
    font-size: 1.4em;
    font-weight: bold;
    color: #ca0000;
    border-bottom: 2px solid #ca0000;
    text-transform: uppercase;
}

table.expand {
    width: 100%;
} table.expand-vertical {
    height: 100%;
}

.expand-vertical {
    height: 100%;
}

table tr td.text-center, th.text-center {
    text-align: center;
}

table {
    border: none;
    background: transparent;

    margin: 0;

    border-collapse: separate;
    border-spacing: 0 2px;
}
/* Table Head TR / TD */
table thead {
    background: #ca0000;
} table thead tr th {
    border-radius: 4px;
    color: white;
    border: 1px solid #cecece;
}

/* Table Body TR / TD */
table tr:nth-of-type(even) {
    background: white;
} table td {
    border-radius: 4px;
    background: white;
} table tr td {
    border: 1px solid #dedede;
}

table.event-row {
    border: none;
    background: transparent;

    margin: 0;
} table.event-row tr, td {
    border-radius: 0;
} table.event-row tr:last-child td {
    border-radius: 0;
} table.event-row tr td {
    border-top: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
} table.event-row tr:first-child td {
    border-top: none;
} table.event-row tr td:last-child {
    border-right: none;
}

.disabled {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    border: 1px solid #cecece;
    border-radius: 6px;

    background: rgba(20, 20, 20, .75);
    z-index: 99;

    display: flex;
    align-items: center;
    justify-content: center;

    font-weight: bold;
    font-size: 1.8em;
    color: white;
}

a {
    color: #ca0000;

    -webkit-transition: color .4s ease;
    -moz-transition: color .4s ease;
    -ms-transition: color .4s ease;
    -o-transition: color .4s ease;
    transition: color .4s ease;
} a:hover {
    color: #f86868;
    text-decoration: underline;
} a.inactive {
	color: grey;
	
	-webkit-transition: color .4s ease;
    -moz-transition: color .4s ease;
    -ms-transition: color .4s ease;
    -o-transition: color .4s ease;
    transition: color .4s ease;
} a.inactive:hover {
	color: darkgrey;
	text-decoration: underline;
}


a.block {
    display: block;
}

.has-tip, .has-tip:hover {
    border: none;
    cursor: pointer;
}

.icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
}
.icon {
    width: 22px;
    height: 22px;
}

.icon.large {
    width: 38px;
}

span.success-label {
    display: block;
    padding: 0.375rem 0.5625rem 0.5625rem;
    width: 100%;
    border-radius: 4px;
    margin-top: -1px;
    margin-bottom: 1rem;
    font-size: 1.6rem;
    font-weight: normal;
    font-style: italic;
    color: #777;
    border: 1px solid #5da423;
    border-left: 32px solid #5da423;
    background: #f2f2f2;
}

span.info-label {
    display: block;
    padding: 0.375rem 0.5625rem 0.5625rem;
    width: 100%;
    border-radius: 4px;
    margin-top: -1px;
    margin-bottom: 1rem;
    font-size: 1.6rem;
    font-weight: normal;
    font-style: italic;
    color: #777;
    border: 1px solid #e0e0e0;
    border-left: 32px solid #e0e0e0;
    background: #f2f2f2;
}

span.error-label {
    display: block;
    padding: 0.375rem 0.5625rem 0.5625rem;
    width: 100%;
    border-radius: 4px;
    margin-top: -1px;
    margin-bottom: 1rem;
    font-size: 1.6rem;
    font-weight: normal;
    font-style: italic;
    color: #777;
    border: 1px solid #c60f13;
    border-left: 32px solid #c60f13;
    background: #f2f2f2;
}

.subtitle {
    font-weight: bold;
    color: #ca0000;
}

.no-events-wrapper {
    background-image: url("./images/sad-face.png");
    background-repeat: no-repeat;
    background-position: center center;
    padding-top: 200px;
    text-align: center;
}

select {
    margin: 0 0 1rem 0;
}

span.error {
    display: none;
    width: 100%;
    border-radius: 4px;
} span.error > .wrapper > .arrow-up {
    position: relative;
    top: -5px;
    left: 50%;
    margin-top: -0.360rem;
    margin-left: -5px;

    width: 0; 
    height: 0; 
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #c60f13;

    z-index: 99;
} span.error > .wrapper > .xwr > a {
    display: block;
    float: right;
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 18px;
    color: #c60f13;
    background: white;
    padding-left: 2px;

    border-radius: 50%;

    -webkit-box-shadow: 1px 1px 6px 0px rgba(50, 50, 50, 0.75);
    -moz-box-shadow:    1px 1px 6px 0px rgba(50, 50, 50, 0.75);
    box-shadow:         1px 1px 6px 0px rgba(50, 50, 50, 0.75);
}

.timestamp {
    display: block;
    font-size: .6em;
    text-align: left;
    color: #aaa;
}

.loading-wrapper {
	display: none;
}

.loading-image {
	display: block;
	width: 32px;
	height: 32px;
	margin: 12px auto;
}

.plain-container {
	width: 100%;
	border: 1px solid #dedede;
	padding: 0.5625rem 0.625rem;
	font-size: 0.875rem;
	color: #222;
	text-align: left;
	border-radius: 4px;
	background: white;
}

span.input-info {
	display: inline-block;
	font-size: .8em;
	text-align: justify;
	color: #999999;
	margin-bottom: 12px;
}

span.live-results-label {
	background: #ca0000;
	border-radius: 12px;
	padding: 4px 8px;
	margin-right: 8px;
	
	color: white;
}

.alert-space {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 430px;
	padding-right: 20px;
}

.alert-box.info {
	color: #fff;
}

fieldset {
    -moz-border-radius:5px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    margin-bottom: 12px;
}

fieldset .subtitle {
    margin-left: 15px;
}

.legal-notice {
    font-style: italic;
    font-size: 0.9rem;
    line-height: 1rem;
    margin: 20px;
}

.legal-notice .liability-notice {
    display: block;
    font-weight: bold;
}

.footer-sections {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    -webkit-flex-flow: column wrap;
    justify-content: center;
}

.footer-sections .section-list {
    padding: 0;
    margin: 0 8px;
    list-style: none;
}

@media (max-width: 960px) {
    .footer-sections .section-list {
        margin: 8px 0;
    }
}

.text-container {
    background: #ffffff;
    padding: 20px;
    margin: 40px;
}

.text-container,
.text-container p,
.text-container section {
    font-size: 1.1rem;
    line-height: 1.865;
}

.text-container h1,
.text-container h2,
.text-container h3,
.text-container h4,
.text-container h5,
.text-container h6 {
    color: #ca0000;
}

.text-container h2 {
    margin-top: 2.4rem;
    margin-bottom: 3.6rem;
}

.text-container h3 {
    margin-top: 1.6rem;
    margin-bottom: 2.1rem;
}

.cc-logo {
    display: inline-block;
    width: 48px;
    margin: 0 8px;
}

.cc-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.prices {
    padding: 16px 20px;
    border-radius: 4px;
    border: 1px solid #cecece;
    background-color: #ffffff;
}

.prices .row {
    font-size: 0.90rem;
    border-top: 1px solid #ddd;
    margin: 6px 0 0 0;
    padding-top: 6px;
}

.prices .row.total {
    font-size: 1rem;
    font-weight: bold;
}

.prices .row:first-child {
    border: none;
    margin: 0;
    padding: 0;
}

.prices .row .columns {
    padding: 0 8px;
}

.tl {
    font-size: 1rem;
    font-style: italic;
}

.tl-break {
    display: block;
    font-size: 1rem;
    font-style: italic;
}

.tl-2-break {
    display: block;
    font-size: 0.9rem;
    font-style: italic;
}

.tl-3-break {
    display: block;
    font-size: 0.75rem;
    font-style: italic;
}