@media handheld, only screen and (max-width: 1360px), only screen and (max-device-width: 1360px) and (orientation:portrait)
{
	/* Main image */
	#main-image .layer h2{ font-size: 30px; margin: 0px 0px 10px; }
	#main-image .layer p{ font-size: 22px; line-height: 28px; }
	#main-image .layer p:first-of-type{ margin: 0px 0px 10px; }

	/* Gallery details page */
	.gallery-details-page .arrow.left,
	.gallery-details-page .nav a.prev::before{ left: -30px; }
	.gallery-details-page .arrow.right,
	.gallery-details-page .nav a.next::after{ right: -30px; }
}

@media handheld, only screen and (max-width: 1170px), only screen and (max-device-width: 1170px) and (orientation:portrait)
{
	.center{ padding: 0px 20px; }
	
	/* Header */
	#menu.screen > ul > li{ margin: 0px 0px 0px 15px; }
	#menu.screen > ul > li a{ font-size: 16px; }

	/* Main image */
	#main-image .layer h2{ font-size: 24px; }
	#main-image .layer p{ font-size: 18px; line-height: 24px; }

	/* Homepage */
	.homepage .buttons a{ font-size: 16px; }

	/* Gallery details page */
	.gallery-details-page .center{ padding: 0px 40px; }
	.gallery-details-page .arrow.left,
	.gallery-details-page .nav a.prev::before{ left: -30px; }
	.gallery-details-page .arrow.right,
	.gallery-details-page .nav a.next::after{ right: -30px; }
	.gallery-details-page .nav a.prev{ padding: 0px 0px 0px 20px; }
	.gallery-details-page .nav a.next{ padding: 0px 20px 0px 0px; }
}


@media handheld, only screen and (max-width: 1020px), only screen and (max-device-width: 1020px) and (orientation:portrait)
{
	/* Mobile menu */
	#menu.screen { display: none; }
	#mobile-menu{ display: flex; }	

	/* Header landing */
	header.landing .deadline{ font-size: 24px; letter-spacing: 4px; }
	header.landing .timer{ width: 45%; }
	header.landing .timer p{ font-size: 24px; letter-spacing: 4px; }

	/* Main image */
	#main-image .layer h2{ font-size: 20px; margin: 0px 0px 5px; line-height: 24px; }
	#main-image .layer p{ font-size: 14px; line-height: 22px; }
	#main-image .layer p:first-of-type{ margin: 0px 0px 5px; }

	/* Homepage */
	.homepage .buttons a:first-child{ margin: 0px 10px 20px 0px; }
	.homepage .buttons a{ font-size: 14px; }
	.homepage .button-rnd::before{ top: 8px; }
	.homepage article.main p{ font-size: 24px; }
	.homepage .image-text h2{ font-size: 26px; line-height: 32px; }
	.homepage .image-text p{ font-size: 18px; line-height: 28px; }
	.homepage #quotation p:first-child{ font-size: 32px; line-height: 38px; }

	/* Footer */
	footer .wrapper{ flex-wrap: wrap; height: auto; padding: 20px 0px; }
	footer .wrapper .left,
	footer .wrapper .right{ width: 100%; }
	footer .wrapper .left{ text-align: center; margin: 0px 0px 20px; }
	footer .wrapper .right{ flex-wrap: wrap; }
	footer .wrapper .right span,
	footer .wrapper .right a{ display: block; width: 100%; margin: 5px 0px; text-align: center; }
}

