/* This file contains BASE & LAYOUT styling necessary for functional website without any styling */
/*

This file is structured according to SMACSS approach.
See http://smacss.com/book/categorizing

All styles are on top of lib/bootstrap.css
*/

/* IMPORTANT: By mobile-first approach, phone view sets the base. If required, phone styles can be redefined for larger screen sizes below.*/


/* BASE */

.html, body {
  position: relative;
  height: auto;
}

.skipToMainContentHidden{
  position: absolute;
  top: -9001px ;
}

.skipToMainContentVisible{
  position: relative;
  margin-left : 15px;
  top: 1px;	
}

.skipToMainContainerVisible{
  float: left;
}

#skip-to-main-container{
    text-align: left;
}

label:after, fieldset.accessibility legend:after, .labelContent:after, .addressType:after, .telephoneType:after, .shoppingCartLabel:after, .labelWithColon:after, .bundleSectionLabel:after, .readonlyFieldLabel:after, .sectionTransferLabel:after {
  content: ":"; 
}

.labelSpanStyle:after{
    content: ":";
}

.labelSpanStyle.flexSpan, .shoppingCartLabel.flexSpan {
    display: flex
}

.has-float-label label:after,
.has-float-label .labelContent:after,
.has-float-label .labelWithColon:after,
.has-float-label .labelSpanStyle:after {
    content: "";
}

.fr_CA .has-float-label label:after,
.fr_CA .has-float-label .labelContent:after,
.fr_CA .has-float-label .labelWithColon:after,
.fr_CA .has-float-label .labelSpanStyle:after {
    content: "";
}


.fr_CA label:after, .fr_CA fieldset.accessibility legend:after, .fr_CA .labelContent:after, .fr_CA .addressType:after, .fr_CA .telephoneType:after, .fr_CA .shoppingCartLabel:after, .fr_CA .labelWithColon:after,
.fr_CA .bundleSectionLabel:after, .fr_CA .readonlyFieldLabel:after, .fr_CA .labelSpanStyle:after {
    content: "\00a0:";
}

.ms-drop ul > li label:after,
#appInstanceApplicationContent .labelContent:after,
#appInstanceApplicationContent label:after,
#appInstanceApplicationContent .labelSpanStyle:after,
#appInstanceApplicationContent fieldset.accessibility legend:after,
#paymentMarketingQuestionContainer .labelContent:after,
#paymentMarketingQuestionContainer label:after,
#paymentMarketingQuestionContainer .labelSpanStyle:after,
#paymentMarketingQuestionContainer fieldset.accessibility legend:after,
#requestInformationMarkettingQuestions .labelContent:after,
#requestInformationMarkettingQuestions label:after,
#requestInformationMarkettingQuestions .labelSpanStyle:after,
#requestInformationMarkettingQuestions fieldset.accessibility legend:after,
.checkbox span.labelContent:after,
.checkbox label:after, .checkbox label.labelContent:after, .radio label:after, .radio label.labelContent:after, 
.noColonLabel:after, .noColonLabel .labelContent:after, fieldset.accessibility legend.noColonLabel:after,
fieldset.accessibility legend.noColonLegend:after {
  content: ""; 
}

.fr_CA .ms-drop ul > li label:after,
.fr_CA #appInstanceApplicationContent .labelContent:after,
.fr_CA #appInstanceApplicationContent label:after,
.fr_CA #appInstanceApplicationContent .labelSpanStyle:after,
.fr_CA #appInstanceApplicationContent fieldset.accessibility legend:after,
.fr_CA #paymentMarketingQuestionContainer .labelContent:after,
.fr_CA #paymentMarketingQuestionContainer label:after,
.fr_CA #paymentMarketingQuestionContainer .labelSpanStyle:after,
.fr_CA #paymentMarketingQuestionContainer fieldset.accessibility legend:after,
.fr_CA #requestInformationMarkettingQuestions .labelContent:after,
.fr_CA #requestInformationMarkettingQuestions label:after,
.fr_CA #requestInformationMarkettingQuestions .labelSpanStyle:after,
.fr_CA #requestInformationMarkettingQuestions fieldset.accessibility legend:after,
.fr_CA .checkbox span.labelContent:after,
.fr_CA .checkbox label:after, .fr_CA .checkbox label.labelContent:after, .fr_CA .radio label:after, .fr_CA .radio label.labelContent:after,
.fr_CA .noColonLabel:after, .fr_CA .noColonLabel .labelContent:after, .fr_CA fieldset.accessibility legend.noColonLabel:after,
.fr_CA fieldset.accessibility legend.noColonLegend:after {
  content: "";
}

.labelWithSeparator:after {
  content: " | "; 
}

