body{
  font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
  font-size: 13px;
  color: #535f89;
  background-color: #eef6fc;
  height: calc(100% + 50px);
}

body.bodyLogin{
  background-color: #ffffff;
}

.col{
  position: relative;
}

label.error{
  position:absolute;
  bottom: 0px;
  right: 5px;
  color: red;
}
input.error{
  border-color:red;
}

.header{
  height: 273px;
  background-image: url('/images/backhead.jpg');
  background-repeat: no-repeat;
  background-size: cover;
}

.header .logo{
  width: 120px;
  float: left;
}

.header .logo:last-child{
  margin-left: 50px;
}

.header .logo img{
  width: 100%;
}

.body{
  padding-bottom: 50px;
  margin-top:-50px;
}

.footer{
  height: 150px;
  background-color:#161c30;
}

/* Loader */
.loading {
  overflow: hidden;
}
.loading.on {
  position: fixed;
  z-index: 999;
  height: 2em;
  width: 2em;
  overflow: visible;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.loading.on:before {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.3);
}

.loading.on:not(:required) {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.loading.on:not(:required):after {
  content: '';
  display: block;
  font-size: 10px;
  width: 1em;
  height: 1em;
  margin-top: -0.5em;
  -webkit-animation: spinner 1500ms infinite linear;
  -moz-animation: spinner 1500ms infinite linear;
  -ms-animation: spinner 1500ms infinite linear;
  -o-animation: spinner 1500ms infinite linear;
  animation: spinner 1500ms infinite linear;
  border-radius: 0.5em;
  -webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
  box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
}

@-webkit-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* Custom card */
.card{
  border-radius: 25px;
  border: 1px solid #e1e0e0;
}

.card-body{
  padding: 50px 23px;
}

.card-body p:last-child{
  margin-bottom: 0;
}

/* Card blue */
.card-blue{
  border-left: 15px solid #2d7db1;
}

/* Card login */
.card.card-box h2{
  font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
  font-size: 26px;
  font-weight: bold;
  color: #233668;
}

.card-box .card-header{
  padding: 50px 23px;
  background-color: #f8f8f8;
  border-bottom: 1px solid #e1e0e0;
}

.card-box .card-header:first-child {
  border-radius: 24px 24px 0 0;
}

/* Card minibox */
.card.card-minibox h1{
  font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
  font-size: 26px;
  font-weight: bold;
  color: #233668;
  margin: 0;
  padding: 0;
}

.card.card-minibox h2{
  font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: #2f81b7;
  margin: 0;
  padding: 0;
}

.card-minibox .card-header{
  padding: 20px;
  background-color: #f8f8f8;
  border-bottom: 1px solid #e1e0e0;
}

.card-minibox .card-header:first-child {
  border-radius: 24px 24px 0 0;
}

/* Nav */
.nav{
  width: 100%;
  font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
  font-size: 18px;
  font-weight: bold;
  border-radius: 25px;
}

.nav .nav-item:first-child .nav-link{
  border-radius: 25px 25px 0 0;
}

.nav .nav-item:last-child .nav-link,
.nav .nav-item:last-child .collapse .nav-item:last-child .nav-link,
.nav .nav-item:last-child .collapsing .nav-item:last-child .nav-link{
  border-radius: 0 0 25px 25px;
}

.nav .nav-item .nav-link{
  position:relative;
  background-color: #ffffff;
  padding: 20px 20px 20px 65px;
  color: #233668;
}
.nav .nav-item .nav-link.active,
.nav .nav-item .nav-link:hover,
.nav .nav-item .nav-link[aria-expanded=true]{
  background-color: #233668;
  color: #ffffff;
}

.nav .nav-item .nav-link i {
  position: absolute;
  left: 0px;
  width: 65px;
  text-align: center;
  font-size: 25px;
}

.nav .nav-item:first-child .collapse .nav-item .nav-link,
.nav .nav-item:last-child .collapse .nav-item .nav-link,
.nav .nav-item .collapse .nav-item .nav-link,
.nav .nav-item:first-child .collapsing .nav-item .nav-link,
.nav .nav-item:last-child .collapsing .nav-item .nav-link,
.nav .nav-item .collapsing .nav-item .nav-link,
.nav .nav-item:last-child .nav-link[aria-expanded=true]{
  border-radius: 0;
}
.nav .nav-item .collapse .nav-item .nav-link,
.nav .nav-item .collapsing .nav-item .nav-link{
  position:relative;
  background-color: #fcfcfc;
  padding: 5px 20px 5px 65px;
  color: #2f81b7;
  font-weight: 500;
}
.nav .nav-item .collapse .nav-item .nav-link.active,
.nav .nav-item .collapsing .nav-item .nav-link.active{
  background-color: #2f81b7;
  color: #ffffff;
}
.nav .nav-item .collapse .nav-item .nav-link:hover,
.nav .nav-item .collapsing .nav-item .nav-link:hover
{
  background-color: #2f81b7;
  color: #ffffff;
}

/* Form */
form .form-title{
  font-weight: bold;
  color: #233668;
  text-transform: uppercase;
  font-size: 16px;
  margin-bottom: 20px;
}

form .form-subtitle{
  font-weight: bold;
  color: #2d81b7;
  text-transform: uppercase;
  font-size: 13px;
}

form label,
form input::placeholder {
  font-weight: bold;
  color: #2d81b7;
  text-transform: uppercase;
}

form label.form-check-label {
  font-weight: bold;
  color: #2d81b7;
  text-transform: none;
}

form .form-check-input {
  margin-top: 2px;
}

form .form-check {
  padding-top: 0.25rem;
}

form .form-check:last-child {
  padding-bottom: 1rem;
}

form input{
  width:100%;
  padding: 10px 20px;
  border-radius: 25px;
  border: 1px solid #dcdada;
  color: #2d81b7;
  margin-bottom:26px;
}

form textarea{
  width:100%;
  padding: 10px 20px;
  border-radius: 25px;
  border: 1px solid #dcdada;
  color: #2d81b7;
  margin-bottom:26px;
  resize: none;
}

form select{
  width:100%;
  padding: 10px 20px;
  border-radius: 25px;
  border: 1px solid #dcdada;
  color: #2d81b7;
  margin-bottom:26px;
}

form input[type=submit]{
  margin-top:50px;
  font-weight: bold;
  color: #ffffff;
  text-transform: uppercase;
  border: none;
  background: rgb(47,129,183);
  background: linear-gradient(90deg, rgba(47,129,183,1) 0%, rgba(107,204,242,1) 100%);
}

form input[type=submit]:hover{
  background: rgb(47,129,183);
}

form.loginForm input[type=submit]{
  margin-top:10px;
}

form.loginForm .forgotPasswordLink,
form.loginForm .cancelForgotPasswordLink{
  font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
  font-size: 13px;
  color: #535f89;
  text-decoration: none;
}

form.loginForm .forgotPasswordLink:hover,
form.loginForm .cancelForgotPasswordLink:hover{
  text-decoration: underline;
}

.passwordBox{
  display: none;
}

input[type=checkbox], input[type=radio] {
    width: auto;
}

form #resetEtape2{
  margin-top:50px;
  font-weight: bold;
  color: #ffffff;
  text-transform: uppercase;
  border: none;
  background: rgb(47,129,183);
  background: linear-gradient(90deg, rgba(47,129,183,1) 0%, rgba(107,204,242,1) 100%);
}

