@font-face {
    font-family: 'Open Sans';
    src: url("/includes/fonts/open-sans.light.woff2") format('truetype'),
         url("/includes/fonts/open-sans.light.woff") format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Open Sans';
    src: url("/includes/fonts/open-sans.regular.woff2") format('truetype'),
         url("/includes/fonts/open-sans.regular.woff") format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Open Sans';
    src: url("/includes/fonts/open-sans.semibold.woff2") format('truetype'),
         url("/includes/fonts/open-sans.semibold.woff") format('woff');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Open Sans';
    src: url("/includes/fonts/open-sans.bold.woff2") format('truetype'),
         url("/includes/fonts/open-sans.bold.woff") format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Open Sans';
    src: url("/includes/fonts/open-sans.extrabold.woff2") format('truetype'),
         url("/includes/fonts/open-sans.extrabold.woff") format('woff');
    font-weight: 800;
    font-style: normal;
}

body {
    width:100%;
    height: 100%;
    min-width: 900px;
    min-height: 600px;  
    font-family:"Open Sans", "Arial" !important;
    padding: 0px;
    margin: 0px;
    overflow: auto;
    background-color:#ffffff;
    position: relative;
    box-sizing: border-box;
}

input {
    margin: 0px; /* remove browsers defaults */
}

header{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    background-color: #171f2c;
    height: 50px;
    color: white;
}

header.main-header .wrapper {
    display: flex;
    display: -ms-flexbox;
    justify-content: space-between;
    -ms-flex-pack: justify;
    max-width: 1850px;
    margin: 0px auto 0px auto;
    height: 50px;
}

header .company-logo {
    margin-left: 30px;
    display: flex;
    display: -ms-flexbox;
    align-items: center;
    -ms-flex-align: center;
    height: 50px;
}

header .firmLogo {
    height: 26px;
}

header .company-name {
    font-size: 20px;
    padding-left: 30px;
}

/*overwrite Chome's default styles*/
input, textarea, select, button {
    font-family:"Open Sans" !important;
}

a {
    text-decoration: none;
    color: #4299f5;
    cursor: pointer;
}

.errorMessage
{
    color: #CC0000;
    font-size: 14px;
}

.footer_copyright {
    position: absolute;
    bottom: 10px;
    width: 100%;
    text-align: center;
    font-size: 12px;
}

.input-disabled {
    background-color: #D4D0C8;
}


.button-green,
.button-blue,
.button-gray{
    border: none;
    /*width: 100px;*/
    min-width: 100px;
    padding: 0px 10px;
    height: 30px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 14px;
 }

.button-green:hover,
.button-blue:hover,
.button-gray:hover {
    cursor: pointer;
}

.button-green.disabled,
.button-blue.disabled,
.button-gray.disabled {
    cursor: default;    
}

.button-green {
	background-color: #4a9c09; 
    color: white;
}

.button-green:hover {
    background-color: #3e8e41;
}

.button-green.disabled {
    background-color: #E7E9EB !important; 
    color: #A7A9AC !important;
    border: 1px solid #d2d5d9;
}

.button-blue {
    background-color: #2e3f58; 
    color: white;
}

.button-blue:hover {
    background-color: #253347;
}

.button-blue.disabled {
    background-color: #e7e9eb !important; 
    border: 1px solid #e7e9eb;
    color: #a7a9ac;
}


.button-gray {
    border: 1px solid #d2d5d9;
    background-color: #e8e9eb; 
    color: #333333;
}

.button-gray:hover {
    border: 1px solid #4fb4f1;
    background-color: #e8e9eb;
}

.button-gray.disabled {
    color: #a7a9ac;
    border: 1px solid #e7e9eb;
    background-color: #e7e9eb !important; 
}


.capsLockErrorMsg {
    position: absolute;
    display: none;
    background: #ffd546;
    font-size: 15px;
    padding: 5px 10px;
    z-index: 100000;
}

.capsLockErrorMsg .capsHeader {
    display: table;
}

.capsLockErrorMsg .capsHeader span{
    display: table-cell;
    vertical-align: middle;
}

.capsLockErrorMsg .capsHead {
    padding-left: 7px;
}

input::-webkit-input-placeholder { /*WebKit browsers*/
    font-style: italic;
    font-size: 14px;
    color: #cacaca;
}

