@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap');
@charset "UTF-8";

/*******************************************************************************************************************
*
*  Contents:
*  - CSS RESET
*  - BASE
*     - Colors
*  - TEXT STYLES
*     - Links
*     - Headings
*  - LAYOUT
*     - Header
*     - Content
*     - Footer
*     - Mobile
*  - SPECIAL
*     - Menu
*     - Form elements
*     - Icons
*  - OTHER
*     - Legacy
*  - MEDIA QUERIES
*
*******************************************************************************************************************/
*,:after,:before{box-sizing:border-box;}html,body{position:relative;overflow-y:hidden;overflow-x:hidden;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}body,html{height:100%;width:100%;}html,body,fieldset,figure,for,h1,h2,h3,h4,h5,h6,p{margin:0;}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block;}audio,canvas,video{display:inline-block;}[hidden],audio:not([controls]),hr{display:none;}a:active{background-color:transparent;}abbr[title]{border-bottom:1pxdotted;}em,i{font-style:italic;}mark{background:#ff0;color:#000;}code{font-family:monospace,serif;font-size:1em;}sub{font-size:75%;line-height:0;vertical-align:baseline;bottom:-.25em;}img{border:0;-ms-interpolation-mode:bicubic;max-width:100%;height:auto;}svg:not(:root){overflow:hidden;}embed,iframe,img,object{vertical-align:middle;}fieldset{border:0;padding:0;min-width:0;}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;}button,input{line-height:normal;background:00;border:0;padding:0;}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}button[disabled],input[disabled]{cursor:default;}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box;}input[type="search"]{-webkit-appearance:textfield;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;resize:vertical;}th{text-align:left;}address{font-style:normal;}button::-moz-focus-inner{padding:0;border:0;}

/*******************************************************************************************************************
*  BASE
*******************************************************************************************************************/
html {}

body.error-404 {
	  -webkit-filter: grayscale(60%);
	  -moz-filter:    grayscale(60%);
	  -ms-filter:     grayscale(60%);
	  -o-filter:      grayscale(60%);
	  filter: 				grayscale(60%);	
}

.title-hidden {
    position: absolute;
    left: -9999px;
    outline: none;
}

.float-left {
		float: left;
}

.float-right {
 		float: right;
}

.float-wrap:after,
.clean:after {
  content: "";
  display: table;
  clear: both;
}

/*******************************************************************************************************************
*  BASE > Colors
*******************************************************************************************************************/
:root,:root:after,:root:before {
    --main-background-color: pink;
    --main-text-color: rgb(55,54,54);
    --background-text-color: #fafafa;   
}


/*******************************************************************************************************************
*  TEXT STYLES
*******************************************************************************************************************/
body {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 14pt;
    color: var(--main-text-color);
}

.alignleft {
    text-align: left !important;
}

img.alignleft {
	float: left;
}

.aligncenter {
    text-align: center;
}

img.aligncenter {
	display: block;
	margin: 0 auto;
}

.alignright {
    text-align: right !important;
}

.img.alignright {
	float: right;
}

.u, .underline {
		text-decoration: underline !important;
}

.smaller {
		font-size: 80% !important;
}

/*******************************************************************************************************************
*  TEXT STYLES > Links                                                                                                     
*******************************************************************************************************************/
a, a * {
    color: inherit;
    outline: none;    
    transition: all 0.2s;    
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    text-decoration: none;
    color: inherit;
}

/*******************************************************************************************************************
*  TEXT STYLES > Headings                                                                                                     
*******************************************************************************************************************/
:root {
	--heading-font-family: 'Roboto', sans-serif;
}

#page .page-container .page-container-wrap .front-leader h1 {
	font-family: var(--heading-font-family); 
	font-size: 50pt;
	/*letter-spacing: .2em;
	text-transform: uppercase; */
	margin: 0 0 40px;
	color: pink;
}

#page .page-container .page-container-wrap .front-leader h2 {
	font-weight: 300;
	font-size: 24pt;
	margin: 0 0 20px;
}

.background-page h1,
.program-page h1 {
	text-align: center;
	text-transform: uppercase;
	font-weight: 400;
	margin: 0 0 40px;
	font-size: 240%;
}

