/*
	Version: 1.0
	Author: Incata IT
	Author: vaxquis & lislimonke
	Tags: HTML5, CSS3
*/

html {
    box-sizing: border-box;
    overflow-x: hidden;
}

*, *:before, *:after {
    box-sizing: inherit;
}

body {
    font-family: "Source Sans Pro", Verdana, sans-serif;
    text-align: justify;
    line-height: 1.5;
    color: #6D6D6D;

    background-color: #fff;
}

section {
    padding: 3rem 0;
}

.margined-sections section {
	padding: 0;
	margin: 3rem 0;
}

section > *, nav > * {
    max-width: 1050px;
    margin: 0 auto;
}

section > div {
    padding: 0 2rem;
}

#fb > div {
    padding: 0;
}

#fb-h1 {
    padding: 0 1rem;
}

.image-div {
    background-size: 0 0;
}

h1, h2, h3, a, .quicksand {
	font-family: "Quicksand", Verdana, sans-serif;
    font-weight: 700;
	letter-spacing: 1px;
}

h1, h2 {
	text-align: center;
	overflow: hidden;

    display: flex;
    justify-content: center;
    align-items: center;
}

h1 > span, h2 > span {
	max-width: 100%;
}

h1 {
	font-size: 1.5rem;
    color: #00B2EF;    
}

h2 {
	font-size: 1.1rem;
	color: #A9A9A9;    
}

h3 {
    font-size: 1.5rem;	
    text-align: left;
    color: #00B2EF;    
}

h1.lineless:before, h1.lineless:after,
  h2.lineless:before, h2.lineless:after {
    display: none;
}

h1:before, h1:after,
  h2:before, h2:after {
    content: "";
    display: inline-block;
    width: 50%;
    vertical-align: middle;
    border-bottom: 2px solid;
}

h1:after,
  h2:after {
    margin: 0 -55% 0 .5em;
}

h1:before,
h2:before {
	margin: 0 .5em 0 -55%;
}

h2:before,
  h2:after {
      color: #D3D3D3;
}

a {
    text-decoration: none;

    font-size: 1rem;
    color: #00B2EF;
    transition: color 0.5s;
}

a:hover {
    color: #005A7A;
}

form {
    display: inline-block;
}

hr {
	margin: 0;
	border: 1px solid #ddd;
}

input.search-input {
	border-style: solid;
    border-color: #D1D3D4;
    border-radius: 4px;
}

img {
	max-height: 100%;
    max-width: 100%;
}

.limit-width {
	max-width: 1050px;
}

.margin-0-auto {
	margin: 0 auto;
}

.text-align-left {
	text-align: left;
}

.bkgd-white {
	background-color: #fff;
}

#edycja20xxText {
    margin: 0 1rem;
    max-width: 500px;
} 

#edycja20xxMap {
    margin: 0 1rem;
}

.map-caption {
    font-family: "Quicksand", Verdana, sans-serif;
    font-weight: 700;
    letter-spacing: 1px;
	
	font-size: 1.6rem;
    color: #2E3191;
    text-align: center;
    line-height: 1;

    position: absolute;
    height: 100%;
    width: 100%;
}

.stats-amount {
	font-family: "Quicksand", Verdana, sans-serif;
    font-weight: 500;
    letter-spacing: 1px;
	
	font-size: 3rem;
    color: #2E3191;
    text-align: center;
}

.stats-name {
	font-family: "Quicksand", Verdana, sans-serif;
    font-weight: 700;
    letter-spacing: 1px;
	
	font-size: 1rem;
    color: #2E3191;
    text-align: center;	
}

/* possible fix for older, incompatible devices */
/*
#stats3 .count-circle {
	margin: 0 auto;
}
*/

.font-size-small {
	font-size: 0.8rem;
}

.font-size-very-large {
	font-size: 1.5rem;
}

.map-caption em {
    font-size: 3.2rem;
    font-style: normal;
}

.menu a, .dark-grey {
    color: #555;
    padding: 0.2rem;
}

.menu a:hover {
    color: #00B2EF;
}

ul {
    list-style: none;
}

.width-50pct {
    width: 50%;
}

.width-100pct {
    width: 100%;
}

.flex-dont-grow {
    flex-grow: 0;
}

.flex-grow {
    flex-grow: 1;
}

.flex-dont-shrink {
    flex-shrink: 0;
}