input:-moz-placeholder{ /* Mozilla Firefox 18-*/
    font-style: italic;
    font-size: 14px;
    color: #cacaca;
}
input::-moz-placeholder{ /*Mozilla Firefox 19+*/
    font-style: italic;
    font-size: 14px;
    color: #cacaca;
}
input:-ms-input-placeholder {  /*Internet Explorer 10+*/
    font-style: italic;
    font-size: 14px;
    color: #cacaca;
}


input.text-input-required{
    background-color: #feeded;
    border: none;
    outline: 1px solid red;
}
   
/*----------------------- UI elements  ---------------------------------------------*/
.checkbox{
    cursor: pointer;
    display: flex;
	display: -ms-flexbox;
    align-items: center;
	-ms-flex-align: center;
    line-height: 20px;
}

.checkbox .checkbox-def{
    display: none;
}

.checkbox .checkbox-mark{
  display: inline-block;
  background-image: url('/includes/images/checkbox-mark.png');
  background-position: 0px center;
  margin-right: 5px;
  width: 14px;
  height: 14px;
  background-repeat: no-repeat;
  cursor: pointer;
}

.checkbox  .checkbox-def:checked + .checkbox-mark {
  background-position: -14px; center;
}

.padd-left-20 {
    padding: 7px 0px 0px 20px;
}

.padd-top-7 {
    padding-top: 7px;
}
.padd-top-15 {
    padding-top: 15px;
}

/*------------------------ notification colors ----------------------------------*/
.success {
    background-color: #56B40A;
    color: #ffffff;
}

.warning {
    background-color: #FFD546;
    color: #333333;
}
/*------------------------ popup windows ----------------------------------*/

.mfp-iframe-holder .mfp-close,
.mfp-wrap .mfp-close {
    font-size: 20px;
    color: #e8f1ff !important;
    width: 40px !important;
    height: 40px !important;
    top: 0px !important;
    right: 0px !important;
    text-align: center !important;
    padding-right: 0pc !important;
}

body.popup-win,
.msg-win .popup-win  {
    min-height: 300px;
    min-width: 400px;
    color: #333333;
    font-size: 15px;
    background-color: white !important;
}

.popup-win .header {
    height: 40px;
    position: relative;
    background-color: #2e3f58;
    color: #e8f1ff;
    text-transform: uppercase;
    display: flex;
    display: -ms-flexbox;
    flex-direction: column;
    -ms-flex-direction: column;
    justify-content: center;
    -ms-flex-pack: center;
    padding-left: 20px;
}

.popup-win .content {
    padding: 20px;
    word-break: break-word;
} 

.popup-win .content .title{
    color: #3474c5;
} 
.popup-win .content .subTitle{
    padding: 5px 0px;
    font-size: 13px;
} 

.popup-win .content a {
    color: #333333;
} 

.popup-win .content a:hover {
  text-decoration: underline;
} 

.popup-win a.blue {
    display: inline-block;
    font-size: 15px;
    color: #3594FF;
}

.popup-win .buttons {
    position: absolute;
    bottom: 0px;
    height: 55px;
    width: 100%;
    border-top: 1px solid #e0e4e8;
    display: flex;
    display: -ms-flexbox;
    justify-content: flex-end;
    -ms-flex-pack: end;
    align-items: center;
    -ms-flex-align: center;
}

.popup-win .buttons button{
    margin-right: 20px;
}


.msg-win .popup-win {
    min-height: 200px !important;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.msg-win .mfp-content {
    width: 460px !important;
    height: 200px !important;
    background-color: white !important;
}


.msg-win.error-win .header {
    background-color: #F24E4E;
    color: white;
}

.msg-win.warning-win .header {
    background-color: #FFD546;
    color: #333333;
}

.msg-win.warning-win .mfp-close {
    color: #333333 !important;
}

.msg-win.inform-win .header {
    background-color: #B1DBFF;
    color: #333333;
}

/*------------------------ animations ----------------------------------*/

@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  45% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0.7; }
  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }
@keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  45% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0.7; }
  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

.pulse-balls {
    padding-top: 25px;
}

.pulse-balls > div:nth-child(1) {
  -webkit-animation: scale 1.4s -0.15s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: scale 1.4s -0.30s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  }

.pulse-balls > div:nth-child(2) {
  -webkit-animation: scale 1.4s -0.15s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: scale 1.4s -0.15s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  }

.pulse-balls > div:nth-child(3) {
  -webkit-animation: scale 1.4s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: scale 1.4s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  }

