@mixin show($name) {
    .#{$name} {
        display: block;
        h2 {
            display: block;
            font-size: 1.3em;
        }
        strong {
            display: inline;
            font-weight: normal;
        }
        time {
            display: inline;
        }
        span {
            display: inline;
        }
        ul {
            display: block;
            li {
                display: block;
                padding: 0 0 5px 0;
            }
        }
        padding: 0 0 10px 0;
    }

}

@mixin format_for_printing() {
    * {
        background: none;
        display: none;
    }

    // we need to explicitly show everything!
    #recipecan_print_area {
        display: block;
                
        @include show('recipecan_title');
        @include show('recipecan_tags');
        @include show('recipecan_info');

        .recipecan_split_container {
            display: block;
            @include show('recipecan_ingredients');
            @include show('recipecan_directions');
            .recipecan_ingredients, .recipecan_directions {
                strong {
                    font-size: 1.1em;
                    font-weight: bold;
                }
            }
        }
        
    }

}

@media print {
    body.recipecan_print_recipe_body_wrapper {
        @include format_for_printing();
    }

    body.recipecan_print_ingredients_body_wrapper {
        @include format_for_printing();

        #recipecan_print_area {
            .recipecan_tags, .recipecan_info, 
            .recipecan_split_container .recipecan_directions {
                display: none;
            }
        }
    }

}
