/* from https://www.rbcinsurance.com/_assets-custom/css/common.css as of 2020-02-25 */

@media (min-width: 640px) {
    .desktop-only.inline-block-important {
        display: inline-block !important;
    }
    .accordion p:last-of-type+.collapse-content>.collapse-inner {
        padding-left: 20px;
    }
}

@media screen and (max-width: 639px) {

    .mobile-only.inline-block-important {
        display: inline-block !important;
    }

    /*center text only in mobile */
    .mob-text-center {
        text-align: center;
    }

    /* center element horizontally only in mobile */
    .mob-mar-auto-x {
        margin: 0 auto;
    }

    /* used to push images out of containers to show relevant portions */
    .mob-neg-mar-t-huge {
        margin-top: -50px !important;
    }
    
    /* fixes overflowing text in legal on mobile, and floats left (it's fl-r for some reason) */
    .disclaimer .table-cell {
        white-space: normal !important;
        text-align: left !important;
    }

    .custom-divide:after {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        background-color: #c4c8cc;
        margin-top: 30px;
        margin-bottom: 15px;
    }
    .custom-divide.eq-tb-mar:after {
        margin-top: 15px;
        margin-bottom: 15px;
    }
}

.banner.html-bnr .grid-wpr>[class*=grid-].banner-img {
  max-height: 100%;
}

/*.external-link, .accordion a { */
  /*font-size: 18px; */
/*}*/

/* fix for misaligned arrow icon in tertiary buttons */
a.goto-link.btn.tertiary:after {
    height: auto !important;
}

.callout .img-container {
    height: auto;
    max-height: 150px;
    overflow: hidden;
}

.callout .img-container img {
    width: 100%;
}

/* aligns callout content, leaving extra space between content and bottom link */
.callout-content .standalone-link {
	margin-top: auto;	
}


/* floated buttons break out of container unless height is specified */
.btn-height {
    min-height: 44px;
}

/* fix oversized superscripts */
sup > a {
    font-size: 100%;
    line-height: 0;
}

.missing {
    background-color: yellow !important;
    color: black !important;
}


/* fix for too-large titles in title bar, now expands UP to 80px instead of preset at 80px */
.title-bar {
    height: auto !important;
    /*max-height: 80px !important;*/
    /*min-height: 1px !important;*/
}

/* used to color FontAwesome's black, black heart */
.yellow-heart {
    color: #FFDE01 !important;
    text-decoration: none !important;
}


/***************************/
/* GENERIC UTILITY CLASSES */
/***************************/

.w-70 {
    width: 70%;
}

.mar-auto-x {
    margin: 0 auto;
}

.bg-center {
    background-position: center center !important;
}

/* force inline-block */
.ib {
    display: inline-block !important;
}

/* force inline */
.inline {
    display: inline !important;
}

/* used to push images out of containers to show relevant portions */
.neg-mar-t {
    margin-top: -30px;
}

/* used to push images up in callout-img containers */
.push-up-50 {
    background-position-y: 50% !important;
}

/* force 70px height to normalize icons of different sizes */
.h-70 {
    height: 70px;
}

/* icon classes set SVG widths, but we use max-width instead of width because IE11 falls apart when SVG has set width... */
.icn-40 {
    max-width: 40px;
}

.icn-20 {
    max-width: 20px;
}

.fixed-icon-40 { width: 40px; height: 40px; }

/* cuts off accordion titles - WIP */

/*.accordion .accordion-panel .collapse-toggle {*/
    /*overflow: hidden;*/
    /*white-space: nowrap;*/
    /*text-overflow: ellipsis;*/
/*}*/

/* prevent text from wrapping under icon */
.clean-wrap {
    padding-left: 55px;
    display: inline-block;
    width: 100%;
    /*padding-left: 3.5em;*/
    /*text-indent: -3.3em;*/
}

.clean-wrap img {
    margin-right: 15px;
    position: relative;
    display: inline-block;
    margin-left: -55px;
    vertical-align: top;
}

.clean-wrap span {
    display: inline-block;
}

.discover .ellipses, #discover .ellipses {
    line-height: 27px;
    max-height: 54px;
    min-height: 54px;
    overflow: hidden;
}

/* prevent iOS viewport from zooming in when focusing on a dropdown / textarea / input field */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	select:focus, textarea:focus, input:focus {
	    font-size: 16px !important;
	}
}

.arrow-custom { display: inline-block !important; max-height: 7px !important; max-width: 12px !important; }
