* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

html {
    font-size: 150%;
    line-height: 1.5;
    color: black;
}

body {
    margin: 0 auto;
    font-family: Arial, Helvetica, sans-serif;
    background-color: #5467B4;
    color: #222C47;
}

#mobileMenuButton {
    display: none;
    width: 100%;
    padding: 0.3rem 0.5rem 0 0.5rem;
    background-color: #4E61B0;
}

header {
    display: block;
    width: 100%;
    height: 633px;
    margin: 0 auto;
    color: white;
}

header.default {
    background: transparent url("../images/header.jpg") no-repeat center;
}

header.femaleDog {
    background: transparent url("../images/header-female-dog.jpg") no-repeat center;
}

header.maleDog {
    background: transparent url("../images/header-male-dog.jpg") no-repeat center;
}

header.puppy {
    background: transparent url("../images/header-puppy.jpg") no-repeat center;
}

header a {
    color: white;
    text-decoration: underline;
}

header a:hover {
    color: white;
    text-decoration: none;
}

#main {
    width: 1000px;
    margin: 0 auto;
    background: transparent url("../images/body.jpg") no-repeat center;
    background-size: 100% 100%;
}

nav {
    float: left;
    display: block;
    width: 206px;
    margin-top: 0.5rem;
    text-align: center;
}

nav ul {
    padding: 0 0.5rem;
    list-style-type: none;
}

nav ul li {
    padding: 0.4rem 0;
}

nav ul li span {
    color: black;
    text-decoration: none;
}

nav ul li span:hover {
    color: black;
    text-decoration: underline;
    cursor: pointer;
}

nav ul li.defaultHiddenItem {
    display: none;
}

nav ul li ul li {
    font-size: 0.8rem;
    padding: 0.2rem 0;
}

nav ul a {
    color: black;
    text-decoration: none;
}

nav ul a:hover {
    color: black;
    text-decoration: underline;
}

article {
    float: right;
    display: block;
    width: 794px;
    min-height: 420px;
    padding: 0.7rem 1rem;
    text-align: center;
}

footer {
    display: block;
    width: 100%;
    height: 424px;
    margin: 0 auto;
    background: transparent url("../images/footer.jpg") no-repeat center;
    text-align: center;
}

footer .logo {
    display: block;
    width: 1000px;
    margin: 0 auto;
    padding: 7.2rem 0 0 1.3rem;
    text-align: left;
}

h1 {
    color: #173A8C;
    font-size: 1.5rem;
    font-weight: normal;
    text-transform: uppercase;
}

h2 {
    color: #2F63C8;
    font-size: 1.3rem;
    padding: 1rem 0 0.5rem 0;
}

p {
    font-size: 0.8rem;
    padding: 0.5em 0 0.5rem 0;
}

p.message {
    text-align: left;
}

img {
    max-width: 100%;
    height: auto !important;
    margin: 0.1rem 0.2rem;
}

form {
    text-align: left;
}

input, textarea, select {
    font-size: 1rem;
}

input[type=text], input[type=password], textarea, select {
    width: 100%;
}

input[type=submit] {
    margin-top: 0.5rem;
    padding: 0.2rem 0.5rem;
}

input[type=checkbox]  {
    width: 1rem;
    height: 1rem;
}

div.message {
    margin: 0.2rem 0 1rem 0;
    padding: 0.2rem 0.4rem;
}

div.success {
    background-color: #A5D6A7;
    border: 4px solid #388E3C;
}

div.error {
    background-color: #EF9A9A;
    border: 4px solid #D32F2F;
}

.clear {
    clear: both;
}

.displayNone {
    display: none;
}

.displayBlock {
    display: block;
}

@media (max-width: 1048px) {

    #mobileMenuButton {
        display: block;
    }

    header {
        height: auto;
        padding-top: 47%;
    }

    header.default {
        background: #EAF4FD url("../images/header-mobile.jpg") no-repeat center top;
        background-size: 100% auto;
    }

    header.femaleDog {
        background: #EAF4FD url("../images/header-mobile.jpg") no-repeat center top;
        background-size: 100% auto;
    }

    header.maleDog {
        background: #EAF4FD url("../images/header-mobile.jpg") no-repeat center top;
        background-size: 100% auto;
    }

    header.puppy {
        background: #EAF4FD url("../images/header-mobile.jpg") no-repeat center top;
        background-size: 100% auto;
    }

    #main {
        width: 100%;
        background-image: none;
        background-color: #EAF4FD;
    }

    nav {
        position: absolute;
        display: none;
        top: 44px;
        left: 0;
        width: 100%;
        padding-bottom: 1rem;
        background-color: #4E61B0;
    }

    nav ul li span {
        color: white;
    }

    nav ul li span:hover {
        color: white;
    }

    nav ul a {
        color: white;
    }

    nav ul a:hover {
        color: white;
    }

    article {
        float: none;
        width: 100%;
        min-height: 880px;
    }

    footer {
        height: auto;
        padding-top: 41%;
        background: #EAF4FD url("../images/footer-mobile-2.jpg") no-repeat center bottom;
        background-size: 100% auto;
    }

    footer .logo {
        width: 100%;
        padding-top: 1rem;
    }

}