.background-page h2,
.program-page h2 {
	text-align: center;
	font-weight: 300;
	margin: 0 25% 80px;
	font-size: 120%;
	font-style: italic;
}

.background-page h2::after,
.program-page h2::after {
	content: "";
	display: block;
	margin: 80px auto 40px;
	max-width: 200px;
	border-bottom: 1px solid;	
}

#page .page-container .faq-page .page-content-section h3 {
	font-size: 160%;
	font-weight: 300;
	text-transform: uppercase;
}

/*******************************************************************************************************************
*  LAYOUT                                                                                                     
*******************************************************************************************************************/
#page {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
}

#page .page-container {
    position: relative;
    width: 100%;  
    height: 100%;
    z-index: 2;
    overflow-x: hidden;
    overflow-y: auto;      
}

#sidebar {
    float: right;
    width: auto;
    height: 100%;   
}

#sidebar .sidebar-container {
    position: absolute;
    top: 0;
    right: -400px;
    width: 400px;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    background: white; 
    z-index: 9998;
    transition: .5s;           
}

body.main-menu-active #sidebar .sidebar-container {
    right: 0;
}

#sidebar .sidebar-container .sidebar-content-list {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 140px 80px 40px;
    text-align: right;
    list-style: none;   
    z-index: 9998;
    transition: .5s;
}

body.main-menu-active #sidebar .sidebar-container .sidebar-content-list {
    color: var(--main-text-color);
}

#sidebar .sidebar-container .sidebar-content-list li {
    flex: 0;
    flex-basis: 20px;
    position: relative;
    display: block;
    margin: 20px 0;
    height: auto;
}

#sidebar .sidebar-container .sidebar-content-list li a {
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 1.5pt;
    opacity: .7;
}

#sidebar .sidebar-container .sidebar-content-list li a:hover {
    opacity: 1;
}

#sidebar .sidebar-container .sidebar-content-list .sidebar-content-list-footer {
    flex: 1;
    display: flex;
    align-items: flex-end;
    justify-content: right;
    margin: 80px 0 0;
    font-size: 80%;
    opacity: .5;
}

#sidebar .sidebar-container .sidebar-content-list .sidebar-content-list-footer .flex-wrap {
    flex: 1;
}

#sidebar .sidebar-underlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 999; 
}

body.main-menu-active #sidebar .sidebar-underlay {
    display: block;
}


/*******************************************************************************************************************
*  LAYOUT > Header                                                                                                     
*******************************************************************************************************************/
#header {
	position: absolute;
	z-index: 998;
}

#header .header-container {
	padding: 20px 80px 0;
}
/*******************************************************************************************************************
*  LAYOUT > Content                                                                                                     
*******************************************************************************************************************/
#page .page-container .page-container-fullsize {
    width: 100%;
    min-height: 100%;
}

#page .page-container .page-container-fullwidth {
    width: 100%;
} 

.site-page #page .page-container .front-page {
    padding: 220px 80px 80px;
}

.front-page a,
.front-page a * {
		text-decoration: none;
}

#page .page-container .front-page {
    background: pink;
    color: #fafafa;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-flow: column;    
}

#page .page-container .background-page {
    background: pink;
    color: #fafafa;   
}

#page .page-container .program-page {
    padding: 120px 80px;   
}

#page .page-container .page-container-fullwidth.background-page {
    padding: 220px 80px 40px;
} 


#page .page-container .background-page .page-content {
		/*color: rgb(55,54,54);*/
}

#page .page-container .faq-page .page-content-section {
		margin: 0 20% 80px;
		text-align: center;
}

#page .page-container .faq-page .page-content-section h3 {
		margin-bottom: 20px;
		font-weight: 400;
}

#page .page-container .faq-page .page-content-section p {
		margin: 0 0 10px;
		font-weight: 300;
		font-size: 120%;
		text-align: left;
}

#page .page-container .faq-page .page-content-section p.smaller {
		margin-top: 20px;
}

#page .page-container .page-container-item {
    display: flex;
    flex: 1;
    align-self: center;   
}

#page .page-container .page-container-item.page-center-content {
    justify-content: center;
}

#page .page-container .page-container-item.page-even-content {
    justify-content: space-evenly;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item {
	width: 100%;
	position: relative;
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex: 1;
    align-self: center;
	border: 2px solid;   
	padding: 40px;
}