.flex-shrink {
    flex-shrink: 1;
}

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flex {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-justify {
    justify-content: center;
}

.flex-justify-start {
    justify-content: flex-start;
}

.flex-justify-end {
    justify-content: flex-end;
}

.flex-align-start {
    align-items: flex-start;
}

.flex-align-center {
	align-items: center;
}

.flex-align-end {
    align-items: flex-end;
}

.flex-align-stretch {
	align-items: stretch;
}

.flex-align-self-start {
    align-self: flex-start;
}

.flex-align-self-start {
    align-self: center;
}

.flex-align-self-end {
    align-self: flex-end;
}

.flex-align-self-stretch {
	align-self: stretch;
}

.flex-align-center {
	align-items: center;
}

.blue-sep {
    color: #00B2EF;
    padding: 0 0.5rem;
}


/*.nav {
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
}*/

.menu {
    font-family: "Quicksand", Verdana, sans-serif;
    font-weight: 500;
    font-size: 1rem;
    white-space: nowrap;
    color: black;
}

.menu img {
	vertical-align: middle;
}

.relative {
    position: relative;
}

.absolute {
	position: absolute;
}

#menu-top img {
    display: inline-block;
    padding: 0 0.3rem; 
}

#menu-bottom img {
    display: inline-block;
    /*padding: 0 0.4rem;*/
    /*margin: 2rem 0;*/
}

/*.logo {
    margin: 24px 0px;
    display: block;
    margin: 0 auto;
}*/

.line-height-half {
	line-height: 0.5;
}

.wrapper-1 {
    text-align: center;
}

.wrapper-2 {
    text-align: right;
}

.button {
    display: inline-block;

    font-family: "Quicksand", Verdana, sans-serif;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 1px;
    color: #fff;

    margin-top: 30px;
    background-color: #00B2EF;
    padding: 6px 20px;

    border: none;
    border-radius: 25px;

    transition: background-color 0.5s;
}

.button:hover {
    background: #0388B7;
}

.button:focus, :active > .button {
    background-color: #005a7a;
    border: none;
    outline: 0;
}

#intro {
    color: black;
}

#msg {
    padding: 1rem 2rem;
}

.cover-bkgd {
	background-color: #fff;
	background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    box-shadow:
		inset 0px 10px 10px -8px rgba(0,0,0,0.4),
		inset 0px -10px 10px -8px rgba(0,0,0,0.4);
}

.background-cover {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.header-shadow {
	box-shadow:
		inset 0px 10px 10px -8px rgba(0,0,0,0.2),
		inset 0px -10px 10px -8px rgba(0,0,0,0.2);
}

#intro .msg {
    background: #fff;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
}

#intro .about {
    background: rgba(255,255,255,0.8);
    padding: 2rem 4rem;
    margin-top: 3rem;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
}

.msg {
    display: flex;
}

.striped > *:nth-child(even) {
    background-color: #F2F2F2;      
}

.text-center {
    text-align: center
}

.important {
    font-family: "Quicksand", Verdana, sans-serif;
    font-weight: 700;
    color: #EC1C24;
    padding: 1rem 0;    
}

.padding-0 {
    padding: 0 0;
}

.padding-all {
    padding: 2rem;
}

.padding-half-all {
    padding: 1rem;
}

.padding-top {
    padding-top: 2rem;
}

.padding-top-half {
    padding-top: 1rem;
}

.padding-bottom {
    padding-bottom: 2rem;
}

.padding-bottom-half {
    padding-bottom: 1rem;
}

.padding-right {
    padding-right: 2rem;
}

.padding-right-half {
    padding-right: 1rem;
}

.padding-left {
    padding-left: 2rem;
}

.padding-left-half {
    padding-left: 1rem;
}

.margin-top {
    margin-top: 2rem;
}

.margin-top-half {
    margin-top: 1rem;
}

.margin-bottom {
    margin-bottom: 2rem;
}


.margin-bottom-half {
    margin-bottom: 1rem;
}

.margin-right {
    margin-right: 2rem;
}

.margin-right-half {
    margin-right: 1rem;
}

.margin-left {
    margin-left: 2rem;
}

.margin-left-half {
    margin-left: 1rem;
}

.margin-0 {
    margin: 0;
}

.margin-all {
    margin: 2rem;
}

.margin-half-all {
    margin: 1rem;
}


.margin-logo {
    margin: 2rem;
}

/*
select ~ select {
    display: inline-block;
}
*/

.flex-column {
    flex-direction: column;
}

#menu-bottom-contact {
    white-space: normal;
}

#menu-bottom-submenu a {
    padding: 0.2rem 1rem;
}

