html, body
{
    margin:0;
    padding:0;
}

body
{
    margin-left:0;
    margin-right:0;
    text-align:center;
    overflow:scroll;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1em;
    color:#111111;
    background-color:#FFFFFF;
}

h1, h2, h3, h4, h5, h6
{
    margin:0;
    padding:0;
}

h1
{
    color:rgb(239, 63, 63);
}

h2
{
    color:rgb(239, 63, 63);
}

h2 img
{
    vertical-align:middle;
}


header
{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    padding:25px;
}

header a
{
    color:transparent;
}

header a img
{
    width:374px;
    height:100px;
}

div.content_holder
{
    margin-left:auto;
    margin-right:auto;
    margin-bottom: 20px;
    text-align:center;
    max-width:800px;
    overflow:hidden;
    height:auto;
}

div.content_piece
{
    margin-left:auto;
    margin-right:auto;
    text-align:left;
    line-height:20px;
    float:left;
    width:50%;
}

div.content_piece p
{
    text-align:justify;
    padding-right:25px;
}

#desc
{
    width:800px;
    font-size:1.2em;
    padding:0px !important;
    line-height:24px;
    float:none !important;
    width:auto !important;
}

h2.h2lefty
{
    float:left;
    clear:both;
}

footer
{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    height:150px;
    line-height:150px;
    color:#555555;
}

a:link
{
    color:rgb(77, 139, 191);
    text-decoration:underline;
}

a:hover
{
    color:rgb(239, 63, 63);
    text-decoration:none;
}

a:visited
{
    color:rgb(57, 129, 171);
    text-decoration:underline;
}

a:active
{
    color:rgb(239, 63, 63);
    text-decoration:none;
}


#gLocations iframe
{
    max-width:800px;
    max-height:600px;
    min-width:300px;
    min-height:250px;
    border:none;
    width:100%;
}

/*
 * Portrait smart phone.
 */
@media screen and (max-device-width: 360px)
{
    div.content_piece
    {
        float:none;
        clear:both;
        width:300px;
    }
    
    div.content_piece p
    {
        padding:0px 5px 0px 5px;
        margin:0px 0px 15px 0px;
        text-align:justify;
    }
    
    div.content_piece h2
    {
        margin:0;
    }
    
    header
    {
        padding:10px;
    }
    
    header a img
    {
        max-width:300px;
        width:300px;
        height:auto;
    }
    
    #desc
    {
        font-size: 1.1em;
        line-height:inherit;
        width:300px;
        padding:10px !important;
        line-height:18px;
        float:none !important;
        width:auto !important;
    }
    
    h2.h2lefty
    {
        float:none;
        clear:both;
        margin-left:auto;
        margin-right:auto;
        text-align:left !important;
        padding-left:5px;
    }
    
    
    #gLocations iframe
    {
        max-width:320px;
        max-height:300px;
        min-width:300px;
        min-height:250px;
        border:none;
        width:100%;
    }
    
    footer
    {
        height:100px;
        line-height:100px;
    }
}

@media screen and (max-device-width:640px)
{
    
    #gLocations iframe
    {
        max-width:500px;
        max-height:240px;
        min-width:500px;
        min-height:220px;
        border:none;
        width:100%;
    }
}

@media screen and (max-device-width: 768px)
{
    body
    {
        margin:10px;
    }
}