#page .page-container .page-container-fullsize.invitation-page a {
		text-decoration: none;
}

#page .page-container .page-container-fullwidth .page-container-item.item-mapa {
	width: 100%;
	padding-top: 41.66%;
	background: url('./images/the_mapa.jpg');
	background-repeat: no-repeat;
	background-size: cover;	
}

#page .page-container .page-container-item .page-container-item-label {
	flex: none;
	position: absolute;
	left: 50%;
	top: 0;
	background: pink;
	color: white;
	transform: translate(-50%,-50%);
}

#page .page-container .page-container-item .page-container-item-label p {
	padding: 0 26px;
	font-size: 12pt;
	letter-spacing: 3pt;
	text-transform: uppercase;
	text-align: center;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content {
	flex: 1;
	max-width: 100%;	
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content p {
	margin: 0;
	text-align: center;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content .name {
	font-weight: 700;
	font-size: 280%;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content .name:first-child {
	padding-top: 20px;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content .divider {
	font-size: 185%;
	padding: 10px 0;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content .divider.taller {
    padding: 40px 0 20px;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content .datetime {
	font-weight: 400;
	font-size: 230%;
	padding: 20px 0;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content .datetime .datetime-margin {
	margin: 0 10px;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content .dateplace {
	font-size: 140%;
	padding: 0 0 20px;
}

#page .page-container .page-container-wrap {
	max-width: 1400px;
	margin: 0 auto;
}

#page .page-container .page-container-item .page-container-item-content {
    align-self: center;
}

.page-content-back a {
		display: inline-block;
		padding: 10px;
		margin: 0 10px 40px;		
		width: 200px;
		max-width: 100%;
		background: white;
		color: pink;
		text-align: center;
		text-decoration: none;
		font-weight: 700;
		font-size: 14pt;
}

.page-content-gallery {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
}

.page-content-gallery.gallery-folder {
		justify-content: flex-start;
}

.page-content-gallery a,
.page-content-gallery a * {
		text-decoration: none;
}
.page-content-gallery .page-content-gallery-item {
		position: relative;
		margin: 10px;
		flex: 1;
		max-width: 260px;
		text-decoration: none;
}

.page-content-gallery .page-content-gallery-item .gallery-item-thumb {
		position: relative;
		height:260px;  
		width: 260px;
		overflow: hidden;
		background-color: #ffebee;
		background-repeat;
		background-position: center center;
		background-size: cover;
		transition: all .5s;
}

.page-content-gallery.gallery-folder .page-content-gallery-item {
		max-width: 160px;
}

.page-content-gallery.gallery-folder .page-content-gallery-item .gallery-item-thumb {
		height:160px;  
		width: 160px;
}

.page-content-gallery .page-content-gallery-item .gallery-item-thumb::before { 
  content:"";
  position:absolute; top:0;right:0;bottom:0;left:0;
  background:inherit;
  transition:inherit;
  z-index: 97;
}
.page-content-gallery .page-content-gallery-item .gallery-item-thumb::after { 
  content:"";
  position:absolute; top:0;right:0;bottom:0;left:0;
  background:white;
  transition:inherit;
  opacity: 0;
  z-index: 98;
}
.page-content-gallery .page-content-gallery-item:hover .gallery-item-thumb::before { 
  transform: scale(1.1);
}
.page-content-gallery .page-content-gallery-item:hover .gallery-item-thumb::after { 
  opacity: .4;
}

.page-content-gallery .page-content-gallery-item .gallery-item-thumb .gallery-item-thumb-button {
		display: block;
		position: absolute;
		width: 160px;
		text-align: center;
		top: 50%;
		left: 50%;
		padding: 10px 10px;
		background: #212121;
		z-index: 99;
		transform: translate(-50%,-50%);
		opacity: 0;
		transition: opacity .5s ease-out 0s; 
}

.page-content-gallery .page-content-gallery-item:hover .gallery-item-thumb .gallery-item-thumb-button {
		opacity: 1;
		transition: opacity .5s ease-out .2s;
}

.page-content-gallery .page-content-gallery-item .gallery-item-title {
		text-align: center;
		text-decoration: none;
		font-weight: 700;
		padding: 10px 0;
}

#page .page-container .page-columns {
		padding: 120px 80px 60px;
		background: #ffebee;
}

.page-columns .page-container-item-col {
		width: 460px;
		max-width: calc(100% - 60px);
		margin: 0 30px 60px;
		background: white;
}

.page-columns .page-container-item-col .item-col-head {
		display: flex;
		justify-content: center;
		height: 160px;
		background: pink;
}

.page-columns .page-container-item-col .item-col-head .head-title {
		position: relative;
		flex: 0;
		display: block;
		align-self: center;
		padding: 0 20px;
		text-align: center;
		font-size: 200%;
		font-weight: 700;
		color: #fafafa;
}

.page-columns .page-container-item-col .item-col-body {
		padding: 40px;
}

.page-columns .page-container-item-col .item-col-body .item-col-body-top {
		display: flex;
		margin-bottom: 40px;
		font-size: 90%;
		color: #555;		
}

.page-columns .page-container-item-col .item-col-body .item-col-body-top a {
		text-decoration: none;
		transition: .2s;
}

.page-columns .page-container-item-col .item-col-body a:hover {
		color: #111;
}


.page-columns .page-container-item-col .item-col-body .item-col-body-top .item-col-body-top-col {
		width: 50%;
		flex: 1;
}

.page-columns .page-container-item-col .item-col-body .item-col-body-top p {
		text-align: center;
}

.page-columns .page-container-item-col .item-col-body .item-col-body-top p.top-col-icon {
		margin-bottom: 6px;
}

.page-columns .page-container-item-col .item-col-body .item-col-body-text {
		min-height: 100px;
		text-align: center;
}

.page-columns .page-container-item-col .item-col-body .item-col-body-text p {
		margin-bottom: 10px;
}

.page-content-program .footnote a {
	text-decoration: none;
}

.page-content-program a:hover {
	color: #111;
}

.page-content-program .program-section-item  {
	position: relative;
	width: 1000px;
	max-width: 100%;
	min-height: 230px;
	margin: 10px auto 0;
}

.page-content-program .program-section-item.small-item {
	margin-top: -20px;
}

.page-content-program .program-section-item::after {
	content: "";
	display: block;
	position: absolute;
	top: 130px;
	bottom: 0;
	height: auto;
	margin: 0 60px;
	border-left: 1px solid #d5d5d5; 
}

.page-content-program .program-section-item.small-item::after {
	top: 100px;
}

.page-content-program .program-section-item:last-child::after {
	display: none;
}

.page-content-program .program-section-item .program-section-item-head {
	display: flex;
	position: absolute;
	justify-content: center;
	background: #e5e5e5;/*#ffebee;*/
	width: 120px;
	height: 120px;
	border-radius: 50%;
	font-size: 120%;
	color: #a0a0a0;
}

.page-content-program .program-section-item.small-item {
	min-height: 140px;
}

.page-content-program .program-section-item.small-item.longer-item {
	min-height: 200px;
}

.page-content-program .program-section-item.shorter-item {
	min-height: 170px;
}

.page-content-program .program-section-item:last-child {
	min-height: 0;
}

.page-content-program .program-section-item.important-item .program-section-item-head {
	background: pink;
	color: #fafafa;
	font-weight: 700;
	font-size: 140%;
}


.page-content-program .program-section-item.basic-item .program-section-item-head {
	background: transparent;
	border: 1px solid #a0a0a0;
}


.page-content-program .program-section-item.small-item .program-section-item-head {
	width: 60px;
	height: 60px;
	margin: 30px;
}

.page-content-program .program-section-item .program-section-item-head .time-display {
	flex: 1;
	align-self: center;
	text-align: center;
}

.page-content-program .program-section-item .program-section-item-body {
	flex: 1;
	padding: 50px 0 10px 200px;
}

.page-content-program .program-section-item .program-section-item-body h3 {
	display: block;
	margin-bottom: 10px;
	color: #666;	
	font-weight: 400;
}

.page-content-program .program-section-item.important-item .program-section-item-body h3 {
	font-weight: 700;
}

.page-content-program .program-section-item .program-section-item-body p {
	margin-bottom: 10px;
	word-wrap: break-word;
}

.page-content-program .program-section-item .program-section-item-body p:last-child {
	margin-bottom: 0;
}

.page-content-program .program-section-item .program-section-item-body .footnote {
	width: 90%;
	margin-top: 10px;
	font-size: 11pt;
	font-weight: 300;
	color: #666;
}

.page-content-program .program-section-item .program-section-item-body h3 .footnote {
	position: relative;
	display: inline-block;
	width: auto !important;	
	top: -1px;
}

.contact-page h1 {
	font-size: 180%;
	text-align: left;
	margin: 0 0 20px;
	text-transform: none;
}

.contact-page .page-content {
	display: flex;
	align-content: stretch;
	padding-bottom: 80px;
}

.contact-page .page-content-section {

}

.contact-page .page-content-section.page-content-form {
	flex: 3;
	padding: 0 80px 0 0;
}

.contact-page .page-content-section.page-content-address {
	flex: 2;
}

.page-content-form {

} 

.page-content-form label {
	display: block;
	font-size: 90%;
	font-weight: 700;
	margin: 20px 0 0;
}

.page-content-form label .form-error-msg {
	text-transform: uppercase;
	font-size: 80%;
	color: #cc1100;
}

.page-content-form label input,
.page-content-form label textarea {
	display: block;
	width: 100%;
	margin: 6px 0 0;
	padding: 10px 20px;	
	background: #fafafa;
	color: #666;
	border: none;
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  font-size: 14pt;	
}

.page-content-form label input {
	height: 60px;
	line-height: 60px;
}

.page-content-form label textarea {
	height: 200px;
}

.page-content-form button {
	width: 260px;
	max-width: 100%;
	height: 60px;
	line-height: 60px;
	background: rgb(55,54,54);
	color: #fafafa;
	float: right;
	transition: .2s;
}

.page-content-form button:hover {
	font-size: 106%;
	background: #212121;
}

.page-content-address .contact-section-item-body {
	margin: 20px 0 0;
}

.page-content-address .contact-section-item-body .contact-body-mapa {
	position: relative;
	padding-bottom: 56.25%;
}

.page-content-address .contact-section-item-body .contact-body-mapa-frame {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.page-content-address .contact-section-item-body .contact-body-address {
	margin: 20px 0 0;
}


.page-content-address .contact-section-item-body .contact-body-address .contact-body-address-row {
	position: relative;
	padding: 0 30px 10px;
}

.page-content-address .contact-section-item-body .contact-body-address .contact-body-address-row .address-icon {
	position: absolute;
	left: 0;
}

#page .page-container .page-container-fullwidth.background-page.about-page {
	padding: 120px 80px 80px;
}

.about-page .page-columns-content {
	display: flex;
}

.about-page .page-columns-content .page-columns-column {
	flex: 1 1 0px;
	padding: 0 10px;
}

.about-page .page-columns-content .page-columns-column.column-left {
	text-align: right;
}

.about-page .page-columns-content .page-columns-column.column-right {
	text-align: left;
	color: rgb(55,54,54);
}

.about-page .logo-page-header {
}

.about-page .logo-page-header h1 {
	font-size: 40pt;
	font-weight: 700;
	text-align: inherit;
	text-transform: none;
}

.about-page .sublogo-page-header p {
	margin: 0 0 20px;
	font-size: 18pt;
	width: 70%;
}

.about-page .sublogo-page-header .page-columns-column.column-left p {
	text-align: right;
}

#page .page-container .about-page .page-container-item .page-container-item-content {
	margin-left: -20px;
}



/*******************************************************************************************************************
*  LAYOUT > Footer                                                                                                     
*******************************************************************************************************************/
#footer {
	position: relative;
	/*background: #261d1e;*/
	background: #212121;
	color: #fafafa;
}

#footer .footer-container {
	padding: 80px 30px; 120px;
}

#footer .footer-container .footer-text {
	font-size: 80%;
	text-align: center;
	opacity: .2;
}

#footer .footer-container .footer-text.date {
	margin-top: 10px;
	font-size: 70%;
	font-weight: 700;
}
/*******************************************************************************************************************
*  LAYOUT > Mobile                                                                                                     
*******************************************************************************************************************/