.menu a img {
	transition: transform 0.5s;
}

.menu a:hover img {
	transform: translatey( 0.25rem );
}

.hidden {
	visibility: hidden;
}

.search {
	margin-top: 1rem;
}

#search-2 {
    text-align: center;
	padding-bottom: 1.5rem;
}

a.icon, button > .icon {
	opacity: 0.2;
	transition: opacity 0.5s;
}

a.icon:hover, button > .icon:hover {
	opacity: 0.6;
}

.search-submit {
	background: none;
	border: none;
	padding: 0;
	display: flex;
}

.search-submit img, .search-input {
	height: 24px;
	padding: 0 0.75rem;
}

.search-submit img {
	width: calc( 24px + 2 * 0.75rem );
}

#to-top {
	/*
	position: absolute;
	*/
    bottom: 32px;
	
	position: fixed;
	right: 32px;
}

/*
.lang-pl {
	display: inline;
}

.lang-en {
	display: none;
}
*/

.fb-post {
	width: 350px;
	background: #fff;
	/*transform: scale(0.85);*/
}

.contact-block {
	display: inline-block;

	letter-spacing: 1px;
	
	padding: 1.5rem;
	margin: 1.5rem 1.5rem 1.5rem 0;
	border: solid 2px #00B2EF;
}

body .blue-header {
	background-color: #00B2EF;
	color: #fff;
}

.grid {
    display: flex;
	flex-wrap: wrap;
}

.grid-300 div {
	width: 300px;
}

.grid-270 div {
	width: 270px;
}

.grid-250 div {
	width: 250px;
}

.grid-200 div {
	width: 200px;
}

.grid-140 div {
	width: 140px;
}

.grid-100 div {
	width: 100px;
}

.img-width-100pct img {
	width: 100%;
}

.rm-carousel .slick-dots {
	bottom: 1.5rem;
}

.rm-carousel .slick-dots li button:before {
	color: #fff;
	font-size: 1.5rem;
	opacity: 1.0;
	transition: color 0.5s;
}

.rm-carousel .slick-dots li.slick-active button:before {
	color: #00B2EF;
}

.rm-carousel .slick-dots li:hover button:before {
	color: #555;
}

.rm-carousel img {
    width: 100%;
    height: auto;
	max-height: 700px;
}

.above {
	z-index: 100;
	position: relative;
}

#main-menu-bottom-logo {
    padding-right: 1rem;	
}
/*
#main-menu-top-city-list {
	background: #fff;
	padding: 0.5rem 1rem;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
	opacity: 0;
	transition: opacity 0.5s;
}

#main-menu-top-city-list a {
	font-size: 0.8rem;
	padding: 0;
}
*/

#main-menu-top-city-list {
	transition: margin-top 0.5s;
	
	/* display: hidden; */
	display: flex;
	align-items: flex-end;
	text-align: center;
	
	overflow: hidden;
	
	margin-top: -1000px;
	position: absolute; /* will be corrected by script on page load */
	/* position: relative; */
	
	background: #fff;
}

#main-menu-top-city-list a {
	font-size: 0.8rem;
	/* padding: 0; */
	color: #555;
	padding: 0 0.1rem;
}

#main-menu-top-city-list a > div {
	display: inline;
}

#main-menu-top-city-list a:not(:last-child):after {
	content: "|";
	color: #00B2EF;
	padding-left: 0.2rem;
}

#main-menu-top-city-list a:hover {
	color: #00B2EF;
}

.grid-partners div {
    width: 140px;
}

#main-partners {
    background-color: #fff;
}

#main-partners-grid div {
	margin: 65px;
}

#main-partners-important img {
	width: 200px;
}

.stats-logo {
	width: 200px;
}


.width-10pct {
	width: 10%;
}

.width-20pct {
	width: 20%;
}

.width-40pct {
	width: 40%;
}

.width-50pct {
	width: 50%;
}

#main-menu-top {
    background: #fff;
}

