body {
     font-family: 'Open Sans', sans-serif;
     border-top: 70px;
}
.container-fluid {
     padding: 0;
}
.RegistrationHeader {
     background-color: #fff;
     border: 1px solid #ddd;
     border-radius: 4px;
}
.EventRegistration-login {
     padding-right: 40px;
}
.EventRegistration .panel-default>.panel-heading {
     background-color: #fff;
     background-image: none;
     border-color: #fff;
     padding: 0 15px;
}
.EventRegistration-Accountlogin {
     border-left: 1px solid #d3d3d3;
     padding-left: 40px;
}
.EventRegistration .btn {
     padding: 7px 15px;
}
.EventRegistration #regSponsors .btn,
.EventRegistration #regTypes .btn {
    padding: 1px 5px;
}
.EventRegistration .table>thead>tr>th,
.EventRegistration .table>thead>tr>td,
.EventRegistration .table>tbody>tr:nth-child(odd)>th,
.EventRegistration #regTypes .table>tbody>tr:nth-child(odd)>td {
     background-color: #fff;
}
.EventRegistration .table>tbody>tr:nth-child(odd)>td {
     background-color: #fff;
}
.EventRegistration [name="attendees"] .table>tbody>tr:nth-child(odd)>td {
     background-color: #f9f9f9;
}
.EventRegistration .table>tbody>tr>td {
     border: 0;
}
.EventRegistration .btn.checkbox {
     padding: 0 5px;
     background-color: transparent;
}
.EventRegistration #submitForm {
     max-width: 225px;
     margin: 0 auto;
     width: 100%;
     height: 34px;
     padding: 6px 12px;
     font-size: 14px;
     line-height: 1.42857143;
     background-image: none;
     border: 0;
     border-radius: 4px;
     color: #fff;
}
.EventRegistration .col-sm-12.recaptcha>div>div>div {
     margin: 0 auto;
}
.EventRegistration input[type=number].no-spinner,
.EventRegistration input[type=number] {
     opacity: 1;
     padding: 4px;
}
.EventRegistration .panel-body {
     padding: 15px 40px;
}
.EventRegistration .step3 .panel-body {
     padding: 15px;
}
.EventRegistration [name="attendee"] .vertical-center+.vertical-center {
     padding-left: 25px
}
.EventRegistration .EventRegistration-info {
     padding-right: 30px;
}
.EventRegistration-info h4 {
     margin-top: 30px;
}
.RegistrationHeader {
     margin-bottom: 20px;
     margin-top: 50px;
     padding: 50px 25px;
     position: relative;
}
.EventRegistration-top-border {
     width: 100%;
     height: 70px
}
@media (min-width:768px) {
     .RegistrationHeader {
          display: flex;
          justify-content: center;
     }
     .EventRegistration-logo {
          flex: 1;
          margin-top: 100px;
     }
     .EventRegistration .EventRegistration-info {
          border-right: 1px solid #d4d4d4;
     }
     .EventRegistration h1 {
          margin-top: 0;
     }
}
@media (max-width:768px) {
     .EventRegistration .panel {
          margin: 15px 0;
     }
     .EventRegistration .RegistrationHeader {
          margin: 15px 0;
     }
     .EventRegistration .table-condensed>tbody>tr>td {
          padding: 0;
     }
}
@media (max-width:500px) {
     .container {
          padding-right: 5px;
          padding-left: 5px;
     }
     .EventRegistration .col-np {
          padding: 0
     }
     .EventRegistration .td-center {
          text-align: center
     }
     .EventRegistration abbr[title="Quantity"] {
          display: block;
          text-align: center;
          border-bottom: 0;
     }
}
@media (max-width:400px) {
     .EventRegistration .panel-body {
          padding: 8px;
     }
     .EventRegistration-login .col-xs-10 {
          width: 75%;
     }
     .RegistrationHeader {
          padding: 15px 0;
     }
     .EventRegistration td.td-center input {
          width: 35px !important
     }
     .EventRegistration tbody[name="attendees"] div[class*="col"] {
          padding-left: 5px;
          padding-right: 5px;
     }
}
.requiredField {
     color: red
}
.maxlengthField {
    color: red
}
.modal {
    display: none;
    /* Hidden by default */
    position: fixed;
    /* Stay in place */
    z-index: 1000;
    /* Sit on top */
    padding-top: 100px;
    /* Location of the box */
    left: 0;
    top: 0;
    width: 100%;
    /* Full width */
    height: 100%;
    /* Full height */
    overflow: auto;
    /* Enable scroll if needed */
    background-color: rgb(0, 0, 0);
    /* Fallback color */
    background-color: rgba(0, 0, 0, 0.4);
    /* Black w/ opacity */
}
/* Modal Content */
.modal-content {
     background-color: #fefefe;
     margin: auto;
     padding: 20px;
     border: 1px solid #888;
     width: 50%;
     overflow: auto;
}
.price-discount del {
     color: gray;
     text-decoration: none;
     position: relative;
}
.price-discount del:before {
     content: " ";
     display: block;
     width: 100%;
     border-top: 1.2px solid gray;
     border-bottom: 1.2px solid gray;
     height: 6px;
     position: absolute;
     bottom: 6px;
     left: 0;
     transform: rotate(-11deg);
}
.price-discount ins {
     font-size: 80px;
     font-weight: 100;
     text-decoration: none;
     padding: 1em 1em 1em .5em;
     font-size: 14px;
}
.currency {
     font-size: 14px;
}
.sponsor-item {
     margin-bottom: 25px;
     margin-left: 0;
}
.RegistrationHeader .EventRegistration-info {
    border-right: 1px solid #d4d4d4;
}
.event-sponsor-wrap a:hover {
	opacity: .8;
	text-decoration: none
}
.event-sponsor-wrap img {
	background-color: #fff;
}
.event-sponsor-wrap .col-sm-4.col-md-3 {
	padding-left: 0;
}
.event-sponsor-wrap.name-on.logo-on > .col-sm-4.col-md-3 > div {
	border: 1px solid #ccc;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	padding: 0;
	margin: 0;
}
.event-sponsor-wrap.logo-on img {
	max-height: 200px;
	margin: auto;
}
.event-sponsor-wrap.name-on.logo-on img {
	padding: 1rem
}
.event-sponsor-wrap.name-on:not(.logo-on) .col-sm-4.col-md-3 {
	width: 100%;
}
.event-sponsor-wrap {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
}
.event-sponsor-wrap.name-on.logo-on > div {
	-ms-flex: 1 1 50%;
	flex: 1 1 50%;
	max-width: 50%;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 30px;
}
.event-sponsor-wrap.name-on.logo-on .col-sm-4.col-md-3 > div {
	-ms-flex-direction: column;
	flex-direction: column;
	position: relative;
    justify-content: center;
}
.event-sponsor-wrap.name-on.logo-on .col-sm-4.col-md-3 > div:before {
	position: absolute;
	top: 32%;
	-ms-transform: translateY(-32%);
	transform: translateY(-32%);
	color: #afabab;
	width: 100%;
	text-align: center;
}
.event-sponsor-wrap.name-on.logo-on .col-sm-4.col-md-3 > div > a {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
    justify-content: center;
}
.event-sponsor-wrap.name-on.logo-on .col-sm-4.col-md-3 > div > a span {
	display: -ms-flexbox;
	display: flex;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	-ms-flex-direction: column;
	flex-direction: column;
}
.event-sponsor-wrap.name-on.logo-on .event-sponsor-name {
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	text-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	padding: 15px;
	width: 100%;
	align-self: flex-end;
}
.event-sponsor-wrap.name-on.logo-on .col-sm-4.col-md-3 > div > span {
	-ms-flex-pack: distribute;
	justify-content: space-around;
	display: -ms-flexbox;
	display: flex;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	min-height: 200px
}
.venu-image.show-map .hide-map {
    display:inline;
}
.venu-image.show-map .venu-map {
    display: block;
}
.venu-image .venu-map,
.venu-image.show-map .show-map,
.venu-image .hide-map {
    display: none;
}

