/*
    basic

    możliwości:
    - przy 1330px dwurzędowe menu, burger menu
    - przy 850px burger menu
    - przy 830px menu boczne schowne, w treści zlikwidowane marginesy
    - przy 540px -> 800px menu boczne zmienione na pionowe
*/

@font-face {
    font-family: 'noto_sansregular';
    src: url('../font/notosans-regular-webfont.eot');
    src: url('../font/notosans-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../font/notosans-regular-webfont.woff2') format('woff2'),
         url('../font/notosans-regular-webfont.woff') format('woff'),
         url('../font/notosans-regular-webfont.ttf') format('truetype'),
         url('../font/notosans-regular-webfont.svg#noto_sansregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'noto_sansbold';
    src: url('../font/notosans-bold-webfont.eot');
    src: url('../font/notosans-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('../font/notosans-bold-webfont.woff2') format('woff2'),
         url('../font/notosans-bold-webfont.woff') format('woff'),
         url('../font/notosans-bold-webfont.ttf') format('truetype'),
         url('../font/notosans-bold-webfont.svg#noto_sansbold') format('svg');
    font-weight: normal;
    font-style: normal;
}


html {
    height: 100%;
}

body {
    min-height: 100%;
    font-size: 12px;
    font-family: 'noto_sansregular', sans-serif;
    line-height: 1;
    color: #3e3e3f;
    position: relative !important;    
}

/*
	skip links	
*/

.skip-links { 
	margin: 0; 
	list-style: none; 
}

.skip-links a {
	outline: #000 dashed 2px !important;
	position: fixed;
	top: 0;
	left: -9000em;
	z-index: 102;
	text-decoration: none;	
}

.skip-links a:focus {
	padding: 2px 15px;
	outline-offset: 0 !important;
	outline-color: #fff;	
	left: 15px;
	background-color: #666;
	color: #fff;
}

/*
a:focus {
    outline: 2px solid red !important;
    
} 
*/
.image {
    height: auto;
    max-width: 100%;							
    display: block;
}

.hide {
    clip: rect(1px, 1px, 1px, 1px);
    display: block;
    position: absolute;
}

.center-col {
    width: 98%;
    max-width: 1300px;
    margin: 0 auto;
}

@media screen and (max-width: 850px) {
    .center-col {
        /*
        width: 100%;
        padding: 0 5px;*/
        /*margin: 0;*/
        /*box-sizing: border-box;*/
    }
}

.subfield {
    color: #5a56cc;
}		

* {
    letter-spacing: 0.02em;
}

.IEMsg {
    font-size: 1.25em;
    letter-spacing: normal;
}

    
/*
    wrapper
*/

/*
@media screen and (max-width: 1015px) {
    #wrapper.with-sidebar  {
        width: 99%;
        margin-left: 0;
    }    
}
*/
#wrapper {
    padding-bottom: 105px;
}

#search-results-header + #wrapper {
    padding-top: 50px;
}

