*{
    margin:0;
    padding:0;
    font-size:100%;
    font-family: Arial, sans-serif;
    }
    body{
        background: #fff;	
    }
    root{
        
    }
    header{
        color: #789;
        text-align: right;
        border-bottom: 0px dotted #789;
        /* overflow: auto;*/ /* Св-во OVERFLOW с любым значением, кроме VISIBLE, предотвращает выпадение плавающего элемента из родителя */
        line-height: 32px; 
        padding:0 40px;
        margin-bottom: 15px;
        font-size: small;
    }
    header img{
        float: left;
    }
    nav{
        background: #fff;
        float: left;
        color:#789;
        padding: 10px 10px 0 20px;
        width: 290px;

        position: sticky;
        top: 50px;
    }

    nav p{
        font-size: 1.35em;
        border-bottom: #789 dotted 2px;
        margin:12px 0;
    }
    nav ul{
        list-style: none;
        margin-left: 20px;
        font-family: Arial, sans-serif;
        
    }
    nav a{
        font-size: 14px;
        color:#789;
        text-decoration: none;
        border-bottom: 0px;
        display:block;
        margin-bottom: 4px;        
    }
    main{
        background: #fff;
        text-align: center;
        margin-left: 320px; /* ширина блока NAV 280px + отступы 20px and 20px */		
    }
    main h1{
        font-family: Arial, sans-serif;
        font-size:1.5em;
        margin-bottom:15px;
        color:#789;
    }
    main h2{
        font-family: Arial, sans-serif;
        font-size:1em;
        text-align: left;
        margin-bottom:15px;
        margin-left:15px;
        color:#789;
    }
    main p{
        font-family: Arial, sans-serif;
        text-align: justify;
        padding: 0 40px 15px 10px;
        color:#789;
    }
    nav a:hover{
        color:chocolate;
    }
    /* корректирующие стили (всегда после основных) */
    @media print {
        body,
        main{background: transparent;}
        #btn-print,
        nav{display: none;}
        main{margin-left: 0;}
        h1	{text-align: center;}
        main p {padding: 0 0 15px 0;}	
    }	
    @media (max-width: 576px){
        #root {
            padding: 0 10px;}
            
        header {
            text-align: center;}
        
        header img {
            float: none;
            display: block;
            margin: auto;}
        
        nav {
            width: auto;
            float: none;
            padding: 0;
            position: static;
        }
            
        nav ul {
            margin: 0;
        }
        
        nav p {
            text-align: center;}
            
        main {
            margin-left: 0;}
    
        h1	{
            text-align: center;}
    
        main p {		
            padding: 0 0 15px 0;}	
        nav a:hover{
                color:chocolate;
            }
    }