#appInstanceApplicationContent .requiredFieldLabel:after,
.fr_CA #appInstanceApplicationContent .requiredFieldLabel:after,
#appInstanceApplicationContent fieldset.accessibility legend.requiredFieldLabel:after,
.fr_CA #appInstanceApplicationContent fieldset.accessibility legend.requiredFieldLabel:after,
#appInstanceApplicationContent .checkbox label.requiredFieldLabel:after,
.fr_CA #appInstanceApplicationContent .checkbox label.requiredFieldLabel:after,
#appInstanceApplicationContent .radio label.requiredFieldLabel:after,
.fr_CA #appInstanceApplicationContent .radio label.requiredFieldLabel:after,
#paymentMarketingQuestionContainer .requiredFieldLabel:after,
.fr_CA #paymentMarketingQuestionContainer .requiredFieldLabel:after,
#paymentMarketingQuestionContainer fieldset.accessibility legend.requiredFieldLabel:after,
.fr_CA #paymentMarketingQuestionContainer fieldset.accessibility legend.requiredFieldLabel:after,
#paymentMarketingQuestionContainer .checkbox label.requiredFieldLabel:after,
.fr_CA #paymentMarketingQuestionContainer .checkbox label.requiredFieldLabel:after,
#paymentMarketingQuestionContainer .radio label.requiredFieldLabel:after,
.fr_CA #paymentMarketingQuestionContainer .radio label.requiredFieldLabel:after,
#requestInformationMarkettingQuestions .requiredFieldLabel:after,
.fr_CA #requestInformationMarkettingQuestions .requiredFieldLabel:after,
#requestInformationMarkettingQuestions fieldset.accessibility legend.requiredFieldLabel:after,
.fr_CA #requestInformationMarkettingQuestions fieldset.accessibility legend.requiredFieldLabel:after,
#requestInformationMarkettingQuestions .checkbox label.requiredFieldLabel:after,
.fr_CA #requestInformationMarkettingQuestions .checkbox label.requiredFieldLabel:after,
#requestInformationMarkettingQuestions .radio label.requiredFieldLabel:after,
.fr_CA #requestInformationMarkettingQuestions .radio label.requiredFieldLabel:after,
.requiredFieldLabel:after,
.fr_CA .requiredFieldLabel:after,
fieldset.accessibility legend.requiredFieldLabel:after,
.fr_CA fieldset.accessibility legend.requiredFieldLabel:after,
.checkbox label.requiredFieldLabel:after,
.fr_CA .checkbox label.requiredFieldLabel:after,
.radio label.requiredFieldLabel:after,
.fr_CA .radio label.requiredFieldLabel:after,
.has-float-label .requiredFieldLabel:after,
.fr_CA .has-float-label .requiredFieldLabel:after
{
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 900;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #B5231D; 
    content: "\f069";
    font-size: 0.5rem;
    vertical-align: 5px;
}

.has-float-label .requiredFieldLabel:after,
.fr_CA .has-float-label .requiredFieldLabel:after{
    top: -0.2em;
    left: auto;
    right: -1em;
    font-size: 50%;
    opacity: 0.8;
}

/* Used to allow a column to wrap on a responsive table */
.table-responsive > .table > tbody > tr > td.wrappedCol,
.table-responsive > .table > thead > tr > th.wrappedCol {
	white-space: normal;
}

/* This class is used to negate the .requiredFieldLabel when we need to remove the required label dynamically in JS.  Simply removing the .requiredFieldLabel class from the label will result in double colons. */
.noRequiredFieldLabel::after {
    content:"" !important;
}

#shoppingCartContent label:after,
#shoppingCartContent .labelSpanStyle:after {
    content: "";
}

.cartContainer {
    padding-top: 10px;
    padding-bottom: 10px;
}

.paymentOptionsContainer, .cartContainer .form-row {
    border-bottom: 1px solid #cccccc;
    margin-bottom: 8px;
    padding-bottom: 10px;
}

.seatReservationLineItem {
    border-top: 1px solid #cccccc;
    margin-top: 8px;
    padding-top: 10px;
}

.cartContainer legend {
    font-size: inherit;
    margin-bottom: inherit;
    border-bottom: none;
}

.paymentOptionsContainer {
    border-top: 1px solid #cccccc;
    margin-top: 8px;
    padding-top: 10px;
}

.cartContainer .subrow {
    border-bottom: none;
    margin-bottom: 8px;
    padding-bottom: 10px;
}

.cartContainer .form-row>.amountCol {
    padding-right:15px;
}
	
.cartHeader, .cartItemName {
    font-size: 14px;
}

.panelSection .panelRow.cartItemOptions {
    padding-left: 20px;
}

.cartItemMemberNameContainer .cartItemMemberName {
    padding-left: 10px;
}

.cartItemOptionOtherFeeAmount {
    display: block;
    padding-left: 20px;
}

.cartItemMemberNameContainer .cartItemMemberNameLabel,
.cartItemMemberNameContainer .cartItemMemberName {
    display: block;
}

#shoppingCartContent .cartItemOptions input{
    vertical-align: sub;
}

.cartItemOptions {
    border-bottom: none;
    padding-bottom: 0px;
    margin-bottom: 0px;
}

.cartItemSeatReservationContainer,
.cartItemFeeGroup {
    margin-bottom: 10px;
}

#paymentsContainer .cartContainerHeader,
#invoicesContainer .cartContainerHeader {
    padding-bottom: 10px;
}

#invoicesByItemPanel .card-title,
#scheduledPaymentsPanel .card-title,
#studentPendingTransactionsPanel .card-title {
    font-size: 0.875rem;
}

.col-auto,
.col-auto.form-control {
    width: auto;
    max-width: none;
}

.feeInfoGroupDiv > .cartItemFeeHeader {
    margin-top: 10px;
}

.cartItemFeeHeader > .shoppingCartAmount {
    vertical-align: bottom;
}