/*******************************************************************************************************************
*  SPECIAL                                                                                                     
*******************************************************************************************************************/
#countdown-container {
    margin: 0 auto;
    padding: 5px;
    color: #fafafa;
}

#countdown-container .countdown-message {
    text-align: center;
    font-size: 180%;     
}

#countdown-container .countdown-container-box {
	float: left;
    display: block;
}

#countdown-container .countdown-container-innerbox {
    display: table-cell;
    width: 100px;
    height: 100px;
    vertical-align: middle;
    /*border-radius: 50%;*/
    background: transparent;
    border-left: 2px solid #fafafa;
    text-align: center;    
}

#countdown-container .countdown-container-box:first-child .countdown-container-innerbox {
	border: 0;
}

#countdown-container .time-display {
    display: block;
    font-size: 180%;
}

#countdown-container .time-name {
    display: block;
    font-size: 80%;
}

#countdown-container a {
		text-decoration: none;		
}


/*******************************************************************************************************************
*  SPECIAL > Menu                                                                                                     
*******************************************************************************************************************/

/*******************************************************************************************************************
*  SPECIAL > Form elements                                                                                                     
*******************************************************************************************************************/

/*******************************************************************************************************************
*  SPECIAL > Icons
*******************************************************************************************************************/
.menu-hamburger-icon {
    position: absolute;
    display: inline-block;
    top: 80px;
    right: 80px;
    width: 30px;
    height: 20px;
    color: inherit;
    outline: none;
    z-index: 9999;
} 

