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

@media(min-width: 767px) {
	.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: 80px;
	}
	
	/**
	* Header
	***/
	section.header img {
		width: 66vw;
	}
	
	section.header span {
		display: inline-block;
		position: absolute;
		top: 10vw;
		left: calc(66vw - 175px);
		z-index: 1;
		font-size: x-large;
		font-weight: bold;
		line-height: 1.5;
	}
	
	section.header span p {
		margin-bottom: 0px;
		line-height:1;
	}
	
	/**
	* Under Header
	**/
	section.under_header {
		display: flex;
    	flex-direction: row-reverse;
		overflow:hidden;
	}
	section.under_header img {
		width: 40%;
		height: auto;
		object-fit: cover;
		display: inline-block;
		max-height:400px;
	}
	section.under_header span {
		width: 60%;
		background-color: var(--color-bg-grey);
		display: inline-block;
		padding: 40px;
		margin-top: 40px;
		margin-bottom: 40px;
		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-direction: row;
		margin-left:0px;
	}
	section.advantages ul > li {
		display: inline-block;
		position: relative;
		width: calc(100% / 6);
		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;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	
	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;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
		padding-top: 80px;
		padding-bottom: 80px;
	}
	section.needs .content_wrapper div.overlay {
		position: absolute;
		top: 0px;
		background-color: var(--color-blue);
		opacity: 0.3;
		width: 100%;
		height: 100%;
		z-index: 1;
	}
	section.needs .content_wrapper .content_inner {
		z-index: 2;
		position: relative;
		background-color: rgba(232,232,232,0.9);
		text-align: center;
		min-height: 200px;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	section.needs ul.needs_dropdown {
		display: flex;
		flex-direction: row;
		min-width: 700px;
		margin: auto;
		width: 100%;
		list-style: none;
		position: relative;
		justify-content: space-evenly;
	}
	section.needs ul.needs_dropdown li {
		max-width: 400px;
		flex-grow: 1;
		flex-basis: 0;
		margin-right: 20px;
		margin-left: 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 {
	    visibility: hidden;
	    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 ul.needs_dropdown li:hover .needs_title {
		background-color: var(--color-bg-dark-grey);
	}
	section.needs ul.needs_dropdown li:hover .needs_title::after {
		transform: rotate(180deg);
		display: inline-block;
	}
	section.needs ul.needs_dropdown li:hover .needs_text {
		visibility: visible;
	}
	
	section.needs a.programs_url {
		margin-top: 20px;
		display: inline-block;
		position: relative;
		width: 25%;
		background-color: var(--color-blue);
		color: white;
		min-width: 350px;
		padding: 10px 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: flex;
		flex-direction: row;
		width: 100%;
		justify-content: space-between;
	}
	/**
	* Information
	**/
	section.info_section .info_doc_mobile_title {
		display: none;
	}
	section.info_section .info_doc_wrapper {
		max-width: calc(50% - 40px);
		flex-grow: 1;
		flex-basis: 0;
	}
	section.info_section .info_doc_wrapper > .text_wrapper {
	    padding: 40px 20px;
	}
	section.info_section .info_doc_wrapper > .text_wrapper,
	section.info_section .info_doc_wrapper > .image_wrapper {
		width: 50%;
		display: inline-block;
		float: left;
	}
	
	section.info_section .info_doc_wrapper > .text_wrapper h3 {
		font-size: large;
		font-weight: bold;
		color: var(--color-blue);
		text-align: left;
		margin-bottom: 20px;
	}
	section.info_section .info_doc_wrapper > .text_wrapper a.info_doc_url {
		margin-top: 20px;
		display: inline-block;
		position: relative;
		background-color: var(--color-blue);
		color: white;
		padding: 10px 40px;
		font-weight: bolder;
		line-height:1;
	}
	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: 20px;
	    padding-bottom: 20px;
	    max-width: calc(50% - 40px);
	    flex-grow: 1;
	    flex-basis: 0;
	    background-color: var(--color-bg-grey);
        max-height: 400px;
        overflow-y: scroll;
	}
	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 {
		position: absolute;
		top: 25%;
		width: 100%;
		z-index: -1;
		height: 50%;
		background: rgb(232,232,232);
		background: linear-gradient(90deg, rgba(232,232,232,1) 0%, rgba(232,232,232,1) 63%, rgba(1,148,222,1) 63%, rgba(1,148,222,1) 100%);
	}
	section.links div.contained {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	section.links div.contained .links_image {
		width: calc(50% - 40px);
		padding-right: 80px;
		object-fit: cover;
		max-height:350px;
	}
	section.links div.contained ul.links {
		list-style: none;
		margin: 0;
		width: calc(50% - 40px);
		padding-top:80px;
	}
	section.links div.contained ul.links li {
		width: 100%;
		max-width: 300px;
		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: 10px 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{
		padding-left:20vw;
		padding-right:20vw;
	}
	section.logos ul.logo {
		list-style: none;
		margin: 0px;
		display: flex;
		justify-content: space-evenly;
	}
	section.logos ul.logo li{
		width:33%;
	}
}

@media (min-width:766px) and (max-width:1100px){
	section.advantages ul{
		flex-wrap:wrap;
		padding-left:5vw;
	}
	section.advantages ul > li{
		width:40vw;
	}
}

@media (min-width:766px) and (max-width:820px){
	section.links div.contained ul.links {
		padding-top:1vw;
	}
}
@media (min-width:831px) and (max-width:880px){
	section.links div.contained ul.links {
		padding-top:2vw;
	}
}
@media (min-width:881px) and (max-width:920px){
	section.links div.contained ul.links {
		padding-top:3vw;
	}
}

@media (min-width:921px) and (max-width:980px){
	section.links div.contained ul.links {
		padding-top:4vw;
	}
}
@media (min-width:981px) and (max-width:1100px){
	section.links div.contained ul.links {
		padding-top:5vw;
	}
}
@media (min-width:1101px) and (max-width:1280px){
	section.links div.contained ul.links {
		padding-top:6vw;
	}
}