.cartContainer .depositAmount {
    margin-left: 4px;
}

.cartContainer .depositHeader {
    margin-bottom: 5px;
}

.amountCol > .shoppingCartAmount {
    float: right;
}

.label-certificateBadge, .label-courseBadge, .label-otherFeeBadge, .label-programOfferingBadge, .label-programOfferingCourseBadge, .label-bundleCourseBadge, .label-waitListedCourseBadge, .label-waitListedConferenceBadge, .label-soldOutConferenceBadge, .label-courseFeeBadge {
    padding: 0.3rem 0.25rem;
}

.label-certificateBadge, .label-bundleCourseBadge, .label-courseFeeBadge {
    background-color: #59A14F;
}

.label-courseBadge {
    background-color: #4E79A7;
}

.label-waitListedCourseBadge, .label-waitListedConferenceBadge {
    background-color: #E15759;
}

.label-soldOutConferenceBadge {
    background-color: #57606C;
}

.label-otherFeeBadge {
    background-color: #9C755F;
}

.label-programOfferingBadge, .label-programOfferingCourseBadge {
    background-color: #B07AA1;
}

#cartCount {
    background-color: #f89406;
    color: #ffffff;
    font-size: 15px;
    padding: 2px 5px 2px 5px;
    vertical-align: top;
    margin-left: -10px;
    margin-top: -5px;
    position: absolute;
    display: inline;
}

#cartInfo .glyphicon-shopping-cart {
    font-size: 1.75rem;
}

#pageConferenceManageWaitlist #buttonEnrollWaitList {
    float: left;
    margin-right: 0.25rem;
}

.cartCheckoutButton .cartCheckoutLockIcon {
    font-size: 0.875rem;
    padding-top: 2px;
    padding-right: 4px;
    color: #ffffff;
}

.couponCode {
    margin-top: 5px;
}

.couponCode .form-control-sm {
    width: auto;
}

.cartItemPayFull {
    display: inline-block;
    width: 100%;
}

.cartItemPayFull .checkbox,
.cartItemPayDeposit .checkbox {
    margin-top: 0px;
    margin-bottom: 0px;
}

.cartItemPayDeposit {
    display: inline-block;
    width: 100%;
    margin-bottom: 5px;
}

.cartItemSeatReservation, .cartItemDiscountContainer {
    padding-left: 15px;
}

.cartItemSeatReservationSelect, .cartItemDiscountSelect {
    margin-top: 5px;
}

.cartContainer select.form-control-sm {
    max-width: 100%;
}

.cartContainer .cartItemFeaturedImageContainer {
    padding-bottom: 10px;
}

.cartContainer .cartItemFeaturedImage {
    object-fit: contain;
    width: 128px;
    height: 54px;
    border: 1px solid #e0e0e0;
}

.cartContainer .cartItemFeaturedImagePlaceholderText {
    font-size:45px;
    color:#C4C4C4;
    text-align: center;
}

.cartContainer .calendarDownload .glyphicon-calendar {
    color: #3399f3;
}

.cartContainer .calendarDownload .calendarLinkText {
    color: #3399f3;
    position: absolute;
    margin: 2px;
}

.savedForLaterBtn {
    margin-right: 5px;
}

#savedForLaterList header {
    border-bottom: 1px solid #cccccc;
    padding-bottom: 5px;
}

#savedForLaterList .sectionHeader {
    background-image: linear-gradient(#ffffff, #eeeeee 50%, #e4e4e4);
    border: 1px solid #d5d5d5;
}

#savedForLaterList .sectionHeader h2 {
    color: #000000;
}

#savedForLaterListBackToTopGlyphicon {
    padding-left: 5px;
    font-size: 1.875rem;
}

#savedForLaterList td {
    vertical-align: middle;
}

#savedForLaterList a {
    font-weight: bold;
}

#savedForLaterList .featuredImage {
    margin-right: 5px;
    height: 75px;
    width: 135px;
}

#backToTopGlyphicon {
    color: #888888;
    font-size: 1.7rem;
    padding: 5px;
    vertical-align: middle;
    top: initial;
    line-height: initial;
}

#footerNav #backToTopContainer .backToTop {
    text-align: center;
}

.backToTop:hover {
    text-decoration: underline;
}

a .form-text:before {
    content: ">>";
}

/* IE x button on text inputs fires no event, resulting in sub-optimal behaviour to the typeahead widget.  Suppress the x button */
input[type=text].typeahead::-ms-clear {
  display: none;
}

div.existingStudentCredentialsContainer {
    margin-bottom: 0px;
}

/* LAYOUT */
.externalPaymentIFrame {
    width: 100%; 
    height: 800px;
}

#externalPaymentWindow.CyberSourceSAPaymentProcessorManager {
    height: 1390px;
    overflow-y: scroll;
}

#externalPaymentWindow.CyberSourceSASOPPaymentProcessorManager {
    height: 350px;
    overflow-y: scroll;
    border: none;
}

/* MODULE */

.readOnlyFormValue {
    display: block;
}

#studentMenu.affix, .scrollSpyMenu.affix {
    position: fixed;
    top: 0;    
    width: inherit;
}

#studentMenu.affix-bottom, .scrollSpyMenu.affix-bottom {
    position: fixed;    
    width: inherit;
}