@media handheld, only screen and (max-width: 760px), only screen and (max-device-width: 760px) and (orientation:portrait)
{
	/* Header landing */
	header.landing .deadline{ font-size: 24px; letter-spacing: 0px; }
	header.landing .timer{ width: 50%; }
	header.landing .timer p{ font-size: 24px; letter-spacing: 0px; }

	/* General */
	article h1{ font-size: 36px; margin: 0px 0px 20px; }
	article h2{ font-size: 22px; }
	article p,
	article ul,
	article ol,
	article td,
	article a{ font-size: 18px; line-height: 28px;}

	/* Form */
	form.general h2{ font-size: 22px; }
	form.general .inner .left,
	form.general .inner .right{ width: 100%; }
	form.general .input-item{ margin: 0px 20px 40px; }
	form.general .input-item label{ font-size: 16px; }
	form.general .input-item.privacy .right{ margin: 0px; }
	form.general .inner .input-item.privacy label{ padding: 4px 0px 0px 40px; }
	form.general .inner .input-item label{ text-align: left; justify-content: flex-start; padding: 0px; }

	/* Contact form */
	form.general .inner .input-item.question label{ padding: 0px 0px 10px; }

	/* Main image */
	#main-image .layer{ top: 0px; right: 20px; text-align: right; background: rgba(0,0,0,0.5); bottom: 0px; left: auto; padding: 5px 20px; }
	#main-image .layer h2{ font-size: 20px; margin: 0px 0px 5px; line-height: 24px; }
	#main-image .layer p{ font-size: 14px; line-height: 22px; }
	#main-image .layer p:first-of-type{ margin: 0px 0px 5px; }

	/* Homepage */
	.homepage .buttons a{ font-size: 14px; }
	.homepage .button-rnd::before{ top: 8px; }
	.homepage article.main p{ font-size: 18px; line-height: 28px; }
	.homepage .image-text{ margin: 0px 0px 30px; }
	.homepage .image-text .wrapper{ flex-wrap:  wrap; }
	.homepage .image-text .wrapper .left,
	.homepage .image-text .wrapper .right{ width: 100%; }	
	.homepage .image-text.image-right .left{ order: 2; }
	.homepage .image-text.image-right .right{ order: 1; }
	.homepage .image-text .text{ margin: 20px 0px 0px; }
	.homepage .image-text .text.left{ text-align: left; }
	.homepage .image-text .text.right{ padding: 0px; }
	.homepage .image-text h2{ font-size: 22px; line-height: 28px; }
	.homepage .image-text p{ font-size: 18px; line-height: 28px; }
	.homepage #quotation p:first-child{ font-size: 24px; line-height: 32px; }

	/* Submission form */
	#submission-form .input-item.nomargin{ margin: 0px 20px; }
	#submission-form .input-item.additional-author{ padding: 0px 20px 20px; }
	#submission-form .inner .input-item.file-upload .right{ width: 100%; flex-wrap: wrap; }
	#submission-form .inner .input-item.file-upload .right .upload-wrapper,
	#submission-form .inner .input-item.file-upload .right .text{ width: 100%; }
	#submission-form .inner .input-item.file-upload .right .text{ margin: 20px 0px 0px; }
	#submission-form .inner .input-item label.msg{ margin: 0px 0px 20px; }

	/* Speakers page */
	.speaker .text h2{ font-size: 22px; margin: 20px 0px; }
	.speaker .text p{ line-height: 28px; }

	/* Speakers archive */
	.speakers-archive-page #speakers{ margin: 40px 0px 0px; }
	#speakers .year > h2{ font-size: 36px; padding: 25px 0px; }

	/* Program archive */
	.program-archive-page .year h3{ font-size: 36px; padding: 25px 0px; }

	/* Gallery archive */
	#gallery.archive .year{ padding: 0px 0px 20px; }
	#gallery.archive .year h3{ font-size: 36px; padding: 25px 0px; }
	#gallery.archive .year .box a:first-child{ margin: 0px 0px 20px; }
	#gallery.archive .year .box a{ padding: 20px 0px 0px; }

	/* Apply page */
	.apply-page article p, 
	.apply-page article ul, 
	.apply-page article ol, 
	.apply-page article td, 
	.apply-page article a { font-size: 18px; line-height: 28px;	}

 	/* Gallery details page */
	.gallery-details-page .center{ padding: 0px 20px; }
	.gallery-details-page .arrow{ display: none; }
	.gallery-details-page .wrapper{ flex-wrap: wrap; }
	.gallery-details-page .image,
	.gallery-details-page .desc{ width: 100%; }
	.gallery-details-page .image{ margin: 0px 0px 40px; }
	.gallery-details-page article h1{ font-size: 36px; }
	.gallery-details-page .desc article p:first-child{ margin: 0px 0px 20px; }
	.gallery-details-page .desc article p{ line-height: 28px; margin: 0px 0px 20px; }
	.gallery-details-page .nav a,
	.gallery-details-page .back a{ font-size: 16px; }
	.gallery-details-page .nav a.prev{ padding: 4px 0px 0px 30px; }
	.gallery-details-page .nav a.next{ padding: 4px 30px 0px 0px;}
	.gallery-details-page .nav a.prev::before{ left: 0px; }
	.gallery-details-page .nav a.next::after{ right: 0px; }
	.gallery-details-page .back a{ width: 210px; }
	
	/* Contact page */
	.contact-page article p{ font-size: 18px; }

	/* Footer */
	footer.landing .wrapper{ flex-wrap: wrap; height: auto; text-align: center; padding: 15px 0px 10px; }
	footer.landing .wrapper .left,
	footer.landing .wrapper .right{ width: 100%; }
	footer.landing .wrapper .left{ padding: 0px 0px 5px; }
	footer.landing .wrapper .right a{ display: block; padding: 5px 0px; }
	footer.landing .wrapper .right a:first-child{ margin: 0px; }
}

