/*! Lightning Design System 2.2.2 */
/*!
 * Copyright (c) 2015, salesforce.com, inc. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
 * Neither the name of salesforce.com, inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
@font-face {
  font-family: 'Salesforce Sans';
  src: url("/assets/fonts/webfonts/SalesforceSans-Light.woff2") format("woff2"), url("/assets/fonts/webfonts/SalesforceSans-Light.woff") format("woff");
  font-weight: 300; }

@font-face {
  font-family: 'Salesforce Sans';
  src: url("/assets/fonts/webfonts/SalesforceSans-LightItalic.woff2") format("woff2"), url("/assets/fonts/webfonts/SalesforceSans-LightItalic.woff") format("woff");
  font-style: italic;
  font-weight: 300; }

@font-face {
  font-family: 'Salesforce Sans';
  src: url("/assets/fonts/webfonts/SalesforceSans-Regular.woff2") format("woff2"), url("/assets/fonts/webfonts/SalesforceSans-Regular.woff") format("woff");
  font-weight: 400; }

@font-face {
  font-family: 'Salesforce Sans';
  src: url("/assets/fonts/webfonts/SalesforceSans-Italic.woff2") format("woff2"), url("/assets/fonts/webfonts/SalesforceSans-Italic.woff") format("woff");
  font-style: italic;
  font-weight: 400; }

@font-face {
  font-family: 'Salesforce Sans';
  src: url("/assets/fonts/webfonts/SalesforceSans-Bold.woff2") format("woff2"), url("/assets/fonts/webfonts/SalesforceSans-Bold.woff") format("woff");
  font-weight: 700; }

@font-face {
  font-family: 'Salesforce Sans';
  src: url("/assets/fonts/webfonts/SalesforceSans-BoldItalic.woff2") format("woff2"), url("/assets/fonts/webfonts/SalesforceSans-BoldItalic.woff") format("woff");
  font-style: italic;
  font-weight: 700; }

html, body {
  height: 100%;
  font-family: SFS, Arial, sans-serif;
  color: #16325c;
  font-size: 14px;
}

body {
  padding: 0px;
  margin: 0 auto;
}

h1 {
  font-size: 24px;
  font-family: SFSLight, Arial, sans-serif;
}

h2 {
  font-size: 18px;
  font-family: SFSLight, Arial, sans-serif;
}

:placeholder {
  color: #54698d;
}

::-webkit-input-placeholder {
  color: #54698d;
}

:-moz-placeholder { /* Firefox 18- */
  color: #54698d;
  opacity: 1;
}

::-moz-placeholder {  /* Firefox 19+ */
  color: #54698d;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #54698d;
}

/* Positioning */

.pr {
  position: relative;
}

.di {
  display: inline;
}

.dib {
  display: inline-block;
}

.tc {
  text-align: center;
}

.tr {
  text-align: right;
}

/* Floats */

.fl {
  float: left;
}

.fr {
  float: right;
}

/* Margins */

.ma {
  margin: 0 auto;
}

.mr8 {
  margin-right: 8px;
}

.mr16 {
  margin-right: 16px;
}

.mb8 {
  margin-bottom: 8px;
}

.mb12 {
  margin-bottom: 12px;
}

.mb14 {
  margin-bottom: 14px;
}