/*
    top menu
*/

    header {        
        position: fixed;
        font-size: 1.5em;
        background-color: #fff;
        z-index: 100;
    }
    
            header a#logo {
                width: 43px;
                height: 41px;
                margin: 25px 142px 24px 0;
                margin-right: 57px;
                float: left;
                display: block;
                background: url('../images/logo_wb_small.png') no-repeat;
            }
            
            @media screen and (max-width: 1330px) {
                header a#logo {
                    margin-right: 0;
                }
            }
            
            #header-toggle-btn {
                width: 27px;
                height: 20px;
                border: none;
                margin-top: 25px;
                float: right;
                cursor: pointer;
                display: none;
                background: url('../images/ico_burger.png') no-repeat;
            }
            
            @media screen and (max-width: 1330px) {
                #header-toggle-btn {
                    display: block;
                }            

                #header-wrapper.drop-down #header-toggle-btn {
                    margin-bottom: 0;
                    background: url('../images/ico_cross.png') no-repeat;
                }                
            }
                        
            
            /*
                main menu
            */
            
            #main-menu {
                font-size: 0.83333em;
            }
            
            @media screen and (max-width: 1330px) {
                #main-menu {
                    text-align: center;
                    clip: rect(1px, 1px, 1px, 1px);
                    position: absolute;
                }
                
                #header-wrapper.drop-down #main-menu {
                    clip: auto;
                    position: static;    
                }                
            }
            
            #main-menu ul { margin-top: 25px; }

            @media screen and (max-width: 1330px) {
                #main-menu ul {
                    width: 675px;
                    display: inline-block;                    
                }
            }
            
            @media screen and (max-width: 800px) {
                #main-menu ul { width: auto; }
            }
                        
            #main-menu li {
                width: 200px;	/* 185 */
                height: 41px;
                line-height: 41px;
                display: inline-block;
                text-align: center;
            }

            @media screen and (max-width: 1330px) {
                #main-menu li {                   
                    width: 225px;
                }
            }
            
            @media screen and (max-width: 800px) {                           
                #main-menu li {                   
                    height: 31px;
                    line-height: 31px;
                    margin-right: 0;
                    display: block;
                    text-align: center;
                }
            }
                
            #main-menu a:hover {
                text-decoration: underline;
            }

            #main-menu .marked a {
                font-family: 'noto_sansbold', sans-serif;
                background-color: #f7f7f7 !important;
            }
                        
            @-moz-document url-prefix() {            
                #main-menu .marked a {
                    font-family: 'noto_sansregular', sans-serif;
                    font-weight: bold;
                }
            }

                #main-menu li.marked a:hover {
                    text-decoration: none;
                }

            /*
                page menu
            */
            
            #page-menu { 
                height: 45px; 
                overflow-x: auto;
                white-space: nowrap;               
            }
            
            @media screen and (max-width: 1330px) {
                #page-menu {
                    clip: rect(1px, 1px, 1px, 1px);
                    position: absolute;
                }
                
                #header-wrapper.drop-down #page-menu {
                    clip: auto;
                    position: static;
                }
            }
            
            #page-menu ul { 
                font-size: 0.833em; 
            }
            
            @media screen and (max-width: 1330px) {
                #page-menu ul { 
                    margin-left: 0; 
                }                
            }
            
            #page-menu li {
                height: 45px;
                line-height: 45px;
                margin-right: 26px;
                display: inline-block;                
            }
            
            #page-menu li:last-child, #main-menu li:last-child {
                margin-right: 0;
            }
                                   
            #page-menu a, #main-menu a {
                display: block;
                color: #3e3e3f;
                text-decoration: none;
            }

            #page-menu .marked {
                font-family: 'noto_sansbold', sans-serif;
                background: url("../images/ico_active1.png") no-repeat center bottom;
            }
                



/*
    search
*/

#search {
    width: 100%;
    height: 48px;
    position: fixed;
    top: 111px;
    line-height: 48px;
    background-color: #f3f3f3;    
    z-index: 100;   
}

@media screen and (max-width: 1330px) {
    #search {                   
        top: 90px;
    }
    
    #header-wrapper.drop-down + #search {
        top: 152px;
    }    
}

@media screen and (max-width: 800px) {
    #header-wrapper.drop-down + #search {
        top: 256px;
    }    
}

    #search input[type=text] {
        border: none;
        margin-left: 40px;        
        background-color: #f3f3f3;
        font-family: inherit;
        font-size: 1.25em;
    }
    
    #search input[type=image] {
        margin-top: 12px;
        float: left;
    }
                
/*
    search result header
*/

#search-results-header {
    width: 100%;
    height: 50px;
    border-bottom: 1px solid #787878;
    position: fixed;
    top: 159px;
    background-color: #fff;
}

