﻿@charset "utf-8";

:root {
    font-size: 16px;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

header,
footer,
article,
section,
aside,
element,
nav,
menu,
figure,
main,
address {
    margin: 0;
    padding: 0;
    display: block;
    position: relative;
    font-style: normal;
}

.clearfix:after {
    content: ".";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0;
}

a:hover,
a:active,
a:visited {
    text-decoration: underline;
}

a {
    color: inherit;
    display: inline-block;
    text-decoration: underline;
    white-space: nowrap;
}

body {
    color: #3b454c;
    font-family: Helvetica, Arial, sans-serif;
    font-size: .812rem;
    line-height: 1.4;
    margin: 0;
    padding: 0;
}

#wrapper {
    position: relative;
    max-width: 58.5rem;
    margin: 1rem auto;
    border: solid thin #000;
    padding: 1.187rem;
    background-color: #fff;
    overflow: hidden;
}

p {
    text-align: left;
    margin-bottom: .625rem;
}

h1 {
    font-weight: 400;
    line-height: 1.22;
    margin: .625rem 0;
}

h2 {
    font-size: 138.46154%;
    letter-spacing: .025em;
    line-height: 1.3;
    font-weight: 400;
    margin: .625rem 0;
}

h3 {
    color: #697279;
    display: inline-block;
    font-size: 92.30769%;
    font-weight: 400;
    margin-bottom: 1.875rem;
    margin-top: 0;
}

h4 {
    font-size: 138.46154%;
    letter-spacing: .025em;
    line-height: 1.3;
    font-weight: 400;
    margin-bottom: .625rem;
    margin-top: .625rem;
}

hr {
    border-top: thin solid #a8adaf;
    margin: .625rem 0;
}

ul {
    list-style: none;
    margin: 0 0 0.625rem;
    padding: 0;
    line-height: 1.5
}

ul li {
    padding-left: .937rem;
    margin-bottom: .687rem;
}

ul li:before {
    content: "\25A0";
    float: left;
    margin-left: -.937rem;
    font-size: 0.75em;
    line-height: 1.8;
}

figure > img {
    width: 100%;
}

article > section:first-of-type {
    float: left;
    width: 50%;
    padding: 0 .625rem;
}

article > section:nth-of-type(2) {
    float: right;
    width: 50%;
    padding: 0 .625rem;
}

article > section:nth-of-type(3) {
    margin-top: 1.25rem;
    margin-bottom: 2.5rem;
    background: #e3e5e6;
    padding: .625rem;
}

article > section:nth-of-type(3) > nav {
    background: url('../images/red_line.png') no-repeat right center;
    background-size: 1.687rem;
    font-size: .875rem;
}

article > section:nth-of-type(3) > nav > p {
    width: 92%;
}

article > aside:first-of-type {
    padding: 0 .625rem;
    float: left;
    width: 31%;
    border: .062rem solid #d4d6d7;
    padding: .625rem;
}

article > aside:first-of-type > section {
    display: block;
    background: #f4f4f4;
    height: 18.75rem;
    padding: .312rem .625rem;
    width: 100%;
}

article > aside:first-of-type > section > p {
    line-height: 1.571;
    font-size: .812rem;
}

article > aside:nth-of-type(2) {
    float: right;
    width: 67%;
    border: .062rem solid #d4d6d7;
    padding: .625rem .625rem 0;
    height: 522px;
}

article > h2 {
    font-size: 169.23077%;
}

article > aside:nth-of-type(2) > section {
    display: block;
    background: #f4f4f4;
    height: 300px;
    padding: 5px 10px;
    width: 100%;
}

article > aside:nth-of-type(2) > p {
    margin-bottom: 5.187rem;
}

article > aside:nth-of-type(1) > section > p:nth-of-type(2) > a {
    width: 7.5rem;
    display: block;
    margin: 0 auto;
}

article > aside:nth-of-type(2) > section > p:nth-of-type(2) {
    width: 120px;
    display: block;
    margin: 0 auto;
}

article > section:last-of-type {
    display: block;
    background: #E3E5E6;
    padding: .312rem .625rem;
    width: 100%;
    margin-top: 1rem;
}

#wrapper > article > section:last-of-type > aside:nth-child(1) {
    float: left;
    width: 30%;
}

#wrapper > article > section:last-of-type > aside:nth-child(2) {
    float: right;
    width: 70%;
}

@media only screen and (max-width:58.437rem) {
    #wrapper {
        margin: 0 auto;
        border: 0;
        padding: 0.625rem .625rem 0;
        hyphens: auto;
    }

    article > aside:first-of-type,
    article > aside:last-of-type {
        float: none;
        width: auto;
        height: auto;
    }

    article > aside:first-of-type {
        margin: 1rem 0;
    }

    article > aside:first-of-type > section,
    article > aside:last-of-type > section {
        height: auto;
    }

    article > aside:nth-of-type(2) {
        padding: .625rem;
    }

    article > aside:nth-of-type(2) > p {
        margin-bottom: .937rem;
    }

    #wrapper > article > section:last-of-type > aside:nth-child(1) {
        width: 28%;
    }

    article > section:last-of-type > aside:last-of-type {
        float: none;
        width: auto;
    }
}

@media only screen and (max-width:30rem) {
    #wrapper {
        margin: 0 auto;
        border: 0;
        padding: .312rem .437rem 0;
    }

    h1 {
        font-size: 1.125rem;
    }

    h2,
    h3 {
        font-size: .875rem;
    }

    p {
        font-size: .75rem;
    }

    article > section:nth-of-type(3) {
        margin-bottom: 1.5rem;
    }

    article > section:nth-of-type(3) > nav > p {
        width: 85%;
    }

    article > aside:first-of-type p br {
        display: none;
    }   

    article > section:first-of-type,
    article > section:nth-of-type(2) {
        float: none;
        width: 100%;
    }

    #wrapper > article > section:last-of-type > aside:nth-child(1) {
        width: 100%;
    }

    #wrapper > article > section:last-of-type > aside:nth-child(1) img {
        margin: 0 auto;
    }

    #wrapper > article > section:last-of-type > aside:nth-child(2) {
        float: none;
        width: 100%;
    }

    #wrapper > article > section:last-of-type > aside:nth-child(2) span {
        white-space: nowrap;
    }
}