:root {
  --color-bg-grey: #e8e8e8;
  --color-bg-dark-grey: #c7c5c5;
  --color-blue: #0194de;
}

@media(max-width: 767px) {
	.ast-separate-container #content .ast-container{
		padding:0px!important;
	}
	.ast-separate-container {
		background-color: white;
	}
	/**
	* Header should cover the whole width, so we override the default margins & paddings
	***/
	.ast-container, #primary {
		max-width: 100% !important;
		width: 100% !important;
		margin: 0px !important;
		padding: 0px !important;
	}
	
	/**
	* Some sections should be contained so we apply the css of the default container!
	**/
	.contained {
		max-width: 1240px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 20px;
		padding-right: 20px;
	}
	
	section {
		margin-bottom: 40px;
	}
	
	/**
	* Header
	***/
	section.header img {
		width: 100vw;
	}
	
	section.header span {
		display: inline-block;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1;
		font-size: large;
		font-weight: bold;
		line-height: 1.0;
		text-align: right;
		width: 52vw;
		padding-right: 20px;
		padding-top: 2vw;
	}
	
	section.header span p {
		margin-bottom: 0px;
	}
	
	/**
	* Under Header
	**/
	section.under_header {
		display: flex;
		flex-direction: column-reverse;
		background-color: var(--color-bg-grey);
		max-width: 100%;
		margin-left: 0px;
		margin-right: 0px;
		padding-left: 0px;
		padding-right: 0px;
	}
	section.under_header img {
		width: 100%;
		height: auto;
		object-fit: cover;
		display: inline-block;
	}
	section.under_header span {
		display: inline-block;
		padding: 20px;
		margin-top: 20px;
		line-height: 1;
	}
	
	/**
	* Advantages
	**/
	section.advantages h3 {
		font-size: large;
		font-weight: bold;
		color: var(--color-blue);
		text-align: center;
    	margin-bottom: 20px;
	}
	section.advantages ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0px;
	}
	section.advantages ul > li {
		display: inline-block;
		position: relative;
		width: calc(100% / 2 - 20px);
		float: left;
		margin-top: 60px;
		margin-left: 10px;
		margin-right: 10px;
		padding-top: 10px;
		background-color: var(--color-bg-grey);
		cursor: pointer;
	}
	section.advantages ul > li .advantage_id {
	    font-size: -webkit-xxx-large;
	    width: 100%;
	    color: var(--color-blue);
	    font-weight: bolder;
	    display: block;
	    text-align: center;
	    position: absolute;
	    top: -45px;
	    z-index: 10;
	}
	section.advantages ul > li .text {
		text-align: center;
		padding: 20px;
		display: block;
		font-weight:bold;
		line-height:1;
	}
	
	section.advantages ul > li:hover {
		background-color: var(--color-blue);
		color: white;
	}
	section.advantages ul > li:hover .advantage_id {
		display: none;
	}
	
	/**
	* Needs
	**/
	section.needs h3 {
		font-size: large;
		font-weight: bold;
		color: var(--color-blue);
		text-align: center;
    	margin-bottom: 20px;
	}
	section.needs .content_wrapper {
		position: relative;
	}
	section.needs .content_wrapper div.overlay {
		display: none;
	}
	section.needs .content_wrapper .content_inner {
		z-index: 2;
		position: relative;
		background-color: var(--color-bg-grey);
		text-align: center;
		min-height: 200px;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	section.needs ul.needs_dropdown {
		display: flex;
		flex-direction: column;
		width: 90%;
		margin: auto;
		list-style: none;
		position: relative;
	}
	section.needs ul.needs_dropdown li {
		width: 100%;
		flex-grow: 1;
		flex-basis: 0;
		margin-bottom: 20px;
	}
	
	section.needs ul.needs_dropdown li .needs_title {
		width: 100%;
		text-align: center;
		display: inline-block;
		background-color: white;
		color: var(--color-blue);
		padding: 20px 0px;
	    font-weight: bolder;
	}
	section.needs ul.needs_dropdown li .needs_title::after {
		content: url('./icons/blue-arrow-down.png');
		margin-left: 10px;
		transition: 0.5s;
	}
	section.needs ul.needs_dropdown li .needs_text {
	    display: block;
	    margin-top: 20px;
	    margin-bottom: 20px;
	    line-height: 1.6;
	    font-weight: bold;
	}
	
	section.needs ul.needs_dropdown li .needs_text p {
		margin-bottom: 0px;
	}
	section.needs a.programs_url {
		margin-top: 20px;
		display: inline-block;
		position: relative;
		background-color: var(--color-blue);
		color: white;
		width: 90%;
		padding: 20px 80px;
		font-weight: bolder;
	}
	section.needs a.programs_url span {
		white-space: nowrap;
	}
	section.needs a.programs_url:hover {
		background-color: var(--color-bg-dark-grey);
	}
	
	/**
	* Information & Invitations
	**/
	section.info_section {
		display: block;
		width: 100%;
		justify-content: space-between;
	}
	/**
	* Information
	**/
	section.info_section .info_doc_wrapper {
		width: 100%;
		flex-grow: 1;
		flex-basis: 0;
		display: flex;
		flex-direction: column-reverse;
	}
	section.info_section h3.info_doc_mobile_title {
		display: inline-block;
		text-align: center;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		font-size: large;
		font-weight: bold;
		color: var(--color-blue);
		margin-bottom: 20px;
	}
	section.info_section .info_doc_wrapper > .text_wrapper {
	    margin-top: 40px;
	    margin-bottom: 40px;
	}
	section.info_section .info_doc_wrapper > .text_wrapper h3 {
		display: none;
	}
	section.info_section .info_doc_wrapper > .image_wrapper {
		width: 90%;
		display: inline-block;
		margin: auto;
	}
	section.info_section .info_doc_wrapper > .text_wrapper a.info_doc_url {
		display: inline-block;
		position: relative;
		background-color: var(--color-blue);
		color: white;
		padding: 20px 40px;
		width: 100%;
		text-align: center;
		font-weight: bolder;
	}
	section.info_section .info_doc_wrapper > .text_wrapper a.info_doc_url:hover {
		background-color: var(--color-bg-grey);
	}
	

	/**
	* Invitations
	**/
	section.info_section .invitations_wrapper {
	    padding-left: 20px;
	    padding-right: 40px;
	    padding-top: 40px;
	    padding-bottom: 40px;
	    flex-grow: 1;
	    flex-basis: 0;
	    background-color: var(--color-bg-grey);
	}
	section.info_section .invitations_wrapper h3 {
		font-size: large;
		font-weight: bold;
		color: var(--color-blue);
		text-align: left;
    	margin-bottom: 0px;		
	}
	section.info_section .invitations_wrapper ul.invitations_list {
		list-style: none;
		margin: 0;
		padding: 10px 0;
	}
	section.info_section .invitations_wrapper ul.invitations_list li.invitation {
		border-bottom-color: var(--color-blue);
		border-bottom-style: solid;
		border-bottom-width: thin;
	}
	section.info_section .invitations_wrapper ul.invitations_list li.invitation .invitation_date {
		display: block;
		font-weight: bold;
		color: var(--color-blue);
		padding-top: 10px;
	}
	section.info_section .invitations_wrapper ul.invitations_list li.invitation .invitation_title {
		color: black;
		font-weight: normal;
		display: block;
		padding-top: 10px;
		padding-right: 30px;
		padding-bottom: 10px;
		line-height:1.3;
	}
	
	/**
	* Links
	**/
	section.links {
		position: relative;
	}
	section.links div.background {
		display: none;
	}
	section.links div.contained {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	section.links div.contained .links_image {
		display: none;
	}
	section.links div.contained ul.links {
		list-style: none;
		margin: 0;
		width: 100%;
	}
	section.links div.contained ul.links li {
		width: 100%;
		float: right;
		display: block;
	}
	section.links div.contained ul.links li a {
		margin-top: 20px;
		display: inline-block;
		position: relative;
		background-color: var(--color-blue);
		color: white;
		padding: 20px 40px;
		font-weight: bolder;
		width: 100%;
		text-align: center;
		display: block;
	}
	section.links div.contained ul.links li a:hover {
		background-color: var(--color-bg-dark-grey);
	}
	
	
	/**
	* LOGOS
	**/
	section.logos ul.logo {
		list-style: none;
		margin: 0px;
		display: flex;
		justify-content: space-evenly;
	}
	section.logos ul.logo li{
		width:33%;
	}
}

@media(max-width: 921px) and (min-width: 767px) {
	section.header span {
	   width: unset;
	}
}