@media screen and (max-width: 1330px) {
    #search-results-header {                   
        top: 138px;
    }
    
    #header-wrapper.drop-down ~ #search-results-header {
        top: 200px;
    }    
}

@media screen and (max-width: 800px) {
    #header-wrapper.drop-down ~ #search-results-header {
        top: 304px;
    }    
}

    #search-results-header div {
        padding-left: 450px;
        box-sizing: border-box;
    }

@media screen and (max-width: 830px) {
    #search-results-header div {
        padding-left: 0;
        text-align: center;
    }    
}
    
    #search-results-header h2 {
        font: 1.25em /50px 'noto_sansregular', sans-serif;
        white-space: nowrap;
    }
        
/*
    content
*/

#content {
    padding-top: 159px;
    font-size: 1.25em;
    line-height: 1.66666;
}

@media screen and (max-width: 1330px) {
    #content {
        padding-top: 138px;
    }
    
    #header-wrapper.drop-down ~ #wrapper #content {
        padding-top: 200px;
    }
}

@media screen and (max-width: 800px) {    
    #header-wrapper.drop-down ~ #wrapper #content {
        padding-top: 304px;
    }
}


    #content a {
        color: #1f567f;
    }
    
    #content blockquote {
        padding-left: 12px;
        margin: 23px 0 20px 40px;
        border-left: 2px solid #c1c1c1;
        color: #c1c1c1;
    }
    
    #content span.highlight { background-color: #ffe500; }
            
        .search-result-list h3, .search-result-list h4 {
			font-weight: normal;
		}
		
		.search-result-list h3 {
            margin: 25px 0;
            font-size: 1.33333em ;
        }
    
		.search-result-list h4 {
			margin: 10px 0;
            font-size: 1.13333em ;
		}
		
		.search-result-list > ul  > li{
			list-style: none;
		}
        
        #right-col-wrapper {
            width: 100%;
            padding-right: 15.3846%;
            margin-bottom: 1px;
            padding-left: 450px;
            box-sizing: border-box;        
            float: right;
            overflow: hidden;
        }

        
        @media screen and (max-width: 1330px) {
            #right-col-wrapper {
                padding-left: 360px;
                padding-right: 0;
            }
        }
        
        @media screen and (max-width: 830px) {
            #right-col-wrapper {
                padding-left: 48px;
                /*padding-right: 0;*/
            }
        }
        /*
        @media screen and (max-width: 1195px) {
            #right-col-wrapper {        
            }
        }

        @media screen and (max-width: 1015px) {
            #right-col-wrapper {
                padding-left: 0;
                margin-left: 0;
            }

            #wrapper.with-sidebar #right-col-wrapper {
                padding-left: 35px;
            }
        }
        */
        
            #right-col-wrapper ol, #right-col-wrapper ul { list-style-position: inside; }

            #right-col-wrapper ol { list-style-type: decimal; }            
            #right-col-wrapper ul { list-style-type: disc; }
    
            #right-col-wrapper .anchor  {
                display: block;
                position: relative;
                top: -159px;
            }

            @media screen and (max-width: 1330px) {
                #right-col-wrapper .anchor {
                    top: -138px;
                }
                
                #header-wrapper.drop-down ~ #wrapper .anchor {
                    top: -200px;
                }
            }

            @media screen and (max-width: 800px) {           
                #header-wrapper.drop-down ~ #wrapper .anchor {
                    top: -304px;
                }            
            }

                
                .subsection h2, .subsection h3, .subsection h4 {
                    font-family: 'noto_sansbold', sans-serif;
                }

                .subsection h2 {
                    margin: 45px 0 40px;
                    font-size: 1.46666em;
                }

                .subsection h3, .subsection h4 {
                    margin: 37px 0 40px;
                }

                .subsection h3 { font-size: 1.2em; }    

                    .subsection-content strong { font-family: 'noto_sansbold', sans-serif; }

                    .subsection-content ul , .subsection-content ol {
                        padding-left: 40px;
                    }   

                    .subsection-content .pattern, .subsection-content .anti-pattern {                
                        padding: 15px 40px;
                        margin: 23px 0 20px;
                        display: block;
                    }

                    .subsection-content .pattern {
                        background-color: #e6e6e6;
                    }

                    .subsection-content .anti-pattern {
                        background-color: #faaaaa;
                        text-decoration: line-through;
                    }
                            
