div.im-saml-separator-logo{
  display: table;
  margin: 100px auto 0;
}
div.im-saml-separator-logo img{
  display: block;
  margin: auto;
}
div.im-saml-separator-logo span{
  display: block;
  text-align: center;
  color: #666;
  margin-top: 10px;
} 
div.im-saml-separator{
  display:table;
  margin:50px auto auto;
  color:#666;
}
div.im-saml-separator:before,
div.im-saml-separator:after {
  content: "";
  display: block;
  background: #ccc;
  width: 100px;
  height: 1px;
}
div.im-saml-separator:before {
  float: left;
  margin-top: 0.55em;
  margin-right: 1em;
}
div.im-saml-separator:after {
  float: right;
  margin-top: 0.55em;
  margin-left: 1em;
}
ul.im-saml-button{
  display: table; 
  margin:auto;
  min-width: 300px;
}
ul.im-saml-button li {
  margin: 15px 20px;
}
ul.im-saml-button li:first-child {
  margin-top: 20px;
}
ul.im-saml-button a {
  display: table;
  padding: 10px 15px;
  text-align: center;
  border-radius: 5px;
  width: 100%;
  box-sizing: border-box;
  border-collapse: separate;
}
ul.im-saml-button a:hover,
ul.im-saml-button a:focus {
  text-decoration:none;
  opacity: 1;
  box-shadow: 0 0 20px 20px rgba(0,0,0,0.08) inset , 0 2px 0 0 rgba(255, 255, 255, 0.4) inset , 0 -2px 0 0 rgba(0, 0, 0, 0.15) inset, 0 2px 5px rgba(0,0,0,0.3);
}
ul.im-saml-button a:active {
  text-decoration:none;
  opacity: 1;
  box-shadow: 0 0 20px 20px rgba(0,0,0,0.1) inset , 0 -2px 0 0 rgba(255, 255, 255, 0.4) inset , 0 2px 0 0 rgba(0, 0, 0, 0.15) inset, 0 2px 5px rgba(0,0,0,0.3);
}
ul.im-saml-button img{
  display: inline-block;
  width: 32px;
  height: 32px;
  line-height: 1;
  margin-right: 10px;
  border: none;
  vertical-align: bottom;
}
ul.im-saml-button span.text{
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  font-size: 1.6rem;
}