@charset "UTF-8";
@font-face {
  font-family:'OpenSans';  src: url('fonts/OpenSans_gdi.eot');  src: url('fonts/OpenSans_gdi.eot?#iefix') format('embedded-opentype'),
    url('fonts/OpenSans_gdi.woff') format('woff'),  url('fonts/OpenSans_gdi.ttf') format('truetype'), url('fonts/OpenSans_gdi.svg#OpenSans-Regular') format('svg'); font-weight: 400;  font-style: normal;  font-stretch: normal;
}
@font-face {
  font-family:'OpenSans'; src: url('fonts/OpenSans-Bold_gdi.eot'); src: url('fonts/OpenSans-Bold_gdi.eot?#iefix') format('embedded-opentype'), url('fonts/OpenSans-Bold_gdi.woff') format('woff'), url('fonts/OpenSans-Bold_gdi.ttf') format('truetype'), url('fonts/OpenSans-Bold_gdi.svg#OpenSans-Regular') format('svg'); font-weight: 700; font-style: normal; font-stretch: normal;
}

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
*:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
html, body { height: 100%; font-family: 'OpenSans', sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { padding-top: 80px !important; background-color: #cacfde; margin: 0; }
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }

a { display: inline-block; text-decoration: none; }
a:hover, a:active { outline: 0; opacity: .7; }

ul, ol { list-style: none; padding: 0; margin: 0; }
table { width: 100%; height: 100%; border-spacing: 0; border-collapse: collapse; }
table td { vertical-align: middle; }
fieldset{ margin: 0 0 20px; padding: 0; border: none; }
button, input, optgroup, select, textarea { margin: 0; padding: 0; border: none; font: inherit; color: inherit; background: none; }
a, button, input[type="button"] { cursor: pointer; line-height: 100%; }
button, input[type="button"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
button:focus, input[type="button"]:focus { outline: 0; }

img { max-width: 100%; border: 0;}

article, aside, footer, header, nav, section { display: block; }

.show-xs{ display: none; }
.relative, section { position: relative; }
.mb20{ margin-bottom: 20px; }

.container, article { width: 440px; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; position: relative; text-align: center}
.clearfix:before, .clearfix:after, .container:before, .container:after, .row:before, .row:after, article:before, article:after { display: table; content: " "; }
.clearfix:after, .container:after, .row:after, article:after { clear: both; }


html, a, input, button{ font-size: 15px; font-style: normal; font-weight: 400; color: #0b3751; letter-spacing: .05em; }
h1, h2, h3, h4, h5, h6, p { margin: 0 0 20px; font-weight: 400; font-style: normal; line-height: 120%; }
h1, h2, h3, h4, h5, h6, p, input { font-family: 'OpenSans', sans-serif; }
p{ letter-spacing: 0; color: #000;  }
strong { font-weight: 700; }
a.blue{ color: #1599e9;  }

::-webkit-input-placeholder { color: #8f8f8f; opacity: .5; }
:-moz-placeholder { color: #8f8f8f; opacity: .5; }
::-moz-placeholder { color: #8f8f8f; opacity: .5; }
:-ms-input-placeholder { color: #8f8f8f; opacity: .5; }

aside, a, button, input[type="button"] { transition: all 300ms; -moz-transition: all 300ms; -webkit-transition: all 300ms; -o-transition: all 300ms; }

.btn { background: #85c94f; padding: 15px 20px; text-align: center; display: inline-block; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; text-transform: uppercase; color: #FFF; font-weight: 700; }
.btn:hover { background: #64963b; }
.btn.full { width: 100%; }
.btn.bgn { background: none; color: #718097; border: 1px solid #718097; }
.btn.bgn:hover { background: #718097; color: #fff; }

.login, input, input.cbox:empty ~ label:before{ -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }

input { position: relative; font-size: 18px; height: 44px; width: 100%; padding: 10px; padding-left: 60px; border: 1px solid #c8d5da; letter-spacing: 0; }
fieldset{ position: relative; }
fieldset:before, fieldset:after { content: ''; position: absolute; display: block; z-index: 1; }
fieldset:before { width: 42px; height: 42px; left: 1px; top: 1px; -webkit-border-radius: 5px 0 0 5px; -moz-border-radius: 5px 0 0 5px; border-radius: 5px 0 0 5px; background-color: #ececec; }
fieldset.mail:after { background: url(../img/mail.png); width: 21px; height: 16px; top: 14px; left: 10px; }
fieldset.pwd:after { background: url(../img/lock.png); width: 17px; height: 22px; top: 10px; left: 12px; }
fieldset.user:after { background: url(../img/user.png); width: 17px; height: 20px; top: 11px; left: 12px; }
input:disabled { background-color: #f8f5f5; }
input:focus { outline: 0; }

input.cbox:empty { margin-left: -999em; height: auto; width: auto; } 
input.cbox:empty ~ label { color: #7d7d7d; position: relative; float: left; font-weight: 400; line-height: 100%; cursor: pointer;  -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding-left: 40px; padding-top: 7px; }    
input.cbox:empty ~ label:before { content: ''; position: absolute; top: 0; left: 0; width: 30px; height: 30px;  border: 2px solid #c8d5da; margin-right: 15px; }
input.cbox:checked ~ label { color: #1599e9; font-weight: 700; }
input.cbox:checked ~ label:before { background: #1599e9 url(../img/tick.png) center center no-repeat; border-color: #1281ca; }

.login{ background-color: #FFF; padding: 40px; margin: 30px 0 70px; }
.tabs{ margin-bottom: 30px; width: 100%; display: table; }
.tabs a, .tabs strong{ text-transform: uppercase; width: 50%; display: table-cell; text-align: center; padding-bottom: 10px; border-bottom: 1px solid #e6ebed; opacity: .7; vertical-align: middle; }
.tabs a:hover, .tabs a.act{ opacity: 1; }
.tabs a.act{ font-weight: 700; border-bottom: 4px solid #1599e9; }
.tabs strong{ color: #0b3751; opacity: 1; }

.sesion{ margin-bottom: 30px; border-top: 1px solid rgba(11,55,81,0.1); border-bottom: 1px solid rgba(11,55,81,0.1); padding: 15px 0; }
.sesion *{ display: inline-block; vertical-align: middle; }
.sesion a{ margin: 0 7px; }
#registro .sesion{ border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
#registro a{ display: inline; }
#registro input.cbox:empty ~ label{ padding-top: 0; }

@media (max-width: 640px) { .show-xs{ display: block; } body{ padding-top: 30px; } .container, article { width: 100%; } .login{ padding: 40px 20px; } input{ padding-left: 50px; } }

.error{ border: 1px solid red}