/*
    table
*/

.subsection-content table {
    text-align: center;
    line-height: 1.33333;
}    

.subsection-content table[align=left] {
    margin-right: auto;
    float: none;
}

.subsection-content table[align=center] {
    margin: 0 auto;
}

.subsection-content table[align=right] {
    margin-left: auto;    
    float: none;
}

    .subsection-content table tr {
        border-bottom: 1px solid #e6e6e6;
    }

    .subsection-content table tr:first-child {
        font-family: 'noto_sansbold', sans-serif;
    }

    .subsection-content table tr:last-child {
        border-bottom: none;
    }


    .subsection-content table td {
        padding: 5px 15px;
    }

                    
/*
    sidebar
*/

    
    #sidebar {
        width: 340px;
        position: relative;
    }

    
    @media screen and (max-width: 830px) {
        #sidebar {
            width: 28px;
            right: auto;
        }

        #sidebar.show {
            width: 340px;
        }        
    }
    
                    
        #sidebar nav {
            margin-top: 30px;
            margin-bottom: 105px;
            max-width: 310px;
        }
        
        @media screen and (max-width: 830px) {
            #sidebar nav {
                margin-top: 15px;
            }
        }
        
            #sidebar nav ul ul {
                margin-left: 20px;
            }
            
            #sidebar nav li.active > a {
                background-color: #3e3e3f; /* #828284;*/
                color: #fff;                
            }

                #sidebar nav li.active li.active > a {
                    background-color: #e6e6e6;
                    color: #3e3e3f;                
                }
            
                @media screen and (max-width: 1015px) {
                    #sidebar.show nav li.active > a {
                        /*width: 340px;*/
                        background-color: #fff;
                        color: #3e3e3f;                
                    }
                }            
            
                #sidebar nav li a span {
                    display: block;
                    line-height: 1.4;
                }

                    ul.nav > li.active > ul.nav {
                        clip: auto;
                        position: static;                        
                    }            
                    
                    ul.nav > li > ul.nav {
                        clip: rect(1px, 1px, 1px, 1px);
                        position: absolute;                        
                    }
                    
        #sidebar-wrapper {
            width: 340px;
            height: 100%;
            padding-top: 159px;
            margin-top: -159px;
			padding-bottom: 50px;
            position: fixed;
            box-sizing: border-box;
        }
        
            #hide-sidebar-btn {
                display: none;
            }
        
        @media screen and (max-width: 1330px) {
            #sidebar-wrapper {             
                padding-top: 138px;
                margin-top: -138px;            
            }
            
            #header-wrapper.drop-down ~ #wrapper #sidebar-wrapper {             
                padding-top: 200px;
                margin-top: -200px;
            }
        }
        
        @media screen and (max-width: 800px) {
            #header-wrapper.drop-down ~ #wrapper #sidebar-wrapper {             
                padding-top: 304px;
                margin-top: -304px;
            }            
        }
        
        @media screen and (max-width: 830px) {
            #sidebar-wrapper {            
                width: 28px;
                left: 0;                
            }
  
            #sidebar.show a {
                color: #fff;
            }
            
            #left-menu, #search-result {
                background-color: #3e3e3f !important;
            }
            
            #sidebar.show #sidebar-wrapper {
                width: 340px;
                background-image: none;
            }            
            
                #sidebar-wrapper #left-menu {
                    background: url(../images/menu_dots.png) 10px 12px no-repeat;
                }
                                
                #sidebar.show #sidebar-wrapper #left-menu {
                    background-image: none;
                }
                
                    #left-menu-wrapper {
                        clip: rect(1px, 1px, 1px, 1px);
                        position: absolute;                        
                    }
                    
                    #sidebar.show #left-menu-wrapper {
                        padding-top: 30px;
                        box-sizing: border-box;
                        clip: auto;
                        position: static;
                    }
                                    
                #sidebar.show #hide-sidebar-btn {
                    width: 22px;
                    height: 21px;
                    border: none;
                    position: absolute;
                    top: 4px;
                    right: 30px;
                    display: block;
                    cursor: pointer;
                    background: url("../images/ico_cross_white.png") no-repeat;
                    z-index: 101;
                }                    
        }
        
        
            #left-menu {
                height: 100%;
                box-sizing: border-box;
                position: relative;
                cursor: pointer;
            }

            #sidebar.show-results #left-menu {
                clip: rect(1px, 1px, 1px, 1px);
                position: absolute;                        
            }            
            
            #sidebar-wrapper #left-menu-wrapper {
                height: 100%;
                overflow-y: auto;
            }
            
            
        
        #sidebar nav a {
            padding: 10px 0 9px 10px;
            display: block;
            color: #3e3e3f;
            text-decoration: none;            
        }