.pulse-balls > div {
  background-color: #e45785;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  margin: 5px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  }  
  /*------------------------ bits of css ----------------------------------*/
  .display-flex {
	  display: flex;
	  display: -ms-flexbox;
}

.justify-center {
	justify-content: center;
	-webkit-justify-content: center;
}

.justify-space-between {
	justify-content: space-between;
	-ms-flex-pack: justify;
}

.align-center {
	align-items: center;
	-ms-flex-align: center;
}

.overflow-ellipsis{
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis;
}
body {
	min-height: auto;
	min-width: auto;
}

body.custom-size{
	min-width: 900px;
    min-height: 600px;  	
}

.wrapper {
	display: flex; 
	display: -ms-flexbox;
	align-items: center; 
	-ms-flex-align: center; 
	justify-content: center; 
	-ms-flex-pack: center; 
	height: 100%;
}

.login-window {
	display: flex;  
	display: -ms-flexbox; 
	-ms-flexbox-display: flex;
	box-shadow: 2px 2px 5px #d1d1d1;
}

.left-area {
	background-color: #171f2c; 
	width: 335px; 
	color: white; 
	border: 1px solid #191e24; 
	position: relative;
}

.mobile-logo {
	margin-top: 75px;
	text-align: center;
}

.mobile-logo .portal-logo {
	width: 130px;
	height: 75px;
	margin: 0px auto 0px auto;
	background: url(/includes/images/mobile_logo.png) -130px center no-repeat;
}

.mobile-logo .portal-name{
	padding-top: 20px;
	font-weight: 300;
	font-size: 18px;
}

.mobile-logo .portal-name b { 
	font-weight: 600;
}

.bottom-cp-logo {
	position: absolute; 
	bottom: 30px; 
	width: 100%; 
	text-align: center;
}

.bottom-cp-logo img {
	height: 35px;
}

.right-area {
	min-height: 345px;
	width: 380px; 
	background-color: #f7f7f7; 
	border: 1px solid #d1d1d1;
	display:flex; /* fix IE's bug with min-height in flex div*/
	display: -ms-flexbox;
}


.right-area .snx-error-msg {
	margin: 20px;
	height: 380px;
	color: red;
	position: relative;
}

.right-area .snx-error-msg .snx-try-image{
	text-align: center;
    margin-top: 25px;
}

.right-area .snx-error-msg img{
	border: 1px solid red;
}

.right-area .snx-error-msg .button-green {
	position: absolute;
    bottom: 0px;
    right: 0px;
}

.activate-login,
.multi-challenge-container {
	font-size: 13px;
}

.activate-login-option:first-child {
	margin: 15px 0px 0px 15px;
}

.activate-login-option:nth-child(2) {
	margin: 7px 0px 0px 15px;
}

.activate-login-option input,
.activate-login-option label span{
	cursor: pointer;
}

.error-msg-div {
	margin-bottom: 15px;
}

.login-container {
	margin: 20px 30px;
	min-height: 305px;
	width: 320px;
	display: flex;
	display: -ms-flexbox;
	flex-direction: column;
	-ms-flex-direction: column;
	justify-content: space-between;
	-ms-flex-pack: justify;
}

.login-form-buttons {
	display: flex;
	display: -ms-flexbox;
	justify-content: space-between;	
	-ms-flex-pack: justify;	
	align-items: center;
	-ms-flex-align: center;
}

.continue-cert-auth {
	font-size: 12px;
	width: 180px;	
}

.continue-cert-auth a {
	display: none;
}

.ics-expired #buttons {
	text-align: right;
} 
 
.input-label {
	font-size: 14px;
	font-size: 13px;
	font-weight: 600;
}

.inputLabelDisabled
{
	color: gray;
}

.login-option-row{
	width: 100%;
	/*display: table;*/
	margin-bottom: 15px;
}

.login-option-row label{
}

.login-option-row select{
	width: 100%;
	margin-top: 5px;
}

.sign-in-type
{
	font-size: 12px;
	font-weight: bold;
}

.sign-in-type-dis
{
	font-size: 12px;
	font-weight: bold;
	color: gray;
}

.credentials-radio,
.certificate-radio,
.launch-sws-checkbox
{
	width: 100%;
	display: table;
	margin-top: 10px;
}

.credentials-radio div,
.certificate-radio div ,
.launch-sws-checkbox div
{
	display: table-cell;
	vertical-align: top;
}

.credentials-radio div:first-child,
.certificate-radio div:first-child ,
.launch-sws-checkbox div:first-child
{
	width: 22px;
}