.mb16 {
  margin-bottom: 16px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb24 {
  margin-bottom: 24px;
}

.mt8 {
  margin-top: 8px;
}

.mt16 {
  margin-top: 16px;
}

.mt24 {
  margin-top: 24px;
}

/* Radius  */

.r4 {
  border-radius: 4px;
}

/* Padding */

.p16 {
  padding: 16px 0;
}

.pt16 {
  padding-top: 16px;
}

.pt20 {
  padding-top: 20px;
}

.pt40 {
  padding-top: 40px;
}

/* Borders  */

.bt {
  border-top: 1px solid #F4F6F9;
}

img.logo {
  width: 160px;
}

img {
  vertical-align: middle;
  border: 0;
}

a {
  text-decoration: none;
  transition: all 0.1s;
}

a:hover, a:active {
  color: #005fb2;
}

a:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

.required {
    color: #CF4F43;
}

p {
  display: block;
  text-align: left;
  text-align: start;
  margin:0px;
  line-height: 24px;
}

ul {
  padding-left:20px;
  list-style-type: disc;
}

.whiteHeader {
  color: #fff;
}

/*the UL above seems to break the next element so put in a no-op*/
code{}

.passwordul {
  padding-left:0px;
  list-style-type: none;
}

/*the UL above seems to break the next element so put in a no-op*/
code{}

.passwordicon {
  padding-right:8px;
    width: 16px;
}

.disabled {

}

.small {
  font-size: 12px;
}

p.small a {
  font-size: 12px;
}

.label {
  font-size: 12px;
  color: #54698d;
  margin: 0 0 8px 0;
  line-height: inherit;
}

div, form {
  margin: 0px;
  padding: 0px;
}

.zen-assistiveText {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
}

.button {
  padding: 12px 24px;
  border-radius: 4px;
  border: 0;
  font-size: 14px;
  font-family: SFS, Arial, sans-serif;
  color: white;
  background-color: #D8DDE6;
  cursor: pointer;
    background-image: none !important;
}

/* Style a link to look like a button */
a.button {
  display: inline-block;
  box-sizing: border-box;
  text-align: center;
}

a.primary, a.primary:link, a.primary:visited, a.primary:hover, a.primary:active {
  color: white;
}

a.secondary, a.secondary:link, a.secondary:primary, a.secondary:hover, a.secondary:active {
  color: #0070d2;
}

button#password-button:disabled {
  cursor: default;
}

.fiftyfifty {
  width: 48%;
}

.error {
  color: #CF4F43;
}


.errorcode {
  font-size:10px;
  color: #54698d; /* Color for labels */
}


.primary {
  background-color: #0070d2;
  color: white;
  transition: all 0.1s;
  border: 1px solid transparent;
}

.primary:hover, .primary:focus {
  background-color: #005fb2;
}

.secondary {
  background-color: #ffffff;
  border: 1px solid #D8DDE6;
  color: #0070d2 !important;
}

.secondary:hover {
  background-color: #F4F6F9;
}

.wide {
  width: 100%;
}

.right {
  float:right;
}

/* Inputs */

input {
  height: auto !important;
}

input#answer {
    margin-top: 8px;
}

input.input,
select.input,
input.answer-input.input,
input.password-input.input {
  border: 1px solid #D8DDE6;
  border-radius: 4px;
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
  background-color: #fff;
  font-family: SFS, Arial, sans-serif;
  box-sizing: border-box;
  -webkit-appearance: none;
  font-size: 14px;
  transition: all 0.1s;
}

.input {
  padding: 12px;
}

.password-input {
  padding: 12px !important;
}

.answer-input {
  padding: 12px !important;
}

select.input#question {
  padding: 12px 40px;
  background-image: url('/img/disclosure.gif');
  background-repeat: no-repeat;
  background-position: 14px 14px;
}

.input:focus { 
  background-color: #ffffff;
  border: 1px solid #1589ee;
  outline: 0;
  box-shadow: 0 0 3px #0070D2;
}

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

input.twofactor {
  background-image: url('/img/keys.png');
  background-repeat: no-repeat;
  background-position: 12px, 12px;
  background-size: 14px 18px;
  padding: 12px 40px;
}

input.error {
  border: 1px solid #C23934;
}

input[type="radio"] {
  margin-right: 12px;
  margin-bottom: 12px;
}

/* Removes native iOS button styling */
input[type='submit'] {
  -webkit-appearance: none;
}

.tablewrapper {
  margin: 0px;
  padding: 0px;
  height: 100%;
  width: 100%;
}

.username {
  display: block;
}

.password {
  display: block;
}

input.answer-input:focus,
input.password-input:focus {
  background-color: #ffffff;
  border: 1px solid #1589ee;  
  outline: 0;
}


.password-wrapper {
  position: relative;
  background: #FFF;
}

.password-message {
  display: block;
  line-height: 45px;
  font-size:10px;
  padding: 0 10px;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
}

html[dir="rtl"] .password-message {
  right: auto;
  left: 0;
}

.password-none {
  border: 1px solid #1589ee;
}

.password-none-color {
  color: #16325c;
}


input.password-input.password-weak,
input.password-input.password-weak:focus {
  border:1px solid #C23934;
}

.password-weak-color {
  color: #CF4F43;
}

input.password-input.password-good,
input.password-input.password-good:focus {
  border:1px solid #4bca81;
}

.password-good-color {
  color: green;
}

.password-focus {
  border: 1px solid #1589ee;
}

.password-strong {

}

.twofactor-input {
  background-image: url('/img/iconCode.png');
  background-repeat: no-repeat;
  background-position: 12px, 12px;
  background-size: 14px 18px;
  padding: 12px 40px;
}