/* @media (max-width:480px) { */
/*@media (max-width:600px) {*/
@media (max-width:720px) {
	h1, h2 {
	}
	
	#main-menu-top, #city-menu-top {
	    padding-top: 1rem;
		padding-bottom: 1rem;
	}
	
	#intro .about {
        padding: 1rem 2rem;
	}
	
	#msg {
		padding: 0rem 1rem 2rem;
	}
	
	#main-for-parents > div > div {
		padding: 0 1rem;
	}
	/*
	#fb > div {
        padding: 0 1rem;
    }

	#fb-h1 {
        padding: 0;
    }	
	*/
	section > div {
        padding: 0 1rem;
    }
	
    .menu {
        font-size: 1.1rem;
    }
	
	.menu .margin-logo {
		margin-top: 0;
		margin-bottom: 0;
	}

    .rwd-flex-column {
        flex-direction: column;
		align-items: center;
    }
	
    .rwd-flex-column-reverse {
        flex-direction: column-reverse;
		align-items: center;
    }

    .menu .blue-sep {
        display: none;
    }
	
	.widescreen-only {
		display: none;
	}
	
	#main-partners-grid > div {
        margin: 1rem;
	}
	
	#main-partners-grid {
		margin-top: 1rem;
	}
}

/*@media (min-width:601px) {*/
@media (min-width:721px) {
	.narrowscreen-only {
		display: none;
	}
}

/*********************************************************/
/* city */

#city-partners-important img {
	width: 200px;
}

#city-partners {
    background-color: #fff;
}

#city-menu-bottom-logo {
	padding-right: 1rem;
}

#city-menu-top {
	background: #fff;
}

#city-partners-grid div {
	margin: 30px;
}

#city-partners-grid > div {
	margin: 30px;
}

#city-main-partners-grid > div {
    margin: 2rem;
}

#city-main-partners-grid > div img {
    max-height:	100px;
}

#city-organized-by img {
	height: 120px;
}

.city-partners-blue-h2:before,
  .city-partners-blue-h2:after {
	color: #00B2EF;
}

.menu .city-name {
    font-family: "Quicksand", Verdana, sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    letter-spacing: 1px;
    color: #00B2EF;    
}

.menu .city-name:hover {
    color: #555;    
}

.city-stats {
    /*background: #fff;*/
    background: rgba(255,255,255,0.8);
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
}

.blue {
    color: #00B2EF;    
}

.awards-h2 { 
    font-size: 1.2rem;
    color: #00B2EF;
    background-color: #CFF1FF;    
    
    padding: 0.6rem 0;
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
	
    border-radius: 25px;
}

.award-amount {
	background-color: #2A85D8;
	margin: 0;
}

.award-amount h3 {
	font-size: 2rem;
	text-align: center;
	color: #fff;
}

.award-sponsor {
	/*font-size: 0.9rem;*/
	height: 4.5rem;
	padding: 0 2rem;
}

.award-desc {
    padding: 1rem 2rem;
    flex-grow: 1;
	font-size: 1rem;
	border-bottom: 2px solid #ddd;
}

.award-image {
	height: 200px;
    border-bottom: 2px solid #ddd;
}

.award-block-text, .award-block-image {
	width: 300px;
	min-height: 420px;
	margin: 10px;
	
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	
	background-color: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
	
	text-align: center;
}

.award-sponsor-img {
	height: 84px;
}

.contact {
    letter-spacing: 1px;    
}

@media (max-width:720px) {
	#city-partners-grid > div {
        margin: 1rem;
	}
	
	#city-partners-grid {
		margin-top: 1rem;
	}
}

/*********************************************************/
/* downloads */

.downloads-link {
    border-radius: 25px;
	background: #eee;
    padding: 0.4rem 1rem;
	margin-right: 2rem;
	margin-bottom: 0.5rem;
	transition: background-color 0.25s;
}

a .downloads-link:hover, .is-active .downloads-link {
    background-color: #FFD47D;
}

.downloads-files {
	padding: 0.5rem 0;
	font-weight: 500;
	letter-spacing: 1px;
	color: #555;
	transition: color 0.5s;
}

.downloads-files:hover{
	color: #00B2EF;
}

.downloads-files img {
	padding-left: 1rem;
	padding-right: 1rem;
}

#downloads-wrapper {
    max-width: 1050px;
	margin: 0 auto;
}

#downloads-menu a:hover {
    color: inherit;
}

#downloads-wrapper h1 {
	justify-content: flex-start;
	text-align: left;
}

#downloads-wrapper h1:before {
	display: none;
}

#downloads-wrapper h1:after {
	width: 100%;
}

#downloads-content {
	/* height: 600px; */
	/* overflow-y: auto; */
	padding: 0 2rem;
}

#downloads-content section {
	/* display: none; */
	padding-top: 0;
	padding-bottom: 1rem;
}

.downloads-div {
	padding: 1rem 0;
}

.uppercase {
    text-transform: uppercase;
}

.important-offer {
    font-weight: 700;
    color: #000;
	
    padding: 1rem;   
	margin:  1rem 1rem 1rem 0;
	background-color: #FFD47D;
	border-radius: 10px;
}