/*        
        @media screen and (max-width: 1015px) {
            #sidebar.show a {
                color: #fff;
            }
        }
*/        
        #sidebar a:hover {
            text-decoration: underline;
        }
        
        .mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
            background-color: #676768;
        }
        
        
        .mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
            background-color: #676768;
        }
        
        .mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #676768; }
        
        #search-result {
            /*width: 100%;*/
            height: 100%;
            display: none;
            background-color: #fff;
        }

        @media screen and (max-width: 830px) {
            #search-result { color: #fff;  }
        }
        
        #sidebar.show-results #search-result {
            position: relative;
            display: block;
            /*
            position: absolute;
            top: 0;            */
        }
        
            #search-result #search-result-wrapper {
                height: 100%;
                padding-top: 50px;
                box-sizing: border-box;
                overflow-y: auto;
            }
        
            #search-result h2 { 
                width: 310px;
                font: normal 1em 'noto_sansregular', sans-serif; 
                position: absolute;
            }
            
            #search-result button {
                width: 22px;
                height: 22px;
                border: none;
                position: absolute;
                top: 4px;
                right: 30px;
                cursor: pointer;
                background: url("../images/ico_cross.png") no-repeat center center;
            }
            
            @media screen and (max-width: 830px) {
                #search-result button {
                    background: url("../images/ico_cross_white.png") no-repeat center center;
                }
            }
            
            #search-result a { 
                color: #3e3e3f;
                text-decoration: none;
            }
            
            #search-result a:hover { text-decoration: underline; }
            
            /*#search-result-wrapper li li  { padding-left: 20px; }*/
            #search-result li a { display: block; padding: 25px 0; border-bottom: 1px solid #3e3e3f; }

            @media screen and (max-width: 830px) {
                #search-result li a { border-bottom-color: #fff;  }
            }
            
        /*
            global search
        */

        @media screen and (max-width: 830px) {
            #sidebar form {
                padding-left: 10px;
                color: #fff;
            }
        }
        
        #sidebar form legend {
            margin: 25px 0;
            font-size: 1.33333em;
        }
        
        #sidebar form input {
            margin: 0;
            position: relative;
            left: -300px;
            vertical-align: middle;
        }
        
        #sidebar form label {            
            width: 300px;
            padding-left: 25px;
            box-sizing: border-box;            
            display: inline-block;
        }
        
            
/*
    footer
*/


body.using-keyboard :focus {
	outline: #000 dashed 2px;
	outline-offset: 5px;
	text-decoration: none;
}

body.using-keyboard #main-menu :focus {
	outline: none;
	opacity: 0.4;
}