@media (min-width: 768px) {
    .event-sponsor-wrap.name-on.logo-on > div {
	    -ms-flex: 1 1 33%;
	    flex: 1 1 33%;
	    max-width: 33%;
    }
    .EventRegistration table.attendee-table {
        table-layout: fixed;
    }
}
@media (min-width: 1200px) {
.event-sponsor-wrap.name-on.logo-on > div {
	-ms-flex: 1 1 25%;
	flex: 1 1 25%;
	max-width: 25%;
}
}
.modal {
    z-index: 10001;
}


.EventRegistration .text-muted {
    color: #667;
}

.ie-warning {
    background-color: lightgray;
    width: 100%;
    padding: 10px;
    text-align: center;
}

h5.sso-separator {
    width: 45%;
    text-align: center;
    border-bottom: 1px solid lightgray;
    line-height: 0.1em;
    margin: 22px 0 20px 5px;
}

h5.sso-separator span {
    background: #fff;
    padding: 0 10px;
}

.sponsor-image-placeholder {
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 16px;
    color: #555;
    position: relative;
    top: 50%;
    text-align: center;
}

.EventRegistration .container .loading-spinner {
    display:none;
    text-align: center;
}
.EventRegistration .container .loading-spinner i {
    position: absolute;
    z-index: 1;
    top: 50px;
}
.EventRegistration .event-information {
    position:relative;
}
.EventRegistration .container.event-loading .event-information {
    opacity: 0.5;
    pointer-events: none;
}
.EventRegistration .container.event-loading .loading-spinner {
    display: block;
}
.EventRegistration .container.event-loading .hide-initially {
    display: none !important;
}