.phone-input {
  background-image: url('/img/iconPhone.png');
  background-repeat: no-repeat;
  background-position: 12px, 12px;
  background-size: 14px 18px;
  padding: 12px 40px;
}

.clear-input {
  background-image: url('/img/iconClear.png');
  background-repeat: no-repeat;
  background-position: 12px, 12px;
  background-size: 14px 18px;
  padding: 12px 40px;
}

#wrapper {
  padding: 20px 0px 0px 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
  max-width: 380px;
  -moz-transition: all 0.25s;
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s;
}

.standard_logo_wrapper {
  height: 113px;
  overflow: hidden;
  width: 180px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
    display: table;
}

.standard_logo {
  margin-left: auto;
  margin-right: auto;
  vertical-align: middle;
  max-width: 180px;
  max-height: 113px;
}

#header {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-size: 24px;
  font-family: SFSLight, Arial, sans-serif;
}

#wrap {
    min-height: 100%;
}

#main {
    overflow:auto;
    padding-bottom: 48px;
}  /* padding is footer height plus an extra 24px of spacing */

#footer {
    position: relative;
    margin-top: -24px; /* negative value of footer height */
    height: 24px;
    width: 100%;
    clear:both;
    text-align: center;
    font-size: 12px;
}

#content {
  margin: 0px auto;
  padding: 20px;
  border-radius: 4px;
  border: 1px solid #D8DDE6;
  color: #16325c;
}

p.large {
  font-size: 18px;
  font-family: SFSLight, Arial, sans-serif;
}

.important {
   font-weight: bold;
}

.wordwrap {
  word-wrap: break-word;
}

.nowrap {
    white-space: nowrap;
}
/* Login page sections */

#left {
  display: table-cell;
  height: 100%;
}

#right {
  display: table-cell;
  vertical-align: top;
  background-color: #D8DDE6;
  width: 50%;
  height: 100%;
  color: rgba(255, 255, 255, 0.6);
  border-left: 1px solid #D8DDE6;
}

#right iframe {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: none;
  float: right;
}

.container {
  border: 1px solid #D8DDE6;
  padding: 20px;
  border-radius: 4px;
  color: #16325c;
}

/* Login form */

#pwcaps {
  font-size: 12px;
  color: #54698d;
  margin-top: -8px;
}

#pwcapsicon {
  margin-right: 8px;
}

.inputgroup {
  position: relative;
}

.loginError {
  color: #C23934;
  margin-bottom: 14px;
  font-size: 12px;
}

#idcard-container {
  background-color: #ffffff;
  border: 1px solid #D8DDE6;
  padding: 2px;
  border-radius: 4px;
}

#idcard {
  padding: 3px;
  border-radius: 4px;
  position: relative;
}

#idcard-identity {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  position: absolute;
  left: 43px;
  right: 36px;
  line-height: 32px;
}

.avatar {
  width: 24px;
  height: 24px;
  border-radius: 24px;
  vertical-align: middle;
  margin-right: 8px;
  padding: 4px;
  display: inline-block;
}

.clearlink {
  margin-right: 8px;
  margin-top: 8px;
  float: right;
}

.clearicon {
  width: 16px;
  height: 16px;
  cursor: hand;
}

/* Login hint editing */

.nonscrollable {
  border-bottom: 1px solid #D8DDE6;
  border-radius: 4px;
  border-top: 1px solid #D8DDE6;
}

#manager ul {
  margin: 0;
  padding: 0;
}

#manager li {
  list-style-type: none;
  padding: 12px;
  font-size: 14px;
  border-left: 1px solid #D8DDE6;
  border-right: 1px solid #D8DDE6;
  border-bottom: 1px solid #f4f6f9;
  position: relative;
}

#manager li:hover, #manager li:focus {
  background-color:#f4f6f9;
}

#manager span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: absolute;
    left: 68px;
    right: 36px;
    line-height: 32px;
}

.hintclearlink {
  margin-top: 8px;
  float: right;
}

.hintclearicon {
  width: 16px;
  height: 16px;
  cursor: hand;
}

/* Login hint chooser */

#chooser ul {
  margin: 0;
  padding: 0;
}

#chooser li {
  list-style-type: none;
  font-size:14px;
  border-left:1px solid #D8DDE6;
  border-right:1px solid #D8DDE6;
  border-bottom:1px solid #f4f6f9;
  margin-bottom:0px;
  position: relative;
}