.credentials-radio label,
.certificate-radio label,
.launch-sws-checkbox label, 
.credentials-radio input,
.certificate-radio input,
.launch-sws-checkbox input
{
	cursor: pointer;
}

input[type="radio"],  
input[type="checkbox"] { 
    margin: 3px 3px 0px 0px;/* fix Chrome default values*/
}

.login-input
{
	font-size: 12px;
}

.login-input-disabled
{
	background-color: #D4D0C8;
}

.login-options-hidden
{
	display: none;
}

.login-input.login-input-margin-left {
	margin-left: 21px;
}

.user-name-input-id,
.pin-text-input-id,
.pass-name-input-id
{
	margin-top: 10px;
	position: relative;
}

.user-name-input-id input,
.pin-text-input-id input,
.pass-name-input-id input
{
	padding-left: 28px;
	font-size: 14px;
	height: 30px;
	width: 100%;
}

.user-name-input-id .icon,
.pin-text-input-id .icon,
.pass-name-input-id .icon {
	position: absolute;
    width: 16px;
    height: 16px;
    background: url(/Login/images/login_icons.png);
	top: 7px;
	left: 7px;
}

.user-name-input-id .icon {
	background-position: 0px 0px;
}

.pin-text-input-id .icon {
	background-position: 32px 0px;
}

.pass-name-input-id .icon {
	background-position: 16px 0px;
	
}
.login-inputLeftMargin
{
	width: 335px;
	margin-left:25px;
}

.sws-checkbox-text {
	color : #1C49B2;
	margin-top: 10px;
    display: inline-block;
}

/* Loading animation*/

.loading-animation {
  margin: 100px auto 0;
  width: 70px;
  text-align: center;
}

.loading-animation > div {
  width: 18px;
  height: 18px;
  background-color: #f44f81;
  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.loading-animation .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.loading-animation .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0) }
  40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
  0%, 80%, 100% { 
    -webkit-transform: scale(0);
    transform: scale(0);
  } 40% { 
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
  }
}

/*------------------- Legal Banner --------------------------*/
.legal-banner {
	margin: 50px auto 0px auto; 
	text-align: center; 
	width: 230px; 
	background-color: lightgray; 
	border: 1px solid grey; 
	font-size: 12px; 
	color:#171f2c;
	max-height: 200px;
	overflow-y: auto;
}

/*------------------- Common warning window properties --------------------------*/

.agent-notice-win .message-area,
.sws-warning-win .message-area {
	padding-left: 15px;
	padding-top: 0px;
	width: 450px;
}

.agent-notice-win .message-head,
.sws-warning-win .message-head {
	color: #2e3f58;
	font-size: 18px;
}

.agent-notice-win .message-body,
.sws-warning-win .message-body {
	font-size: 14px; 
	padding-top: 10px;
}

.sws-warning-win .icon,
.agent-notice-win .icon  {
	width: 44px;
    height: 40px;
    display: inline-block;
    background: url(../../includes/images/common-icons.png) no-repeat;
}

.agent-notice-win .icon  {
	width: 40px;
}

.agent-notice-win .content{
	flex-direction: row !important;
	align-items: flex-start !important;
}


/*------------------- Get/Update Ajax CShell --------------------------*/
.info-line {
	width: 100%;
	background-color: #b1dcff; 
	color: #333333; 
	height: 30px; 
	font-size: 13px;  
	font-weight: 600; 
	display: flex; 
	display: -ms-flexbox;
	align-items: center; 
	-ms-flex-align: center;
	justify-content: center;
	-ms-flex-pack: center;
}

.info-icon{
	width: 16px;
	height: 16px;
	display: inline-block;
	background: url(../../includes/images/common-icons.png) no-repeat;
	background-position: 0px -23px;	
}

ul.instruction{
  counter-reset: myCounter;
}

ul.instruction li{
  list-style: none;
}

ul.instruction li:before {
  counter-increment: myCounter;
  content:counter(myCounter);
  color: white;
  background: #2e3f58;
  display: inline-block;
  text-align: center;
  margin: 5px 10px;
  line-height: 34px;
  width: 34px;
  height: 34px;
  border-radius: 17px;
  font-weight: 600;
}

.agent-notice-win .mfp-content {
	width:  545px !important;
	height: 300px !important;
	    background-color: white !important;
}

.agent-notice-win .icon {
    background-position: 0px -48px;
}



/*------------------- Get/Update Ajax CShell --------------------------*/

body.cshell-install-page,
body.cshell-update-page {
	min-height: 500px;
}