.portalMenu .nav .nav {
    margin-left: 10px;
}

.desktopPopupDialog {
    display: none;
}

.mobilePopupDialog {
    display: block;
}

.feeDescriptionContainer {
    vertical-align: sub;
}

.feeDescriptionContainer, .variableContentItemOption {
    display: inline;
}

.feeDescriptionContainer label {
    font-weight: normal;
}

.modal img {
    display: block;
    max-width: 100%;
    height: auto;
}


.conferenceModule #selectParticipantPanel .customizableBlockContainer p, 
.conferenceModule #selectedParticipantPanel .customizableBlockContainer p, 
.conferenceModule #selectableAddons .customizableBlockContainer p {
    margin: 0px;
}

.conferenceModule .customizableBlockContainer img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

/* This is for spinning the "loading" icon */
.spin {
    -webkit-animation: spin 2s infinite linear;
    -moz-animation: spin 2s infinite linear;
    -o-animation: spin 2s infinite linear;
    animation: spin 2s infinite linear;
    font-size: 30px; 
}

@-moz-keyframes spin {
    from {
        -moz-transform: rotate(0deg);
  }
  to {
      -moz-transform: rotate(360deg);
  }
}

@-webkit-keyframes spin {
    from {
        -webkit-transform: rotate(0deg);
  }
  to {
      -webkit-transform: rotate(360deg);
  }
}

@keyframes spin {
    from {
        transform: rotate(0deg);
  }
  to {
      transform: rotate(360deg);
  }
}

#ajaxLoadingModal .modal-dialog {
    max-width: none;
    width: 90%;
    height: 90%;
    color: #C0C0C0;
    font-size: 40pt;
}

#ajaxLoadingModal .modal-content {
    height: 100%;
    background-color: transparent;
    border: initial;
    box-shadow: none;
}

#ajaxLoadingModal .modal-content .loadingIndicatorWrapper {
    width: 100%;
    height: 120pt;
    position: absolute;
    top: 50%;
    margin-top: -60pt;
}

#ajaxLoadingModal .modal-content .loadingIndicatorWrapper .spin {
    font-size: 40pt;
}
/* End - spinning the "loading" icon */

.tableGridContainer ul.nav li {
    float: right;
}

.tableGridTabPaneList table>tbody>tr,
.tableGridTabPaneList table>tbody>tr>td {
    border: none;
}

.tableGridTabPaneGrid ul {
    padding-left: 0;
    list-style: none;
    position: relative;
    margin-left: -15px;
}

.tableGridTabPaneGrid ul li {
    float: left;
    width: 25%;
    padding-left: 15px;
    margin-bottom: 30px;
    position: relative;
}

.tableGridTabPaneGrid .hiddenOnTabPaneGrid,
.tableGridTabPaneList .hiddenOnTabPaneList {
    display: none;
}

.catalogSearchResults .tableGridTabPaneList .featuredImage {
    float:left;
    width: 192px;
    height: 78px;
    margin-right: 10px;
    object-fit: contain;
    background-color: white;
}

.catalogSearchResults .tableGridTabPaneGrid .featuredImage {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.catalogSearchResults .tableGridTabPaneGrid .featuredImage.noImage {
    height: 50%;
}

.catalogSearchResults .courseName,
.catalogSearchResults .certificateName {
    display: block;
}

.catalogSearchResults .courseCode,
.catalogSearchResults .courseDescription,
.catalogSearchResults .courseCampuses,
.catalogSearchResults .courseDelivery {
    display: block;
}

.catalogSearchResults .tableGridTabPaneGrid .courseAvailability {
    position: absolute;
    top: 0;
    right: 0;
    padding: 5px;
}

.catalogSearchResults .firstColumn {
    display: flex;
}

.studentEnrollmentHistory .featuredImage {
    display: block;
    float:left;
    margin-right: 10px;
    width: 135px;
    height: 75px;
}

.studentEnrollmentHistory .courseName {
    display: block;
}

.academicHistoryRequest .courseName {
    display: block;
}

.academicHistoryRequest.transfer .courseName {
    text-align: inherit;
}

#paymentInfoContainer > span {
    display: block;
}

/* This is to make video responsive */
.featuredVideo .video {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}
.featuredVideo .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.featuredVideo .video video {
    width: 100%    !important;
    height: auto   !important;
}

.featuredVideo .video object,
.featuredVideo .video embed  {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.sectionMaterial .element:after {
    content: ",";
}

.sectionMaterial .element:last-of-type:after {
    content: "";
}

.sectionMaterial .materialIsbn .elementLabel:after {
    content: ":";
}

.card {
    margin-bottom: 1.25rem;
}

.card-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1rem;
}

.catalog .card table .indent1 {
    margin-left: 20px;
}

.catalog .card table .indent2 {
    margin-left: 40px;
}

.catalog .card table .indent3 {
    margin-left: 60px;
}

.catalog .card table .indent4 {
    margin-left: 80px;
}

#personProfileExistingAddresses .addressType, #personProfileExistingTelephones .telephoneType,
#personProfileExistingAddresses .address, #personProfileExistingTelephones .telephone, #personProfileExistingEmails .email {
    padding-right: 5px;
}

#formLoginExistingEmbedded > .buttons,
#formLoginExistingEmbedded.form-inline > .form-group {
    display: inline-block;
    vertical-align: middle;
}