.menu-hamburger-icon .menu-hamburger-icon-inner {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    border-top: 2px solid;
    border-bottom: 2px solid;
    color: inherit;   
    transition: .1s;
    transition-delay: .4s;   
}

.menu-hamburger-icon .menu-hamburger-icon-inner::before,
.menu-hamburger-icon .menu-hamburger-icon-inner::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    border-top: 2px solid;
    /*background: var(--main-text-color);*/
    top: calc(50% - 1px);
    transition: .2s;  
    transition-delay: .4s;  
}

body.main-menu-active .menu-hamburger-icon .menu-hamburger-icon-inner {
    border-color: transparent;
}

body.main-menu-active .menu-hamburger-icon .menu-hamburger-icon-inner::before {
    transform: rotateZ(45deg);
} 

body.main-menu-active .menu-hamburger-icon .menu-hamburger-icon-inner::after {
    transform: rotateZ(-45deg);
}


.logo {
		display: block;
    position: relative;
    text-align: center;
    text-decoration: none;
}

body.error-404 .logo {
		filter: blur(5px);
}

.logo .triangle {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 76px solid transparent;
    border-right: 76px solid transparent;      
}

.logo .triangle.white {
    border-bottom: 200px solid white;
    transform: translate(0, -50%);
}

.logo .triangle.black {
    border-top: 200px solid rgb(55,54,54);
    transform: translate(0, 50%);
}