@media handheld, only screen and (max-width: 630px), only screen and (max-device-width: 630px) and (orientation:portrait)
{
	/* Header */
	header.landing .wrapper{ flex-wrap: wrap; height: auto; padding: 15px 20px; }
	header.landing .wrapper .deadline,
	header.landing .wrapper .timer{ width: 100%; }
	header.landing .wrapper .timer{ padding: 0px; background: #0380A5; }
	header.landing .wrapper .timer .left{ top: 28px; }
	header.landing .wrapper .timer p span{ text-align: left; width: 35px; }
	header.landing .wrapper .deadline{ margin: 0px 0px 10px; }

	/* Post */
	article p, 
	article ul, 
	article ol, 
	article td, 
	article a{ font-size: 18px; }

	/* Submission page */
	.submission-page article.main p:first-child{ font-size: 24px; line-height: 28px; }
	.submission-page article.main h2{ font-size: 24px; }

	/* Apply page */
	.apply-page article.main p:first-child{ font-size: 24px; line-height: 28px; }
	.apply-page article.main h2{ font-size: 24px; }

	/* Gallery page */
	#gallery .wrapper{ flex-wrap: wrap; }
	#gallery .box{ width: 100%; }

	/* Gallery archive */
	#gallery.archive .year .box a:first-child{ margin: 0px; }
	#gallery.archive .year .box a{ padding: 20px 0px; }
}

@media handheld, only screen and (max-width: 480px), only screen and (max-device-width: 480px) and (orientation:portrait)
{
	/* Header */
	header .logo img{ max-width: 170px; padding: 10px 0px 0px; }

	/* Form */
	form.general .inner .input-item.submit .right{ flex-wrap: wrap; }
	form.general .inner .input-item.submit .right input,
	form.general .inner .input-item.submit .right .text{ width: 100%; }

	/* General */
	.content{ padding: 40px 0px; }

	/* Main image */
	#main-image .layer{ right: 0px; padding: 10px; }
	#main-image .layer h2{ font-size: 12px; margin: 0px 0px 5px; line-height: 16px; }
	#main-image .layer p{ font-size: 11px; line-height: 14px; }

	/* Homepage */
	.homepage .buttons{ margin: 0px 0px 30px; }
	.homepage .buttons a{ display: block; width: 100%; font-size: 13px; margin: 0px 0px 20px; }
	.homepage .button-rnd::before{ top: 7px; }
	.homepage .button-rnd.green::before{ top: 15px; }


	/* Submission page */
	.submission-page article.main p:first-child{ font-size: 20px; line-height: 24px; }
	#submission-form .input-item .text{ margin: 10px 0px 0px; }
	
	/* Apply page */
	.apply-page article.main p:first-child{ font-size: 20px; line-height: 24px; }

	/* Gallery details page */
	.gallery-details-page .nav a span{ display: none; }

	/* Contact page */
	#contact-form .input-item.submit{ margin: 0px 20px; }
}