#formLoginExistingEmbedded > .retrieveCredentialsLinksContainer {
    display: inline-block;
}

#personProfileMainContent .card-header, .clickableDiv {
    cursor: pointer;
}

.modalWithoutHeader {
    border-bottom-style: none;
}

#pageEmailCourseInfo #courseProfileJumpToSections,
#pageEmailCourseInfo #courseProfileSections #sectionEnrollmentHeader,
#pageRemindMe #courseProfileJumpToSections,
#pageRemindMe #courseProfileSections #sectionEnrollmentHeader,
#pageStudentEnrolledCourseProfile #courseProfileSections #sectionEnrollmentHeader,
#pageInstructorAssignedCourseProfile #courseProfileSections #sectionEnrollmentHeader,
#pageStudentEnrolledCourseProfile #courseProfileSections #courseApplication,
#pageInstructorAssignedCourseProfile #courseProfileSections #courseApplication{
    display: none;
}

table.sectionDeliveryOptions,
table.sectionTuitionProfiles,
table.sectionSpecialRequests,
table.programOfferingFeeProfiles,
table.programOfferingSpecialRequests,
table.programOfferingPriceAdjustments{
    width: 100%;
}

table.sectionDeliveryOptions .sectionDeliveryOptionName,
table.sectionTuitionProfiles .tuitionProfileName,
table.sectionSpecialRequests .specialRequestName,
table.programOfferingFeeProfiles .feeProfileName,
table.programOfferingFeeProfiles .specialRequestOption,
table.programOfferingSpecialRequests .specialRequestName,
table.programOfferingPriceAdjustments .priceAdjustmentName{
    width: 55%;
}

.tuitionProfileName > .minMaxUnits{
	white-space: nowrap;
}

table.sectionDeliveryOptions .sectionDeliveryOptionFee,
table.sectionTuitionProfiles .tuitionProfileFees,
table.programOfferingSpecialRequests .specialRequestFees,
table.programOfferingFeeProfiles .feeProfileFees,
table.programOfferingFeeProfiles .specialRequestFees {
    width: 25%;
}

table.sectionTuitionProfiles .tuitionProfileRestrictions,
table.programOfferingFeeProfiles .feeProfileRestrictions,
table.sectionSpecialRequests .specialRequestMandatory{
    width: 25%;
}

.hiddenHook {
    display: none;
}

.card table.table-striped {
    margin-bottom: 0;
}

.poweredByDestinyOneWrapper {
    min-height: 50px;
}

.poweredByDestinyOne {
    position: absolute;
    bottom: 0;
    left: 15px;    
}

.poweredByDestinyOne img {
    height: 46px;
    margin-bottom: 2px;
    margin-top: 2px;
}

#pageHeader h1 .section {
    display: block;
}

/* Ensures that a minimum of 2 characters show on the select */
#portalInstructorAttendanceDetailsTable select.attendanceStatusSelect {
    min-width: 65px;
}

.oneceBookbird {
  background: no-repeat url("../../images/Bookbird.svg") 5px 0px;
  width: 50px;
  height: 28px;
  float: left;
}

.headerTextInfo {
  line-height: 34px;
}

#selectMembersContainer input[type="radio"], #selectMembersContainer input[type="checkbox"] {
  opacity: 1;
}

#memberProfileContainer #preferredContactTimeContainer {
	display: none;
}

.cellMemberEmail {
    word-wrap: break-word;
    word-break: break-all;
}

.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#logoutLinkWrapper:before, .conferenceLogoutButtonWrapper:before {
  content: "| ";
}

.fr_CA #loginNameWrapper {
  width: 53%;  	
}

#loginNameWrapper {
  float: left;
  width: 65%;
}

.fr_CA #logoutLinkWrapper {
  max-width: 47%;   
}

#logoutLinkWrapper {
  float: left;
  width: auto;
  max-width: 35%;
  padding-right: 5px;
  padding-left: 2px;
}

.soldOutLabel, .waitlistLabel {
	color:#b5201e;
	font-style:italic;
}

.confAmount {
  font-weight: bold;
}

.total {
  font-weight: bold;
}

.amountCol {
    text-align: right;
}


/* Conference Branding */

.overlayAlert {
    display: none;  
    position: fixed !important;
    left:50%;
    top:0px;
    z-index:2;
    width: 500px;
    margin-left:-250px;
    text-align: center;
}

.customizationMode .customizableBlockContainer:hover {
    border: 1px solid #C0C0C0;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;    
}

.customizableBlockContainer {
    border: 1px solid transparent;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;    
}

.customizableBlockHelpText {
    background-color:  #C0C0C0;
    z-index:2;
    padding: 5px;    
}

.timeDisplay {
    white-space: nowrap;
}

.customizableButtonLabelContainer {
    cursor:text;  
}

.form-group .customizableMessageContainer, .customizableButtonLabelContainer {
    display: inline-block;
}

.customizableButtonLabelContainer .glyphicon:before {
    padding-left: 10px;
}

.customizableBlockHelpText {
    font-size: 10pt;
    font-weight: 400;
}

.customizableBlock {
    min-height: 1.5em;
    min-width: 1.5em;
}