#header .logo .triangle,
#footer .logo .triangle {
	border-width: 0 30px 0 30px;
}

#header .logo .triangle.white,
#footer .logo .triangle.white {
	border-bottom-width: 80px;
}

#header .logo .triangle.black,
#footer .logo .triangle.black {
	border-top-width: 80px;
}         

#footer .logo {
	margin-bottom: 40px;
}

.logo .triangle .title {
    margin-left: -9999px;
}

.heart-icon {
	position: absolute;
	width: 50px;
	height: 50px;
	background-color: pink;
	z-index: 9999;
	transform: rotateZ(-45deg);
}

.heart-icon::before,
.heart-icon::after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: inherit;
	border-radius: 50%;

}
.heart-icon::before {top: -50%;}
.heart-icon::after {right: -50%;}

/*******************************************************************************************************************
*  OTHER
*******************************************************************************************************************/

/*******************************************************************************************************************
*  OTHER > Legacy
*******************************************************************************************************************/

/*******************************************************************************************************************
*  MEDIA QUERIES
*******************************************************************************************************************/
@media only screen and (max-width: 880px) {
#page .page-container .page-container-item .page-container-item-label p {
	font-size: 2vw;
}	

#page .page-container .page-container-item.page-even-content {
	flex-direction: column;
}

.page-columns .page-container-item-col {
		width: calc(100% - 60px);
}

.contact-page .page-content {
		flex-direction: column;
}