.important-head {
    font-family: "Quicksand", Verdana, sans-serif;
    font-weight: 700;
    color: #fff;
	letter-spacing: 1px;
}

/*@media (max-width:480px) {*/
@media (max-width:720px) {
	#downloads-content {
        overflow-y: visible;
    }
	
	#downloads-menu {
		padding-bottom: 2rem;
	}
}

/*********************************************************/
/* edition */

#edition-cities .grid div {
	border-radius: 25px;
	transition: background-color 0.25s;
	padding: 0.2rem 1rem;
}

#edition-cities .grid div:hover {
	background-color: #FFD47D;
}

#edition-cities a {
	color: #555;
}

#edition-map-canvas {
    width: 100%;
    height: 500px;
}

/*********************************************************/
/* ranking */

.ranking-heading { 
	font-family: "Source Sans Pro", Verdana, sans-serif;
    font-size: 1.2rem;
	font-weight: 700;
    color: #555;
    background-color: #C5EBFC;    
    
    padding: 0.4rem 0;
    border-radius: 25px;
	width: 100%;
}

.ranking-table {
	text-align: left;
	
	width: 100%;
	border-collapse: collapse;
	
    letter-spacing: 0.04rem;
	border: 1px solid #DDD;
	/*color: #000;*/
}

.ranking-block {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.ranking-table td, .ranking-table th {
	padding: 0.4rem 0;
}

.ranking-table th {
    border-top: 2px solid #BCBEC0;
	border-bottom: 2px solid #BCBEC0;
}

.ranking-table a {
    font-family: "Source Sans Pro", Verdana, sans-serif;
	font-weight: 400;
	color: #6D6D6D;
    transition: color 0.4s;
}

.ranking-table a:hover {
    color: #fff;
}

.ranking-table {
	font-weight: 700;
}

.ranking-table th::first-letter {
    text-transform: capitalize;
}

.ranking-table tr > :nth-child(1) {
	text-align: right;
	padding-right: 1rem;
}

.ranking-class tr > :nth-child(2),
.ranking-table tr > :nth-child(3), 
.ranking-table tr > :nth-child(4) {
	text-align: center;
}

.ranking-table tr > :nth-child(2) {
	padding-left: 1rem;
}


.ranking-table tr:nth-child(odd) {
	background-color: #fff;
}

.ranking-table tr:nth-child(even) {
	background-color: #F2F2F2;
}

/*
.ranking-table-main tr:nth-child(even) {
	background-color: #fff;
}
*/
/*
.ranking-table-main {
	margin-bottom: 4rem;
}
*/

.ranking-table tr:hover {
	background-color: #FFD47D;
}

.ranking-clazzes table {
	width: 50%;
}

.ranking-placowek section, .ranking-klas section {
    padding-top: 0;
}

.ranking-placowek #main-menu-bottom-contact, .ranking-klas #main-menu-bottom-contact {
	display: none;
}

.ranking-placowek #main-menu-bottom-items, .ranking-klas #main-menu-bottom-items {
	margin-bottom: 0;
}

/*********************************************************/
/* gallery */

#gallery {
	padding-top: 1rem;
}

#gallery-city-list {
	padding-bottom: 1rem;
}

#gallery-city-list div {
    border-radius: 20px;
	padding: 0.1rem 0.8rem;
	margin: 0.2rem 0.2rem;
	
	background-color: #F7F7F7;
	transition:	background-color 0.5s;
	color: #555;
}

#gallery-city-list div:hover {
	background-color: #FFD47D;
}

#gallery .grid, .gallery-container {
	padding-left: 0;
	padding-right: 0;
}

#gallery .grid div {
	background-color: #eee;
	height: 167px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	margin: 0.35rem;
	transition: opacity 0.5s;
}

#gallery .grid div:hover {
	opacity: 0.5;
}

#gallery .grid .image-div img {
    visibility: hidden;
}

/*
#gallery img {
    transition: opacity 0.5s;
}

#gallery img:hover {
    opacity: 0.5;
}
*/

/*********************************************************/
/* misc */

.count {
	visibility: hidden;
}

.count.count-circle {
	visibility: visible;
}

#app-made-by-code {
	height: 1rem;
	margin-right: 0.5rem;
}

#app-made-by-incata {
	height: 2rem;
    margin-bottom: 0.5rem;
	margin-left: 0.4rem;
}

.nx2-4 {
	display: none;
}