.radioNewRegisteringNumberOfPeopleLabel .customizableBlockContainer, 
.radioRegisteringNumberOfPeopleLabel .customizableBlockContainer  {
  display: inline-block;
  margin-top: 0px;
  margin-bottom: 0px;
}

.radioNewRegisteringNumberOfPeopleLabel .customizableBlockContainer p, 
.radioRegisteringNumberOfPeopleLabel .customizableBlockContainer p {
  margin: 0 0 0px;
}

#rapidPurchaseModal .modal-body {
    max-height: 750px;
    overflow-y: auto;
}

.rapidPurchaseAuthTab .tab-footer {
    border-top: 1px solid #e5e5e5;
}

.rapidPurchaseAuthTab .tab-footer .btn {
    margin-left: 10px;
    margin-top: 10px;
}

#rapidPurchaseModal .modal-header {
    border-bottom: none;
}

#rapidPurchaseLoginSignupContainer .rapidPurchaseHeaderCopytext {
    padding-bottom: 10px;
}

.modal-dialog-tab-content {
    padding-top: 30px;
}

/* End conference Branding */

.shippingAddress:after {
  content: ")"; 
}

.shippingAddress:before {
  content: "("; 
}

.testLicenseWatermark {
  background-image:url("../../../../images/testlicense_watermark.png");
  background-repeat: repeat-y;
  background-position: center; 
}

table div.checkbox label.tableCheckbox {
  padding-left: 0px;
}

.visible-block {
    display: block !important;
}

input.gsc-input,
.gsc-input-box,
.gsc-input-box-hover,
.gsc-input-box-focus,
.gsc-search-button, input.gsc-search-button-v2 {
    box-sizing  : content-box;
    line-height : normal;
    margin-top  : 0px;
}

.dhx_cal_tab.agenda_tab.dhx_cal_tab_standalone {
    width: 85px;
}

/* The embeeded portal logoff page needs to be hidden, as was the case in PV1.0. */
#embeddedPortalLogoffDiv {
    display: none;
}


#profileTemplatePreviewButton{
    position: fixed;
    width: 4rem;
    height: 4rem;
    top: 40px;
    left: 40px;
    color: #FFF;
    text-align: center;
    box-shadow: 3px 3px 3px #444;
    z-index: 1;
    padding: 0;
}


#profileTemplatePreviewButton span {
    text-shadow: 0 0 5px #000000;
}

#profileTemplatePreviewButton span.fa-cog {
    position: absolute;
    top: -1rem;
    left: 1rem;
}


#profileTemplatePreviewModal .modal-title {
    line-height: 1;
    font-size: 1rem;
    margin-top: 0.5rem;
}

#profileTemplatePreviewModalContentDiv {
    width: 90%;
    margin: auto;
}

.profileTemplatePreviewSelectContainer {
    width: 100%;
}

#profileTemplatePreviewModal .profileTemplateAssigned {
    font-weight: bold;
}

/* Breakpoints:
xs: < 768px
sm: < 992px
md: < 1200px
lg: 1200px+
These values should always match Bootstrap edges or responsive behaviour is unpredictable.
 */

/* Extra small devices ONLY, up to 767px */
@media ( max-width : 767px) {
  p {
        word-wrap:break-word;  
  }

  .btn-secondary {
      white-space: normal;
  }

  .catalogSearchResults.tableResponsive {
      border: none;
  }

    .catalogSearchResults .firstColumn {
        flex-direction: column;
    }

  .studentEnrollmentHistory .table-responsive .courseTitle {
      white-space: normal;
  }

  .tableGridContainer .nav {
      display: none;
  }

  .tableGridContainer .tab-content>.active {
      display: block;
      visibility: visible;
  }
  .tableGridTabPaneGrid ul li {
      float: none;
      display: block;
      width: 100%;
  }

  .footer2 .poweredByDestinyOne {
    position: inherit;
    margin-top: 5px;
    text-align: center;
  }

  #buttonAddCapMember {
    width: 100%;
  }

  .amountCol {
      text-align: left;
  }

  .visible-inline-block {
     display: inline-block !important;
  }

  .cartContainer .cartItemDescriptionContainer,
  #pageStudentHistoricalBasket .cartContainer .cartItemDescriptionContainer
  {
      max-width: 100%;
  }

  .cartContainer .cartItemFeeHeaderCheckbox {
     display: inline-block;
  }

  .cartContainer .cartItemFeeGroupPriceAdjustment .shoppingCartAmount {
      vertical-align: middle;
      margin-top: 10px;
      margin-bottom: 10px;
  }

  .cartContainer .noInputControl.feeDescriptionContainer {
      display: block;
      margin-top: 10px;
      margin-bottom: 10px;
  }

  .cartContainer .feeDescriptionContainer .form-group {
      margin-bottom: 0px;
  }

  .cartItemOptionOtherFeeAmount {
      margin-bottom: 10px;
  }

  .cartItemUpdateLinksSection {
      display: block !important;
  }
}

/* Extra small and small devices */
@media ( max-width : 991px) {
    .amountCol > .shoppingCartAmount {
        float: left;
    }

    .cartItemUpdateLinksContainerMobile {
        margin-top: 10px;
    }

    .savedForLaterListContainer .cartItemUpdateLinksContainerMobile {
        padding-left: 0px;
    }
    
    .cartContainer .cartItemDescriptionParentContainer,
    .cartContainer .cartItemFeaturedImageParentContainer {
        padding-left: 0px;
    }
    
    .cartItemUpdateLinksSection > .cartItemUpdateLink {
        display: inline-block !important
    }

    .cartItemUpdateLink {
        padding: 5px;
    }

    .cartItemUpdateLinksSection {
        margin-left: -5px;
    }
}

