* {
   box-sizing: border-box;
}

body { 
   margin: 0;
   padding: 10px;
   display:flex;
   flex-direction: column;
   font-family: 'Source Sans Pro', sans-serif;
   font-size: 18px;
}

h1, h2 {
   font-family: 'Alegreya Sans', sans-serif;
}

.main-container {
	flex-grow: 1;
    display: flex;
    flex-direction: row;
	margin-top: 5px;
}

@media screen and (max-width: 640px) {
   .main-container {
      display: block;
   }
}


/***********************************************************************************
* Page header
***********************************************************************************/

header.page-header {
  overflow: hidden;
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid black;
}

section.page-header-title {
  float: left;
  overflow: hidden;
  flex-grow: 1;
}

section.page-header-links {
  float: right;
  overflow: hidden;
}

section.page-header-title h1 {
  font-size: 3em;
  margin: 0;
  padding: 0;
}

section.page-header-title h2 {
  font-weight: normal;
  margin: 0;
  padding: 5px 0;
}

section.page-header-links a {
  float: left;
  color: black;
  text-align: center;
  padding: 8px;
  text-decoration: none;
  font-size: 18px;
  line-height: 32px;
  width: 100%;
}

section.page-header-links img {
  float: left;
  vertical-align: middle;
}

section.page-header-links span {
  float: left;
  vertical-align: middle;
  padding-left: 5px;
}

section.page-header-links a:hover, a:hover span {
  text-decoration: underline;
}

@media screen and (max-width: 1007px) {
  header.page-header {
    display: block;
  }
  
  section.page-header-title {
    float: none;
	text-align: center;
  }

  section.page-header-links {
    float: none;
	border-top: 1px solid;
	border-bottom: 1px solid;
  }
  
  section.page-header-links img {
    float: none;
  }
  
  section.page-header-links span {
    float: none;
  }
}

/***********************************************************************************
* Page navigation - sidebar
***********************************************************************************/

nav.aside-navigation {
  flex: 0 0 300px;
}

nav.aside-navigation ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

nav.aside-navigation li a {
  display: block;
  color: #000;
  padding: 7px 16px;
  font-size: 18px;
  text-decoration: none;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
}

nav.aside-navigation li li a {
  padding: 7px 16px;
}

nav.aside-navigation li li li a {
  padding: 7px 16px;
}

nav.aside-navigation li:not(.active) a:hover {
  color: red;
  border-left: 5px solid red;
}

nav.aside-navigation li.active > a {
  color: red;
  border-left: 5px solid red;
}

nav.aside-navigation ul ul {
  border-left: 1px dotted rgba(0, 0, 0, 0.5);
  margin-left: 16px;
  display: none;
}

nav.aside-navigation li.active > ul {
  display: block;
}

nav.aside-navigation li a.m-btn {
  display: none;
}

@media screen and (max-width: 640px) {
  nav.aside-navigation {
	border-bottom: 1px solid;
  }
  
  nav.aside-navigation li a:not(.m-btn) {
	display: none;
  }
  
  nav.aside-navigation li a.m-btn {
	padding: 10px;
    text-align: center;
    width: 100%;
	display: flex;
    justify-content: center;
    align-items: center;
  }
  
  nav.aside-navigation li a.m-btn:hover {
	border: none;
  }
  
  nav.aside-navigation.m-nav li a {
	display: flex;
  }
  
  nav.aside-navigation .m-icon {
    display: block;
	margin: -3px 0;
  }
  
  nav.aside-navigation .mIconBar1, .mIconBar2, .mIconBar3 {
    width: 35px;
    height: 5px;
    background-color: #000;
    margin: 6px 0;
    transition: 0.4s;
  }

  nav.aside-navigation.m-nav .mIconBar1 {
	-webkit-transform: rotate(-45deg) translate(-9px, 6px);
    transform: rotate(-45deg) translate(-9px, 6px);
  }

  nav.aside-navigation.m-nav .mIconBar2 {
    opacity: 0;
  }

  nav.aside-navigation.m-nav .mIconBar3 {
	-webkit-transform: rotate(45deg) translate(-8px, -8px);
    transform: rotate(45deg) translate(-8px, -8px);
  }
}