.cshell-install-page .content,
.cshell-update-page .content {
	display: flex; 
	display: -ms-flexbox; 
	flex-direction: column; 
	-ms-flex-direction: column; 
	align-items: center; 
	-ms-flex-align: center; 
	font-size: 15px;
}

.cshell-install-page .main-header,
.cshell-update-page .main-header{
	position: relative;
}

.cshell-install-page .portal-logo,
.cshell-update-page .portal-logo{
	width: 130px;
	height: 75px;
	background: url(/includes/images/mobile_logo.png) 0px bottom no-repeat; padding-top: 65px;
}

.cshell-install-page .title,
.cshell-update-page .title {
	color: #2e3f58; 
	font-weight: 400; 
	font-size: 35px; 
	padding-top: 25px;
}

.cshell-update-page .message {
	padding-top: 25px; 
	text-align: center;
}
/*-------------------  SWS pages --------------------------*/

.sws-launch-page .page-content {
	padding-top: 10%;
	display: flex; 
	display: -ms-flexbox; 
	flex-direction: column; 
	-ms-flex-direction: column; 
	align-items: center; 
	-ms-flex-align: center; 
	font-size: 15px;
}

.sws-launch-page .title {
	font-weight: 200; 
	font-size: 30px; 
	padding-top: 25px; 
	text-transform: uppercase;
}

.sws-launch-page .message-small-bold {
	font-size: 14px;  
	font-weight: 600; 
	padding-top: 20px;
	text-align: center;
}

.sws-launch-page .message {
	padding-top: 20px;
	text-align: center;
}

.sws-warning-win .mfp-content {
	width:  500px !important;
	height: 250px !important;
	background-color: white !important;
}

.sws-warning-win .icon {
    background-position: -40px -48px;
}


.sws-launch-page .page-content .icon{
	width: 64px;
	height: 64px;
	background: url(/includes/images/common-icons.png) 0px -88px no-repeat; 
}

#enrollmentForm {
	margin: 0px;
}

#enrollmentForm .title {
	font-size: 22px; 
	text-transform: uppercase;
}

#enrollmentForm .message {
	text-transform: none;  
	font-size: 16px;
	padding-top: 20px;
}


/*-------------------  truted sites page --------------------------*/
.trusted-sites .main-header {
	position: relative;
}

.trusted-sites .wrapper{
	height: auto;
	font-size: 14px;
}

.trusted-sites .content{
	width: 855px;
}

.trusted-sites .error-msg{
	font-size: 16px;
	font-weight: 600;
	padding: 30px 0px;
}

.trusted-sites .instruction{
	margin: 0px;
	padding: 0px;
}

.trusted-sites .instruction li{
	display: flex;
    padding: 15px 0px;
    border-bottom: 1px dotted #cecece;
}

.trusted-sites .instruction li:last-child{
    border-bottom: none;
}

.trusted-sites .instruction .no-image{
	align-items: baseline;
}

.trusted-sites .message{
	width: 460px;
	margin-right: 15px;
}

.trusted-sites .image{
	width: 325px;
	text-align: left;
}

.trusted-sites footer{
	position: relative;
	margin: 15px 0px;
}
/*-------------------  multi-challenge page --------------------------*/
.multi-challenge-page{
	min-width: 880px;
    min-height: 470px;
}

.multi-challenge-container a {
	font-size: 12px;
}

.multi-challenge-container a:hover {
	text-decoration: underline;
}

.multi-challenge-container .resend-link{
	text-align: right;
	padding-top: 7px;
}


.multi-challenge-container .error-msg-div{
	padding-top: 15px;
}

/*------------------- CAPTCHA --------------------------*/

.input-label.captcha-msg {
	margin-top: 15px;
    text-align: center;
}

.loading-animation {
	margin: 15px auto 0px auto;
}

.reCaptcha-div {
	margin: 10px auto 0px auto;
	height: 78px;
	width: 304px;
}

.reCaptcha-loading-div {
	display: none;
	width: 97%;
}


/*------------------- CAPTCHA --------------------------*/

/*------------------- Image Based RADIUS --------------------------*/
.image-based-radius-area{
	display: none; 
	align-items: center; 
	justify-content: center; 
	margin: 15px auto 0px auto; 
	width: 212px; 
	height: 212px;
}

.image-based-radius-div{
	display: none; 
	flex-shrink: 0px;
	width: 100%;
}

/*------------------- Image Based RADIUS --------------------------*/
