/* Minimal Bootstrap 4 subset — grid, modal, collapse, forms (render-critical only) */
*,*::before,*::after{box-sizing:border-box}

.container{
  width:100%;
  padding-right:15px;
  padding-left:15px;
  margin-right:auto;
  margin-left:auto;
}
@media(min-width:576px){.container{max-width:540px}}
@media(min-width:768px){.container{max-width:720px}}
@media(min-width:992px){.container{max-width:960px}}
@media(min-width:1200px){.container{max-width:1140px}}

.row{
  display:flex;
  flex-wrap:wrap;
  margin-right:-15px;
  margin-left:-15px;
}
[class*="col-"]{
  position:relative;
  width:100%;
  padding-right:15px;
  padding-left:15px;
}
.col-4{flex:0 0 33.333333%;max-width:33.333333%}
@media(min-width:768px){
  .col-md-4{flex:0 0 33.333333%;max-width:33.333333%}
  .col-md-5{flex:0 0 41.666667%;max-width:41.666667%}
  .col-md-6{flex:0 0 50%;max-width:50%}
  .col-md-7{flex:0 0 58.333333%;max-width:58.333333%}
  .col-md-12{flex:0 0 100%;max-width:100%}
}
@media(min-width:992px){
  .col-lg-3{flex:0 0 25%;max-width:25%}
  .col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}
  .col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}
  .col-lg-6{flex:0 0 50%;max-width:50%}
}

.d-flex{display:flex!important}
.d-inline-flex{display:inline-flex!important}
.align-items-center{align-items:center!important}
.position-relative{position:relative!important}
.p-0{padding:0!important}
.mb-4{margin-bottom:1.5rem!important}
.mb-5{margin-bottom:3rem!important}
@media(min-width:992px){
  .mb-lg-0{margin-bottom:0!important}
}

.collapse:not(.show){display:none}
.collapsing{
  position:relative;
  height:0;
  overflow:hidden;
  transition:height .35s ease;
}
.collapse.show{display:block}

.modal{
  position:fixed;
  top:0;
  left:0;
  z-index:1050;
  display:none;
  width:100%;
  height:100%;
  overflow:hidden;
  outline:0;
}
.modal.show{display:block}
.modal-open{overflow:hidden}
.modal-dialog{
  position:relative;
  width:auto;
  margin:.5rem;
  pointer-events:none;
}
.modal.fade .modal-dialog{
  transition:transform .3s ease-out;
  transform:translate(0,-50px);
}
.modal.show .modal-dialog{transform:none}
.modal-dialog-centered{
  display:flex;
  align-items:center;
  min-height:calc(100% - 1rem);
}
@media(min-width:576px){
  .modal-dialog{max-width:500px;margin:1.75rem auto}
  .modal-dialog-centered{min-height:calc(100% - 3.5rem)}
}
.modal-content{
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  pointer-events:auto;
  background-color:#fff;
  background-clip:padding-box;
  border:1px solid rgba(0,0,0,.2);
  border-radius:.3rem;
  outline:0;
}
.modal-backdrop{
  position:fixed;
  top:0;
  left:0;
  z-index:1040;
  width:100vw;
  height:100vh;
  background-color:#000;
}
.modal-backdrop.fade{opacity:0}
.modal-backdrop.show{opacity:.5}
.modal-body{
  position:relative;
  flex:1 1 auto;
  padding:1rem;
}

.form-group{margin-bottom:1rem}
.form-control{
  display:block;
  width:100%;
  height:calc(1.5em + .75rem + 2px);
  padding:.375rem .75rem;
  font-size:1rem;
  font-weight:400;
  line-height:1.5;
  color:#495057;
  background-color:#fff;
  background-clip:padding-box;
  border:1px solid #ced4da;
  border-radius:.25rem;
  transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
textarea.form-control{height:auto}
select.form-control:focus,
textarea.form-control:focus,
.form-control:focus{
  color:#495057;
  background-color:#fff;
  border-color:#80bdff;
  outline:0;
  box-shadow:0 0 0 .2rem rgba(0,123,255,.25);
}

.close{
  float:right;
  font-size:1.5rem;
  font-weight:700;
  line-height:1;
  color:#000;
  text-shadow:0 1px 0 #fff;
  opacity:.5;
  background:transparent;
  border:0;
}
.close:hover{opacity:.75}