/* Small devices and larger (tablets, 768px and up) */
@media ( min-width : 768px) {
   .mobilePopupDialog,.mobilePopupDialog .form-text {
    display: none;
   }
   
   .desktopPopupDialog {
        display: inline;
   }

    .col-sm-auto {
        width: auto;
        max-width: none;
    }

    .cartItemUpdateLinksSection {
        display: inline !important;
    }

}
/* Small devices ONLY (768px - 991px)*/
@media ( min-width : 768px) and (max-width: 991px) {
    .tableGridTabPaneGrid ul li {
        float: left;
        width: 50%;
        padding-left: 15px;
        margin-bottom: 30px;
        position: relative;
    }

    #buttonAddCapMember {
      width: 100%;
    }

}

/* Bootstrap v4 Small devices and smaller (phones, 768px and down) */
@media (max-width: 767.98px) {
    .truncate {
        white-space: normal;
        overflow: hidden;
        text-overflow: unset;
    }
}

/* Boostrap v4 Medium devices and smaller (tablets, 992px and down) */
@media (max-width : 991.98px) {
    .tooltip {
        display: none !important;
    }
}

/* Medium devices and larger (desktops, 992px and up) */
@media ( min-width : 992px) {
    .cartContainer {
        font-size: 12px;
    }

    .displayOnLargeDevice {
        display: block;
  }

    .cartContainer .cartItemDescriptionParentContainer {
        padding-left: 6px;
    }

    .savedForLaterListContainer .savedForLaterListDetails {
        padding-left: 6px;
    }

    .cartItemUpdateLinksSection > .cartItemUpdateLink {
        display: block;
    }

    .cartItemDescriptionContainer .cartItemUpdateLinksSection > .cartItemUpdateLink {
        display: inline-block;
        padding-left: 5px;
        padding-right: 5px;
    }

    .cartItemDescriptionContainer .cartItemUpdateLinksSection {
        margin-left: -5px;
    }
}
/* Medium devices ONLY */
@media ( min-width : 992px) and (max-width: 1199px) {

    .sr-only-md {
        position: relative;
        width: auto;
        height: auto;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        border: 0;
    }

    .cartContainer .cartItemDescriptionParentContainer {
        padding-left: 15px;
    }

    .savedForLaterListContainer .savedForLaterListDetails {
        padding-left: 15px;
    }

    .cartItemFeaturedImage {
        margin-left: -13px;
    }
}

/* Large devices and above (large desktops, 1200px and up) */
@media ( min-width : 1200px) {

    .sr-only-lg {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        border: 0;
    }

}

/* Printer-friendly CSS */
@media print {
    /* Global printing settings */
    .quickSearch,
    .cartInfo,
    .loginInfo,
    .headerCarousel,
    .newsletter,
    #searchBreadcrumb,
    .languageBarWrapper {
        display: none;
    }

    /* Course profile page */
    .courseProfileActions,
    #courseSectionsAccordion .card-header .panelHeaderIcon,
    .courseSectionEnrollmentActions,
    #courseProfileFeaturedVideo,
    #courseProfileSections .sectionHeader{
        display: none;
    }

    #courseProfileJumpToSections {
        display: none !important;
    }

    #courseProfileSections {
        margin-top: 20px;
    }

    #courseSectionsAccordion .card .panel-collapse.collapse { /*unfold all sections*/
        display: block;
        height: auto;
    }

    .poweredByDestinyOne {
        position: relative;
        display: block;
        text-align: center;
    }
    
    #pageConferenceSelectedSessionPrint .container {
        border: none;
    }
    
    
    .sessionSelectionTable a[href]:after {
        display:none; 
    }
}

.shoppingCartGrandTotalLabel {
    float: right;
    font-size: 18pt;
}

.shoppingCartGrandTotalAmount {
    float: right;
    font-size: 18pt;
    font-weight: bold;
    padding-right: 15px;
}

.cartHeader {
    font-weight: bold;
}

.cartHeaderSubTotalLabel {
    float: right;
}

#shoppingCartTotalContainer .cartSubtotalContainer,
#shoppingCartTotalContainer .cartTaxContainer,
#shoppingCartTotalContainer .cartTotalContainer,
#shoppingCartTotalContainer .cartInvoiceAmountDueLaterContainer,
#shoppingCartTotalContainer .cartInvoiceAmountDueNowContainer
{
    margin-bottom: 10px;
}

.shoppingCartTaxAmount {
    float: right;
    padding-right: 15px;
}

.cartTaxLabel {
    float: right;
    font-weight: normal;
}

.shoppingCartSubTotalLabel,
#shoppingCartInvoiceAmountLabel,
#shoppingCartInvoiceAmountDueNowLabel,
#shoppingCartPaymentPlanInvoiceAmountLabel,
#shoppingCartPaymentPlanInvoiceAmountDueNowLabel,
#shoppingCartGroupResponsibilitySplitInvoiceAmountLabel,
#shoppingCartGroupResponsibilitySplitDueNowLabel {
    float: right;
    font-size: 16px;
    font-weight: bold;
}

