html {
    height: 100%;
    box-sizing: border-box;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

body {
    position: relative;
    height: auto;
    min-height: 100%;
    margin: 0;
    padding-bottom: 305px;
    background: #FFFFFF;
    font-size: 14px;
}


/* Footer */
/* sticky footer layout: https://chrisbracco.com/css-sticky-footer-effect/, https://codepen.io/cbracco/pen/zekgx */

.footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 0;
    height: 230px;
    background-color: #212C32;
}

.footer ul {
    margin: 0;
    padding: 0;
}
.footer ul li {
    display: inline-block;
    padding: 0 15px;
}
.footer ul li a {
    color: white;
}
.footer p {
    color: white;
    font-size: 11px;
}

.footer .social-media {
    margin-top: 42px;
    cursor: default;
}
.footer .social-media li {
    padding: 0 15px;
    font-size: 30px;
}
.footer .social-media a:hover {
    text-decoration: none;
}

.footer .legal-links {
    margin-top: 25px;
}

.footer .copyright-notice {
    margin-top: 25px;
    font-size: 11px;
}

@media (max-width: 767px) {
    .footer .social-media {
        margin-top: 25px;
    }
    .footer .social-media li {
        padding: 0 15px;
        font-size: 30px;
    }
    .footer .legal-links {
        margin-top: 15px;
    }
    .footer .legal-links li {
        padding: 0 5px;
        font-size: 10px;
    }
    .footer .copyright-notice {
        margin-top: 15px;
        font-size: 10px;
    }
}



/* General Overrides */
h1 {
    margin: 0 0 20px 0;
}

.form-group {
    margin: 0 0 32px 0;
}

.form-group.top-margin {
    margin-top: 32px;
}

.form-group.no-bottom-margin {
    margin-bottom: 0;
}

.form-group > p.help-block.help-text.text-muted {
    margin: -5px 0 10px 0;
}

.btn {
    margin-right: 10px;
}

a.btn-lg {
    line-height: 29px;
}




/* Header */
header > .navbar {
    margin-bottom: 0;
}

header > .navbar *,
header > .navbar *:hover {
    color: white;
}

header .navbar-nav > li > .dropdown-menu {
    text-align: right;
    padding: 10px 20px;
}

header .fa-phone {
    vertical-align: sub;
}

header .fa-phone:hover {
    color: white;
}

.navbar-brand {
    padding: 13px 0 0 15px;
}

.navbar-brand .product-logo {
    width: 144px;
    height: 35px;
    background: url(/account/images/digicert-logo-white-35.png);
    background-size: 144px 35px;
}



/* Page Title Section */
.title-section {
    background: white;
}
.title-section .go-back-link {
    margin-top: 32px;
}
.title-section .go-back-link:empty {
    margin-top: 68px;
}
.title-section .go-back-link > .fa,
.title-section .go-back-link > .fas,
.title-section .go-back-link > .far,
.title-section .go-back-link > .fal,
.title-section .go-back-link > .fab {
    vertical-align: -1px;
    font-size: 18px;
    padding-right: 4px;
}
.title-section .page-title {
    margin-top: 32px;
}
.title-section .page-title.with-subtitle {
    margin-top: 40px;
}
.content-section {
    padding-top: 20px;
    padding-bottom: 20px;
}
.single-column-page .messaging > .account-page.alert:first-child {
    margin-top: 20px;
}
.single-column-page .messaging > .account-page.alert:last-child {
    margin-bottom: 50px;
}
.single-column-page .messaging {
    padding-left: 0;
    padding-right: 0;
}



