@media print{

    /* Prevent appcues from showing iframes on top of screen when in print mode on MS Edge browser */
    @supports (-ms-ime-align: auto) {

        iframe {
            display: none !important;
        }

    }

    .appcues {
        visibility:hidden;
    }

    body {
        font-family: Helvetica, Arial;
    }

    *{
        color:#000!important;
        text-shadow:none!important;
        background:transparent!important;
        box-shadow:none!important
    }    
    
    thead {
        display: table-header-group;
    }
    
    /* Prevents Chrome and Safari from making font too small from the 1em declared for table {} in main.css */
    table {
        font-size: initial;        
    }    
    
    div.modal-footer {
        display: none;
    }
    
    .attendance_sheet_name_date_container {
        margin-top: 8px;
        margin-bottom: 25px;
        margin-left: -15px;
    }

    /* Safari-specific hack to prevent name from being cut off on attendance sheets - this selector targets Safari: https://browserstrangeness.bitbucket.io/css_hacks.html#webkit; */
    _:-webkit-full-screen, _::-webkit-full-page-media, _:future, :root .attendance_sheet_name_date_container {
        margin-left: 0px;
    }    

    .print_full_width {
        float: none !important;
        width: 97% !important; /* not 100% as safari doesn't like it; cuts off amounts */
        margin: 0px !important;
        padding: 0px !important;        
    }
    
    div.modal-header {
        display: none;
    }
    
    div.left_menu_container {
        display: none !important;
    }
    
    .print_break_after {
        page-break-after: always;
    }    
    
    .print_break_after:last-of-type {
        page-break-after: auto
    }    
    
    div#header {
        display: none !important;
    }
    
    div#footer {
        display: none !important;
    }

    ul.breadcrumb {
        display: none !important;
    }
    
    div#topbar {
        display: none !important;
    }
  
    ul.nav {
        display: none !important;
    }
  
    .btn {
        display: none !important;
    }
        
    a[href]:after {
        content: none !important;
    }
    
    div.reports_row {
        margin: 0em !important;
        padding: 0em !important;
    }
        
    div.payment_reports_container h2 {
        margin: 0em !important;
        padding: 0em 0em 1em 0em !important;
        font-size: 40px;
        padding-bottom: 20px;
    }    
    
    div#content {
        margin: 0em !important;
        padding: 0em !important;
    }
    
    div.status_container {
        display: none !important;
    }
    
    div.reports_row {
        page-break-inside: avoid;
    }  

    .avoid_page_break {
        page-break-inside: avoid;
    }  
    
    #contributions_search_container {
        display: block !important;
        border-bottom: 0px solid #fff !important;
        background-color: #f1f1f1 !important;
        -webkit-print-color-adjust: exact; 
        padding-top: 14px;
        font-size: 8pt;
    }
    
    table#attendance_summary thead {
        opacity: 0.9 !important; /* Needed for table headers to not duplicate and overlap text in Chrome - super weird issue and couldn't find any documentation to back this up, but it works*/
    }
    
    div.attendance_page_break {
        float: none !important; /* Added to fix page breaks in Safari */
    }
    
    h2.attendance_summary_tag_title {
        page-break-before: always;
    }
    
    div#report_container {
        float: none !important; /* Needed to fix issue in Chrome 54 that cuts off pages after 4 when printing attendance sheets */
    }
    
    form#attendance_spreadsheet_form {
        margin-top: -60px;
    }
    
    
    table#attendance_summary {
        border-collapse: separate !important; /* Needed to fix issue in firefox not showing table borders after page one */
    }
    
    table#attendance_summary th, table#attendance_summary td {
        
        border: 1px solid #ccc;
        padding: 5px;
        margin: 5px;
        
    }
    
    #contributions_search_container i {
        display: none !important;
    }
    
    #contributions_search_container a {
        background-color: #f1f1f1 !important;
        -webkit-print-color-adjust: exact; 
        color: #777 !important;
        display: none !important;
    }
    
    #contributions_search_container a.payment_search_filter_highlight {
        display: inline !important;
        line-height: 1.9em;
        margin-top: 0px;
    }
        
    .no_print_split {
        page-break-inside: avoid;
    }
    
    .print_page_break_before {
        page-break-before: always
    }
    
    div.event_date_direction_links {
        display: none !important;
    }    
        
    table.condensed_print {
        font-size: 0.9em !important;
    }
    
    table.condensed_print td {
        padding: 0.1em !important;
    }
    
    div.consistency_container {
        border: 0px !important;
        margin-top: 0em !important;
    }
    
    div.event_date_container h4 {
        margin-top: 1em;
    }
    
    .no_print {
        display: none !important;
    }
    
    .show_print {
        display: inline-block !important;
    }
    
    /* FORM STYLING START */

    .show_print_block {
        display: block !important;
    }
   
    div#form_container {
        width: 100%;
    }

    #custom_form .add_person_response_container {
        width: 100%;
    }

    div#form_container h1 {
        font-size: 30px !important;
        border-bottom: 1px solid #000;
    }

    div#form_container #form_description_top {
        margin: 0px 20px 15px 20px !important;
        padding: 0px !important;
    }

    div#form_container .paragraph_field {
        background: #fff !important;
        padding: 0px;
    }

    div#form_container #form_section_title {
        font-weight: 500 !important;
    }

    div#form_container hr#form_section_title_divider {
        border-top: 1px solid #000;
        margin-top: 6px;
    }

    /* FORM STYLING END */




    .force_print {
        display: inline !important;
    }  
    
    ul.force_print {
        display: inline !important;
    }    
    
    img.profile {
        max-width: 300px;
        max-height: 200px;
        width: 100%;
    }

    /* Default contribution printing behavior */
    div#contributions_content_container table {
        font-size: 1em;
        font-size: 12px !important;
        line-height: 1em;
    }        

    div#contributions_content_container table td {
        font-size: 1em;
        font-size: 12px !important;            
        padding: 3px !important;
        line-height: 1em;
    }      

    /* Chrome contribution printing behavior */
    @media print and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm) {

        div#contributions_content_container table {
            font-size: 12pt;
            font-size: 3.5vw;
        }        

        div#contributions_content_container table td {
            font-size: 12pt;
            font-size: 3.5vw;
        }    
    
    }
    
    /* Safari contribution printing behavior */
    @media print and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) 
    { @media {
            div#contributions_content_container table {
                font-size: 12pt;
                font-size: 3.5vw;
            }        

            div#contributions_content_container table td {
                font-size: 12pt;
                font-size: 3.5vw;
            }   
    }}
    
    div#contributions_content_container .span6 {
        width: 100% !important;
        margin-left: 0px !important;
    }
    
    .container {
        margin-right: 0px;
        margin-left: 0px;
    }

    @media (max-width: 767px) {
        
        div#profile_top {
            padding-bottom: 0px;
            margin-bottom: 0px;
        }
        
        div#profile_top .row-fluid [class*="span"] {
            display: block;
            float: left;
            margin-left: 0;
        }
        
        div#profile_top .span4 {
            display: block;
            float: left;
            width: 25%;
            margin-left: 0;
            margin-top: 25px;
        }
        
        div#profile_top .span8 {
            display: block;
            float: left;
            width: 70%;
            padding: 30px;
            margin-top: -10px;
        }
        
        div.person_section div.person_address_container .map {
            display: none;
        }
        
        div.person_section div.edit_on_hover img.person_thumbnail_small {
            display: none;
        }
        
        div.person_section table.person_details tr td {
            padding: 0px;
        }
        
        div.person_section h4.edit_section {
            padding: 0px;
            border-bottom: 1px solid #000;
            margin-top: 20px;
            padding-left: 3px;
            padding-bottom: 2px;
            border-radius: 0px !important;
        }
        
        div.person_section img.family {
            display: none;
        }
        
        div.person_section table.person_details {
            margin-bottom: 0px;
        }
        
        div.person_section div.no_information_in_section {
            margin: 0px;
        }
        
        div#column-1 {
            width: 45%;
            float: left;
            margin-right: 10px;
        }
        
        div#column-2 {
            width: 50%;
            float: left;
        }
        
    }
    
    #report_filter_container select {
        border: 0px;
        border-bottom: 3px solid black;
        border-radius: 0px;
        padding: 0px;
        font-size: 20px;
        -webkit-appearance: none;
        appearance: none;
        margin-bottom: 20px !important;
    }

}