/***********************************************************************************
* Page main section
***********************************************************************************/

main {
  flex-grow: 1;
  padding-left: 10px;
  overflow: auto;
}

main #main-title {
  margin: 0;
  border-bottom: 1px solid black;
}


/***********************************************************************************
* Homepage
***********************************************************************************/

#home-container {
   display: flex;
   flex-direction: row;
   width: 100%;
}

#home-left, #home-right {
   padding: 0 10px;
   flex: 1 1 50%;
   margin-bottom: 30px;
}

@media screen and (max-width: 640px) {
   #home-container {
      display: block;
   }
   
   #home-left {
      margin-top: 10px;
   }
}


/***********************************************************************************
* Page "Zadania"
***********************************************************************************/

#t-zadania { 
  width: 100%; 
  border-collapse: collapse; 
}

#t-zadania tr:nth-of-type(even) { 
  background: #eee; 
}

#t-zadania tr:hover { 
  background: #ccc; 
}

#t-zadania td { 
  padding: 6px; 
  text-align: left; 
}

#t-zadania td:nth-child(1) {
  width: 1px;
  white-space: nowrap;
}

#t-zadania td:nth-child(2) {
  font-weight: bold;
}

#t-zadania td:nth-child(3) {
  width: 1px;
  white-space: nowrap;
  padding-left: 12px;
  padding-right: 12px;
}

#t-zadania td:nth-child(4) {
  width: 1px;
  white-space: nowrap;
}

#t-zadania td:nth-child(3) a, td:nth-child(4) a {
  float: left;
  color: black;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
  line-height: 32px;
  width: 100%;
}

#t-zadania td:nth-child(3) a img, td:nth-child(4) a img {
  vertical-align: middle;
}

#t-zadania td:nth-child(3) a span, td:nth-child(4) a span {
  vertical-align: middle;
  padding-left: 5px;
}

#t-zadania td:nth-child(3) a:hover span, td:nth-child(4) a:hover span {
  text-decoration: underline;
}

@media screen and (max-width: 1007px) {
   #t-zadania td:nth-child(2) {
      display: none;
   }
}


/***********************************************************************************
* Page "Seria"
***********************************************************************************/

#h-seria {
   display: flex;
   flex-direction: row;
   line-height:32px;
   height:44px
   margin-bottom: 6px;
}

#h-seria-number {
   padding: 6px 0;
}

#h-seria-title {
   flex-grow: 1;
   padding: 6px;
   font-weight: bold;
}

#h-seria-github {
   margin-left: 12px;
   padding: 6px 0;
}

#h-seria-github a {
  float: left;
  color: black;
  text-align: center;
  text-decoration: none;
  width: 100%;
}

#h-seria-github a img {
  vertical-align: middle;
}

#h-seria-github a span {
  vertical-align: middle;
  padding-left: 5px;
}

#h-seria-github a:hover span {
  text-decoration: underline;
}

@media screen and (max-width: 640px) {
   #h-seria-number {
	   flex-grow: 1;
   }
   
   #h-seria-title {
      display: none;
   }
}


/***********************************************************************************
* Page "Konfiguracja środowiska pracy"
***********************************************************************************/

.tab {
  overflow: hidden;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
}

.tab button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 14px 16px;
  transition: 0.3s;
  font-size: 17px;
}

.tab button:hover {
  background-color: #ddd;
}

.tab button.active {
  background-color: #ccc;
}

.tabcontent {
  display: none;
  padding: 6px 12px;
  -webkit-animation: fadeEffect 1s;
  animation: fadeEffect 1s;
}

/* Fade in tabs */
@-webkit-keyframes fadeEffect {
  from {opacity: 0;}
  to {opacity: 1;}
}

@keyframes fadeEffect {
  from {opacity: 0;}
  to {opacity: 1;}
}


/***********************************************************************************
* Page footer
***********************************************************************************/

footer {
  padding: 10px;
  border-top: 1px solid;
  overflow: hidden;
}