/* Alerts */
.account-page.alert {
    display: flex;
    align-items: center;
    padding: 13px 16px;
    margin: 0;
}
.account-page.alert:has(.alert-line-break) {
    flex-wrap: wrap;
}
.account-page.alert > .alert-line-break {
    flex-basis: 100%;
    height: 0;
}
.account-page.alert > .fa,
.account-page.alert > .fas,
.account-page.alert > .far,
.account-page.alert > .fal,
.account-page.alert > .fab {
    font-size: 20px;
    margin-right: 8px;
    flex-shrink: 0;
}
.account-page.alert > p,
.account-page.alert > div {
    flex-grow: 1;
}
.account-page.alert.alert-danger {
    padding: 21px 16px;
}
.account-page.alert.alert-danger > .fa,
.account-page.alert.alert-danger > .fas,
.account-page.alert.alert-danger > .far,
.account-page.alert.alert-danger > .fal,
.account-page.alert.alert-danger > .fab,
.has-error .help-block > .fa,
.has-error .help-block > .fas,
.has-error .help-block > .far,
.has-error .help-block > .fal,
.has-error .help-block > .fab {
    color: #C9523A;
}
.account-page.alert.alert-info > .fa,
.account-page.alert.alert-info > .fas,
.account-page.alert.alert-info > .far,
.account-page.alert.alert-info > .fal,
.account-page.alert.alert-info > .fab {
    color: #3598db;
}
.account-page.alert.alert-success > .fa,
.account-page.alert.alert-success > .fas,
.account-page.alert.alert-success > .far,
.account-page.alert.alert-success > .fal,
.account-page.alert.alert-success > .fab,
.has-success .help-block > .fa,
.has-success .help-block > .fas,
.has-success .help-block > .far,
.has-success .help-block > .fal,
.has-success .help-block > .fab
{
    color: #63AF55;
}
.account-page.alert.alert-announcement {
    background: white;
}
.account-page.alert.alert-announcement > .fa,
.account-page.alert.alert-announcement > .fas,
.account-page.alert.alert-announcement > .far,
.account-page.alert.alert-announcement > .fal,
.account-page.alert.alert-announcement > .fab {
    align-self: start;
    font-size: 30px;
    margin-right: 24px;
    color: #00819E;
}
.account-page.alert.alert-announcement.alert-danger > .fa,
.account-page.alert.alert-announcement.alert-danger > .fas,
.account-page.alert.alert-announcement.alert-danger > .far,
.account-page.alert.alert-announcement.alert-danger > .fal,
.account-page.alert.alert-announcement.alert-danger > .fab {
    color: #C9523A;
}
.account-page.alert.alert-announcement .title {
    font-size: 16px;
}
.two-column-page .account-page.alert {
    margin: -40px -80px 50px -40px;
}
@media (max-width: 767px) {
    .account-page.alert {
        border: none;
    }
    .two-column-page .account-page.alert {
        padding: 18px 15px;
        margin: -30px -20px 30px -20px;
    }
    .two-column-page .account-page.alert:first-child {
        margin-top: -55px;
    }
}

/* idp login page */
#right-content-idp {
	padding-top: 135px;
}
#right-content-idp > img {
	margin: -5px 0 20px 0;
}
#right-content-idp > h2 {
	line-height: 1.4;
	margin: 0;
	font-size: 22px;
}
#key-content-idp {
	padding: 65px 86px 65px 86px;
	margin-top: 10px;
}


@media (max-width: 767px) {
	#key-content-idp {
		padding: initial;
		border: none;
		margin-top: 55px;
	}
}
@media (min-width: 768px) {
	#key-content-idp {
		padding: 65px 48px;
	}
}
@media (min-width: 992px) {
	#key-content-idp {
		padding: 65px 48px;
	}
}
@media (min-width: 1200px) {
	#key-content-idp {
		padding: 65px 86px;
	}
}

.right-messages-idp {
	border-bottom: 1px solid #E6E6E6;
	padding-bottom: 15px;
	margin-bottom: 15px;
}

#help-text-box-idp {
	background-color: #F6F6F6;
	padding: 20px;
}


/* Login Page -- todo tie this to the .two-column-page probably, but wait until a second two-column page has been created (tfa) */
#left-content {
    padding-top: 135px;
}
#left-content > img {
    margin: -5px 0 20px 0;
}
#left-content > h2 {
    line-height: 1.4;
    margin: 0;
    font-size: 22px;
}
#key-content {
    padding: 65px 86px 65px 86px;
    border-left: 1px solid #E6E6E6;
    margin-top: 95px;
}
@media (max-width: 767px) {
    #key-content {
        padding: initial;
        border: none;
        margin-top: 55px;
    }
}
@media (min-width: 768px) {
    #key-content {
        padding: 65px 48px;
    }
}
@media (min-width: 992px) {
    #key-content {
        padding: 65px 48px;
    }
}
@media (min-width: 1200px) {
    #key-content {
        padding: 65px 86px;
    }
}

#login-prompt hr {
    border-color: #E6E6E6;
    margin: 45px 0;
}