.shoppingCartSubTotalAmount,
#shoppingCartInvoiceAmount,
#shoppingCartInvoiceAmountDueNow,
#shoppingCartPaymentPlanInvoiceAmount,
#shoppingCartPaymentPlanInvoiceAmountDueNow,
#shoppingCartGroupResponsibilitySplitInvoiceAmount,
#shoppingCartGroupResponsibilitySplitAmountDueNow {
    float: right;
    font-size: 16px;
    font-weight: bold;
    padding-right: 15px;
}

.shoppingCartGrandTotalLabel:after,
#shoppingCartInvoiceAmountLabel:after,
#shoppingCartInvoiceAmountDueNowLabel:after,
#shoppingCartPaymentPlanInvoiceAmountLabel:after,
#shoppingCartPaymentPlanInvoiceAmountDueNowLabel:after,
#shoppingCartGroupResponsibilitySplitInvoiceAmount:after,
#shoppingCartGroupResponsibilitySplitAmountDueNow:after {
    content: "";
}

.shoppingCartGroupResponsibilitySplitFullFunding,
.shoppingCartGroupResponsibilitySplitNoFunding {
    font-weight: bold;
    padding-bottom: 1em;
}

.savedForLaterListContainer .form-row {
    border-bottom: 1px solid #cccccc;
    margin-bottom: 8px;
}

.savedForLaterListContainer .form-row.subrow {
    border-bottom: none;
    margin-left: -15px;
}

.savedForLaterListDetails {
    font-size: 12px;
}

.savedForLaterListContainer .cartItemFeaturedImageContainer {
    padding-bottom: 10px;
}

.savedForLaterListContainer .cartItemFeaturedImage {
    object-fit: contain;
    width: 128px;
    height: 54px;
    border: 1px solid #e0e0e0;
}

.savedForLaterListContainer .cartItemFeaturedImagePlaceholderText {
    font-size:45px;
    color:#C4C4C4;
    text-align: center;
}

.participantsListContainer {
    width: auto;
}

.sectionHeaderScheduleContainer {
    font-size: 14px;
}

.bundleSectionScheduleDays {
    font-weight: bold;
}

.fullWidth {
    width: 100%
}

.collapse.in {
    display:block;
}

tr.collapse.in {
    display:table-row;
}

.panel-group {
    margin-bottom:1.25rem;
}

.panel-group .card {
    margin-bottom: 0;
}

.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
    padding:0.5rem;
    line-height:1.42857143;
    vertical-align:top;
}

.table > caption {
    caption-side:top;
}

.scheduledPaymentStatusContainer {
    padding:0.5rem;
    line-height:1.42857143;
    border-top: 1px solid #dddddd;
    background-color: rgba(0,0,0,.05);
}

.scheduledPaymentsTableMargin {
    margin-bottom: 0 !important;
}

.lockedColumn {
    left: 0px;
    position: sticky;
}

.table-striped tbody > tr:nth-child(odd) .lockedColumn {
    background-color: #F2F2F2;
}

.table-striped tbody > tr:nth-child(even) .lockedColumn,
.table-striped thead > tr .lockedColumn {
    background-color: white;
}

input[type="file"] {
    display:block;
}

.cartContainer .form-check {
    padding-left: 0;
}

.noInputControl.feeDescriptionContainer {
    display: inline-block;
}

.hidden {
    display:none !important;
}

.nav-item {
    position:relative;
    display:block;
}

.nav-item.disabled > a:hover,
.nav-link.disabled:hover,
.nav-item.disabled > a:focus,
.nav-link.disabled:focus {
    cursor: not-allowed;
}

.form-control[disabled],
fieldset[disabled] .form-control {
    cursor:not-allowed;
}

.btn-link.disabled,
.btn-link:disabled {
    pointer-events: unset;
}
.btn-link.clean {
    padding: 0;
    border: none;
}

table td[class*="col-"],
table th[class*="col-"] {
    position:static;
    float:none;
    display:table-cell;
}

.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
    cursor:not-allowed;
    opacity:0.65;
    filter:alpha(opacity=65);
    -webkit-box-shadow:none;
    box-shadow:none;
}


.modal .modal-header {
    display:block;
}

.modal .modal-footer {
    display:block;
    text-align:right;
}

.modal .modal-footer .btn + .btn {
    margin-left:0.3125rem;
    margin-bottom:0;
}

#browseOfferingsContainer.panel-group .card-header {
    margin-bottom:0;
}
/*
  Adds a Scrollable Dropdown Menu for type ahead results
  https://twitter.github.io/typeahead.js/examples/
 */
.tt-dropdown-menu{
    max-height: 150px;
    overflow-y: auto;
}

#selectedGroupName {
    height: 2.95rem;
    padding-top: 1.25rem;
    padding-left: 0.725rem;
}

.recurringPaymentOptions {
    margin-left: 5%;
}

.schedulePaymentErrorIcon {
    color: #D14124;
}

.schedulePaymentSuccessIcon {
    color: #148E5B;
}

/* Start: Required for the affix.js library */
.affix {
    position: fixed;
    top: 1rem;
}

.affix-bottom {
    position: absolute;
}

/* End: Required for the affix.js library */