.contact-page .page-content-section.page-content-form {
    padding-right: 0;
}

.contact-page .page-content-section.page-content-address {
    margin-top: 30px;
}

#page .page-container .page-container-fullwidth.background-page.about-page {
    padding: 120px 30px 30px;
}

.about-page .logo-page-header h1 {
    font-size: 6vw;
}

.about-page .sublogo-page-header p {
		width: auto;
		max-width: 100%;
}

} /* /max-width: 880px */   

@media only screen and (max-width: 600px) {
#page .page-container .about-page .page-container-item .page-container-item-content {
    display: none;
}

.about-page .page-columns-content {
	flex-direction: column;
}    

.about-page .logo-page-header h1 {
    font-size: 10vw;
}

.about-page .page-columns-content .page-columns-column:first-child {
	margin: 80px 0 60px;
}

.about-page .page-columns-content .page-columns-column.column-left {
	text-align: left;
}

.about-page .sublogo-page-header .page-columns-column.column-left p {
	text-align: left;
}

.about-page .page-columns-content .page-columns-column.column-right {
	text-align: right;
}
}


@media only screen and (max-width: 480px) {
#header .header-container {
	padding: 0 30px 0;
}

#header .logo .triangle {
	border-width: 0 23px 0 23px;
}

#header .logo .triangle.white {
	border-bottom-width: 60px;
}

#header .logo .triangle.black {
	border-top-width: 60px;
}   

.site-page #page .page-container .page-container-fullsize {
    padding: 140px 30px 30px;
} 

#sidebar .sidebar-container {
    right: -100%;
    width: 100%;
}
    
.menu-hamburger-icon {
    top: 30px;
    right: 30px;    
}

#sidebar .sidebar-container .sidebar-content-list {
    padding: 100px 30px 40px;
}

#countdown-container {
    display: flex;
    justify-content: center;
    font-size: 4vw;
}

#countdown-container .countdown-container-innerbox {
    width: 21vw;
    height: 21vw;
}

.logo .triangle {
    border-width: 0 15.83vw 0 15.83vw;     
}

.logo .triangle.white {
    border-bottom-width: 41.6vw;
}

.logo .triangle.black {
    border-top-width: 41.6vw;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content {
	font-size: 80%;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content .datetime .datetime-margin {
	display: block;
}

#page .page-container .page-container-fullwidth.background-page {
    padding: 200px 30px 40px;
} 

#page .page-container .program-page {
    padding: 60px 30px;   
}

.background-page h2,
.program-page h2,
#page .page-container .faq-page .page-content-section {
	margin-left: 0;
	margin-right: 0; 
}

#page .page-container .page-columns {
    padding: 30px 0 0;
}    

.page-columns .page-container-item-col {
	margin-bottom: 30px;
}

.page-columns .page-container-item-col .item-col-head .head-title {
	font-size: 10vw;
}

.page-content-program .program-section-item::after {
	top: 90px;
	margin: 0 40px;
}

.page-content-program .program-section-item.small-item {
	margin-top: -10px;
}

.page-content-program .program-section-item.small-item::after {
    top: 70px;
}

.page-content-program .program-section-item .program-section-item-head {
	width: 80px;
	height: 80px;
}

.page-content-program .program-section-item.small-item .program-section-item-head {
	width: 40px;
	height: 40px;
	margin: 20px;
}

.page-content-program .program-section-item .program-section-item-body {
	padding-top: 30px;
	padding-left: 110px;
}

.contact-page .page-content {
    padding-bottom: 10px;
}
.page-content-form button {
		width: 100%;
}
.page-content-address .contact-section-item-body .contact-body-mapa {
    padding-bottom: 80%;
}
.background-page h1, .program-page h1 {
    font-size: 200%;
}

.page-content-gallery.gallery-folder {
		flex-direction: column;
}

.page-content-gallery.gallery-folder .page-content-gallery-item {
		margin: 10px auto;
}

} /* /max-width: 480px */


@media only screen and (max-width: 360px) {
#page .page-container .page-container-fullsize.invitation-page .page-container-item {
	padding: 30px;
}

#page .page-container .page-container-fullsize.invitation-page .page-container-item .page-container-item-content {
	font-size: 4vw;
}
} /* /max-width: 360px */