form #resetEtape2:hover{
  background: rgb(47,129,183);
}

form #resetEtape4{
  margin-top:50px;
  font-weight: bold;
  color: #ffffff;
  text-transform: uppercase;
  border: none;
  background: rgb(47,129,183);
  background: linear-gradient(90deg, rgba(47,129,183,1) 0%, rgba(107,204,242,1) 100%);
}

form #resetEtape4:hover{
  background: rgb(47,129,183);
}

/* Button */
.btn-pectm{
  text-decoration: none;
  padding: 5px 40px;
  border-radius: 25px;
  font-size:13px;
  font-weight: bold;
  color: #ffffff;
  text-transform: uppercase;
  border: none;
  background: rgb(47,129,183);
  background: linear-gradient(90deg, rgba(47,129,183,1) 0%, rgba(107,204,242,1) 100%);
}

.btn-pectm:hover{
  color: #ffffff;
  background: rgb(47,129,183);
  text-decoration: none;
}

/* Header rules */
.header .connectingUser{
  font-size:18px;
  font-weight: bold;
  color: #233668;
}

.header .connectingUser i{
  font-size:20px;
}

.header .connectingUser .notification.off{
  color: #233668;
}

.header .connectingUser .notification.on{
  color: #b60808;
}

.isOPCA,.isAGEFIPH,.isCPF,.isAUTRE{
  display:none;
}

.isOPCA.show,.isAGEFIPH.show,.isCPF.show,.isAUTRE.show{
  display:block;
}

div.titleDossier{
  font-weight: bold;
  color: #2d81b7;
  text-transform: uppercase;
  margin-top: 10px;
}

div.financementLine,
div.completudeLine{
  font-weight: bold;
  color: #2d81b7;
  text-transform: none;
  position: relative;
  margin-bottom: 5px;
}

div.financementLine .financementCheck,
div.completudeLine .completudeCheck{
  position: absolute;
  top: 2px;
  left: 0px;
  height: 15px;
  width: 15px;
  border: 1px solid #aaaaaa;
  border-radius: 4px;
}

div.financementLine .nameFinancement,
div.completudeLine .nameCompletude{
  margin-left: 20px;
}

div.financementLine .financementCheck.ok,
div.completudeLine .completudeCheck.ok{
  background-color: #2d81b7;
  border: 1px solid #2d81b7;
}

div.financementLine .financementCheck.nok,
div.completudeLine .completudeCheck.nok{
  border: 1px solid #2d81b7;
}

/* Table rules */
table tr th,
table tr td{
  padding: 5px 10px;
}

table thead tr{
  background-color: #dddddd;
}
table thead th.sort{
  background-repeat:no-repeat;
  background-position: right center;
  background-size: 15px 15px;
  cursor: pointer;
}
table thead th.sort:hover{
  text-decoration: underline;
}
table thead th.sort-none{
  background-image:url('/images/sort-none.png');
}
table thead th.sort-up{
  background-image:url('/images/sort-up.png');
}
table thead th.sort-down{
  background-image:url('/images/sort-down.png');
}

table tbody tr:nth-child(odd){
  background-color: #f8f8f8;
}

.paginationDiv .paginationBtn{
  display: none;
  padding-top: 20px;
}
.paginationDiv .paginationBtn:first-child{
  padding-left:15px;
}

.searchDiv form#searchForm input{
  width: auto;
  margin-top: 0px;
}

.searchDiv form#searchForm input[type=text]{
  border-radius: 25px 0 0 25px;
}

.searchDiv form#searchForm input[type=submit]{
  border-radius: 0 25px 25px 0;
  padding:10px;
}

.importExportButtonContainer{
  padding-bottom: 50px;
}

#exportForm input{
  width: auto;
  margin-top: 0px;
}
#exportForm label{
  padding-right:50px;
}

#exportForm input[type=text]{
  border-radius: 25px 0 0 25px;
}

#exportForm input[type=submit]{
  border-radius: 0 25px 25px 0;
  padding:10px;
}