.EventRegistration .container.event-closed .event-information {
    display: none !important;
}

.regtype-description-container .regtype-description {
    margin-left: 15px;
}

.regtype-description-container .regtype-description.truncate {
    overflow: hidden;
    max-height: 20px;
    -webkit-mask-image: linear-gradient(45deg,#000 80%,transparent);
}

.regtype-description-container .regtype-description.show-full {
    overflow:visible;
    max-height: unset;
    -webkit-mask-image: unset;
}

.regtype-description-container .regtype-description-btn {
    font-size: 10px;
    padding: 6px 3px;
    vertical-align: top;
    position: absolute;
    cursor: pointer; 
}

/* Event Registration Refresh */

.initial-choice [value="number:-9999"],
.attendee-registration.attendee-chosen .initial-choice,
.attendee-registration .contact-info,
.attendee-registration .contact-select {
    display: none;
}

.attendee-registration.attendee-chosen .contact-info {
    display: block;
}

.attendee-registration.attendee-reserved div.reserved-info {
    opacity: 0.75;
    pointer-events: none;
}

.attendee-registration.attendee-reserved .first-name::before {
    display: block;
    position: absolute;
    content: 'Reserved';
    bottom: 7px;
    left: 23px;
}

.attendee-registration.attendee-reserved .last-name::before {
    display: block;
    position: absolute;
    content: 'Attendee';
    bottom: 7px;
    left: 23px;
}

.event-reg-refresh h3 {
    display: inline-block;
}

.event-reg-refresh h4.reg-type {
    font-size: 20px;
}

.event-reg-refresh h4.reg-type-count {
    font-size: 16px;
    font-weight: 600;
}

.event-reg-refresh h5 {
    font-weight: 600;
}

.event-reg-refresh .btn-edit-section {
    margin-top: 17px;
}

.event-reg-refresh .login-section,
.event-reg-refresh .registration-type-section,
.event-reg-refresh .registrant-info-section,
.event-reg-refresh .additional-purchases-section,
.event-reg-refresh .payment-info-section {
    background-color: #ffffff;
    margin-bottom: 20px;
    padding: 0px 20px 10px 20px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.event-reg-refresh .login-section .panel,
.event-reg-refresh .registration-type-section .panel,
.event-reg-refresh .registrant-info-section .panel,
.event-reg-refresh .additional-purchases-section .panel,
.event-reg-refresh .payment-info-section .panel{
    margin: 20px;

}

.event-reg-refresh .registration-type .registrant-info:last-child {
    margin-top: 20px;
    margin-bottom: 20px;
}


.event-reg-refresh .registration-info-body {
    padding: 5px 15px;
}

.event-reg-refresh .registrant-info {
    padding: 10px;
    background-color: #f9f9f9;
    margin-bottom: 10px;
}
.event-reg-refresh .terms-conditions {
    max-height: 200px;
    min-height: 30px;
    overflow: auto;
}

.event-reg-refresh .terms-checkbox {
    margin-top: 10px;
}

.event-reg-refresh .reg-type-cf > div {
    min-height: 70px;
}

.event-reg-refresh .promo-code-section h4 {
    display: inline-block;
    margin-right: 10px;
}

/* dynamic ordering for registration options */
/* standard ordering */
.flexible-order {
    display:flex;
    flex-direction: column;
}
.flexible-order > div {
    order: 1;
}
/* ordering for sponsors */
[target-mode="2"] .flexible-order {
    flex-direction: column-reverse;
}
/* the continue button must be last */
[target-mode="2"] .flexible-order .continue-button {
    order: 0;
}

/* hide the edit buttons and detail sections by default */
.event-reg-refresh .registration-step .edit-details,
.event-reg-refresh .registration-step .btn-edit-section{
    display: none;
}

/* gray out headings of non-editable steps */
.event-reg-refresh .registration-step h3 {
    opacity: 50%;
}

/* set opacity of headers to 100% once editable */
.event-reg-refresh .login-section-editable .login-section h3,
.event-reg-refresh .registration-type-section-editable .registration-type-section h3,
.event-reg-refresh .registrant-info-section-editable .registrant-info-section h3,
.event-reg-refresh .additional-purchases-section-editable .additional-purchases-section h3,
.event-reg-refresh .payment-info-section-editable .payment-info-section h3 {
    opacity: 100%;
}

/* hide section details if editable and not in edit state */
.event-reg-refresh .login-section-editable .login-section .edit-details,
.event-reg-refresh .registration-type-section-editable .registration-type-section .edit-details,
.event-reg-refresh .registrant-info-section-editable .registrant-info-section .edit-details,
.event-reg-refresh .additional-purchases-section-editable .additional-purchases-section .edit-details,
.event-reg-refresh .payment-info-section-editable .payment-info-section .edit-details,
/* hide edit buttons when in edit mode */
.event-reg-refresh .login-section-editable.login-section-edit .login-section .btn-edit-section,
.event-reg-refresh .registration-type-section-editable.registration-type-section-edit .registration-type-section .btn-edit-section,
.event-reg-refresh .registrant-info-section-editable.registrant-info-section-edit .registrant-info-section .btn-edit-section,
.event-reg-refresh .additional-purchases-section-editable.additional-purchases-section-edit .additional-purchases-section .btn-edit-section,
.event-reg-refresh .payment-info-section-editable.payment-info-section-edit .payment-info-section .btn-edit-section {
    display: none;
}

/* show edit buttons if editable */
.event-reg-refresh .login-section-editable .login-section .btn-edit-section,
.event-reg-refresh .registration-type-section-editable .registration-type-section .btn-edit-section,
.event-reg-refresh .registrant-info-section-editable .registrant-info-section .btn-edit-section,
.event-reg-refresh .additional-purchases-section-editable .additional-purchases-section .btn-edit-section,
.event-reg-refresh .payment-info-section-editable .payment-info-section .btn-edit-section,
/* show section details if in edit mode */
.event-reg-refresh .login-section-edit .login-section .edit-details,
.event-reg-refresh .additional-purchases-section-edit .additional-purchases-section .edit-details,
.event-reg-refresh .payment-info-section-edit .payment-info-section .edit-details {
    display: block;
}
/* show section details if in edit mode (flex rows) */
.event-reg-refresh .registration-type-section-edit .registration-type-section .edit-details,
.event-reg-refresh .registrant-info-section-edit .registrant-info-section .edit-details {
    display:flex;
}

.event-reg-refresh .registration-type-section .reg-message-section {
    display: none;
}

.event-reg-refresh .registration-type-section-edit .reg-message-section {
    display: block;
}

.event-reg-refresh .reg-message-section .warning-message i {
    color: #F4B53F;
}

.event-reg-refresh .reg-message-section .alert-message i {
    color: #D12C3A;
}

.event-reg-refresh .attendee-no-show-msg {
    margin-bottom: 5px;
}
.event-reg-refresh .attendee-no-show-msg i{
    margin-right: 5px;
    color: #D12C3A;
}

.hide-incomplete {
    display: none;
}

.login-info-complete .unhide-complete {
    display: block;
}

.event-reg-refresh .btn[disabled] {
    opacity: 0.4;
}
.event-reg-refresh .reg-type-name {
    font-size:16px;
}
.event-reg-refresh .regtype-remaining {
    font-size: 13px;
    margin-top: 5px;
}
.event-reg-refresh .regtype-remaining span {
    font-weight: 600;
}
.event-reg-refresh .inc-attendee-remaining {
    font-size: 13px;
    margin-left: 5px;
}
.event-reg-refresh .badge, .event-reg-refresh .panel-heading .badge {
    display: inline-block;
    min-width: 10px;
    padding: 3px 7px;
    font-size: 13px;
    font-weight: normal;
    line-height: 1;
    color: black;
    text-align: center;
    white-space: nowrap;
    vertical-align: unset;
    background-color: transparent;
    border-radius: 10px;
    background-color: #EDEDED;
}
.event-reg-refresh .badge.border-badge {
    border: 1px solid black;
}
.event-reg-refresh .EventRegistration-Accountlogin {
    border-left: none;
    padding-left: 0;
}
.event-reg-refresh .reg-waitlist-info {
    display: inline-block;
    width: 55%;
}
.event-reg-refresh .overall-limit-badge {
    display: inline-block;
    text-align: center;
    width: 43%;
    float: right;
    padding-right: 40px;
}
.event-reg-refresh .reg-waitlist-info h5 {
    display: inline;
}
.event-reg-refresh .alert.sold-out {
    background-image: -webkit-linear-gradient(top, #F8FBFF 0%, #E5EAF0 100%);
    background-image: -o-linear-gradient(top, #F8FBFF 0%, #E5EAF0 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, from(#F8FBFF), to(#E5EAF0));
    background-image: linear-gradient(to bottom, #F8FBFF 0%, #E5EAF0 100%);
    background-repeat: repeat-x;
    border-color: #dddddd;
    padding: 5px;
    margin-bottom: 0;
    width: 20%;
    position: relative;
    left: 40%;
    text-align: center;
}