#chooser li a:hover, #chooser li a:focus {
  background-color: #f4f6f9;
}

#idlist span {
  overflow: hidden;
  white-space: nowrap;
    text-overflow: ellipsis;
    position: absolute;
    left: 68px; 
    right: 12px;
    line-height: 32px;
}

#idlist a {
  color: #16325c;
  width: 100%;
  height: 100%;
  text-decoration: none;
  display: block;
  padding: 12px;
  font-size: 12px;
  box-sizing: border-box;
}

.thumbnail, .thumbnail_img, .thumbnail_div {
  width:32px;
  height:32px;
  border-radius:32px;
  vertical-align:middle;
  margin-right:8px;
  display:inline-block;
}

.thumbll_icon {
  position:absolute;
  width:20px;
  height:20px;
  left:30px;
  top:30px;
}

.scrollable {
  border-bottom:1px solid #D8DDE6;
  border-radius: 4px;
  border-top:1px solid #D8DDE6;
  max-height: 200px;
  overflow: auto;
}

.activity {
  width:8px;
  border-radius:0px;
  vertical-align:middle;
  margin-right:8px;
}

/* Login page IDP styling */

#or_use_idp {
    font-size: 18px;
    font-family: SFSLight, Arial, sans-serif;
}

#idp_section_buttons .thumbnail, #idp_section_chooser .thumbnail {
    width: 24px;
    height: 24px;
    border-radius: 4px;
}

/* button should be the same height with or without a logo */
#idp_section_buttons button {
  min-height: 50px;
  word-wrap: break-word;
}

#idp_chooser ul {
    margin: 0;
    padding: 0;
}

#idp_chooser li {
    list-style-type: none;
    font-size:14px;
    border-left:1px solid #D8DDE6;
    border-right:1px solid #D8DDE6;
    border-bottom:1px solid #f4f6f9;
    margin-bottom: 0px;
}

#idp_chooser li a:hover {
    background-color:#f4f6f9;
}

#idp_chooser li a:focus {
    background-color:#f4f6f9;
}

#idplist a {
    color: #16325c;
    text-decoration: none;
    display: block;
    padding: 12px;
    font-size: 14px;
    word-wrap: break-word;
}

#idpscrollable {
    border-bottom:1px solid #D8DDE6;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    border-top:1px solid #D8DDE6;
    max-height:190px;
    overflow: auto;
}

#idp_search {
    background-image: url('/img/grey_magnifier.png');
    background-repeat: no-repeat;
    background-position: 15px 12px;
    background-size: 16px 19px;
    padding: 12px 12px 12px 44px;
    border-bottom: 0px;
    background-color: #ffffff;
}

#idp_search:focus {
    border-bottom:0px;
    background-color: #ffffff;
    border: 1px solid #1589ee;  
    outline: 0;
    box-shadow: 0 0 3px #0070D2; 
}

fieldset.borderless {
    border: 0;
    padding: 0 0 0 0;
    margin: 0;
    min-width: 0;
}

@media only screen and (max-width: 1024px) {
  #left {
    width: 100%;
  }
  
  #right {
    display: none;
  }
}
  
@media only screen and (max-width: 480px) {
  #wrapper {
    max-width: 100%;
    margin-left: inherit;
    left: inherit;
    padding-top: 20px !important;
  }
  
  #content {
    border-left: 0px;
    border-right: 0px;
    border-radius: 0px;
  }
  
  .button {
    font-size: 16px;
  }
  
  .label, .small, #footer {
    font-size: 14px;
  }
  
  /* font must be at least 16px to prevent auto-zooming on iOS devices */
  input.input {
      font-size: 16px;
  }
}

@media only screen and (min-height: 1200px) {
  #wrapper {
     padding-top: 240px;
  }
}
@media only screen and (max-height: 1200px) {
    #wrapper {
        padding-top: 180px;
    }
}
@media only screen and (max-height: 1000px) {
    #wrapper {
        padding-top: 140px;
    }
}
@media only screen and (max-height: 900px) {
    #wrapper {
        padding-top: 100px;
    }
}
@media only screen and (max-height: 736px) {
    #wrapper {
        padding-top: 60px;
    }
}
@media only screen and (max-height: 670px) {
    #wrapper {
        padding-top: 40px;
    }
}
@media only screen and (max-height: 610px) {
  #wrapper {
     padding-top: 20px;
  }
}