/*==================================================
FONTS & ICONS
==================================================*/

@import 'fonts.css';

/*================================================*/



/*==================================================
THEMES
==================================================*/

:root
{
    --scroll-margin: inset 0 0 10px 10px rgba(0, 0, 0, 0.25);

    --max-width: 1160px;
    --margin: 20px;
    --padding: 10px;
    --banner-text: 128px;
    --ultra-text: 64px;
    --super-text: 32px;
    --big-text: 24px;
    --main-text: 16px;
    --second-text: 13px;
    --third-text: 11px;
    --icon: 16px;
    --btn: 16px;
    --nav-icon: 24px;
    --border-radius: 30px;
    --border-radius-round: 1024px;

    --bg1: #fff;
    --bg2: #f4f4f4;

	--border: 2px solid;
	--border-color: rgba(0,0,0,0.10);

	--text-color: #000;
	--selected-text: #000;
	--selected-bg: rgba(0, 0, 0, 0.10);

    --main-color: #8ca4a6;
    --second-color: #eed4bb;
    --third-color: #000;
    --fourth-color: #fff;
    --fifth-color: #eee;

    --transition: 0.25s;
}

/*================================================*/



/*==================================================
MAIN TAGS
==================================================*/

html
{
    line-height: 1;
}

html, body
{
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
    border: 0;
    overflow-x: clip;
}

body
{
    width: auto;
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    position: relative;
	font-size: var(--main-text);
	font-family: montserrat-light;
	color: var(--main-color);
    background-color: var(--bg1);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    -webkit-overflow-scrolling: touch;
    transition: var(--transition);
}

input, textarea, select, button
{
    width: 100%;
    height: 48px;
    position: relative;
    font-family: montserrat-light;
    font-size: var(--main-text);
	background-color: transparent;
	outline: none;
	border: none;
	resize: none;
	box-sizing: border-box;
    -moz-appearance: none;
    -webkit-appearance: none;
    transition: var(--transition);
}

textarea
{
    height: 96px;
}

option
{
    padding: 10px;
    background-color: var(--bg1);
}

input[type="checkbox"], input[type="radio"]
{
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--big-text);
    background-color: var(--fifth-color);
    border-radius: 5px;
}

input[type="checkbox"]:hover, input[type="radio"]:hover
{
    cursor: pointer;
    border-color: var(--main-color);
}

input[type='checkbox']:before, input[type="radio"]:before
{
    padding: 5px;
    color: transparent;
    font-family: 'icons';
    content: "✔";
    font-size: var(--big-text);
    border: 2px solid;
    border-color: var(--sixth-color);
    border-radius: 5px;
}

input[type='checkbox']:checked:before, input[type="radio"]:checked:before
{
    color: var(--second-color);
    background-color: var(--sixth-color);
    border-color: transparent;
}

input[type='checkbox']:hover:before, input[type='radio']:hover:before
{
    
}

input[type='checkbox']:hover:checked:before, input[type='radio']:hover:checked:before
{
    /*color: var(--second-color);*/
    /*border-color: var(--second-color);*/
    /*background-color: transparent;*/
}

::placeholder
{
    color: var(--text-color);
    transition: var(--transition);
}

::selection
{
	color: var(--selected-text);
	background-color: var(--selected-bg);
}

button
{
    height: auto;
}

span, img
{
	margin: 0;
	padding: 0;
	border: none;
    display: block;
}

img
{
    max-width: 100%;
    width: auto;
    height: auto;
}

h1, h2, h3, h4, h5, h6
{
	font-weight: normal;
}

a
{
    color: unset;
    text-decoration: none;
}

/*================================================*/



/*==================================================
TEMPLATE
==================================================*/

#main
{
    grid-area: main;
    width: 100%;
    height: 100%;
    margin: auto;
    padding: 0;
    display: flex;
    position: relative;
    z-index: 1;
}

.screen
{
    width: 100%;
    height: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
    position: absolute;
    inset: 0;
    z-index: 0;
    border: none;
    text-align: center;
    /*
    -webkit-user-select: none;
    -moz-user-select: moz-none;
    -ms-user-select: none;
    user-select: none;
    */
}





.grid-footer
{
    grid-area: footer;
    text-align: center;
}

.footer-row
{
    display: grid;
    text-align: center;
    gap: 10px;
}

.footer-item
{
    
}





.banner-title
{
    font-size: var(--banner-text);
    line-height: 120%;
    /*font-weight: bold;*/
    font-family: authentic-calisttera-regular;
    text-align: left;
    /*text-shadow: 0 20px 20px rgba(0, 0, 0, 0.25);*/
}

.ultra-title-x2
{
    font-size: var(--banner-text);
    font-weight: bold;
    font-family: montserrat-bold;
}

.ultra-title
{
    font-size: var(--ultra-text);
    font-weight: bold;
    font-family: montserrat-extrabold;
}

.super-title
{
    font-size: var(--super-text);
    font-weight: bold;
    font-family: montserrat-extrabold;
}

.big-title
{
    font-size: var(--big-text);
    font-weight: bold;
    font-family: montserrat-bold;
}

.main-title
{
    font-size: var(--main-text);
    font-weight: bold;
    font-family: montserrat-bold;
}

.second-title
{
    font-size: var(--second-text);
    font-weight: bold;
    font-family: montserrat-bold;
}

.third-title
{
    font-size: var(--third-text);
    font-weight: bold;
    font-family: montserrat-bold;
}

.ultra-text{font-size: var(--ultra-text);}
.super-text{font-size: var(--super-text);}
.big-text{font-size: var(--big-text);}
.main-text{font-size: var(--main-text);}
.second-text{font-size: var(--second-text);}
.third-text{font-size: var(--third-text);}
.fourth-text{font-size: var(--fourth-text);}

.font-family-scriptina{font-family: scriptina;}
.font-family-authentic{font-family: authentic-calisttera-regular;}
.font-family-freescpt{font-family: freescpt !important;}





.section, .section-full
{
    width: auto;
    height: auto;
    margin: auto 0;
    padding: 100px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    flex-shrink: 0;
    gap: 50px;
    position: relative;
    text-align: left;
    transition: var(--transition);
}

.section-full
{
    min-height: -webkit-fill-available;
    min-height: -moz-available;
}

.section-main
{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.section-content
{
    width: auto;
    height: auto;
    margin: 100px;
    position: relative;
}

.section-content-center
{
    width: auto;
    height: auto;
    margin: 100px;
    text-align: center;
    position: relative;
}
.
.section-content-normal
{
    width: auto;
    height: auto;
    margin: 20px;
    text-align: center;
    position: relative;
}

.section-content-full
{
    width: 100%;
    text-align: center;
}

.banner-full
{
    width: 100%;
    height: 100%;
    margin: auto;
    display: flex;
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: center;
    overflow: hidden;
}

.banner-dark-filter
{
    filter: contrast(70%) blur(5px);
}

.banner-softdark-filter
{
    filter: contrast(70%) brightness(0.80);
}

.banner-opacity-filter
{
    filter: opacity(0.20);
}

.banner-opacity-blur-filter
{
    filter: blur(5px) opacity(0.25);
}

.logo-evento
{
    width: 640px;
    height: auto;
    max-height: 480px;
    margin: auto;
}

.logo-evento-v
{
    width: auto;
    height: auto;
    max-height: 540px;
    margin: auto;
}

.fixed
{
    position: fixed;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    pointer-events: none;
}

.section-cards
{
    max-width: 1024px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 50px;
    text-align: center;
}

.section-card
{
    border-radius: 25px;
    background-color: white;
}

.section-card-info
{ 
    padding: 50px;
    text-align: center;
}

.section-card-limit
{
    max-width: 640px;
    margin: auto;
}

.one-container
{
    max-width: 1024px;
    width: 100%;
}

.gallery-grid
{
    width: 100vw;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    grid-auto-flow: dense;
    gap: 10px;
}

.gallery-grid-4
{
    width: 100vw;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto;
    grid-auto-flow: dense;
    gap: 10px;
}

.gallery-item
{
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}

.gallery-flex
{
    max-width: 1024px;
    margin: 50px 20px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 75px;
}

.gallery-flex-item
{
    width: 100px;
    margin: auto;
}

.gallery-flex-item-big
{
    width: 130px !important;
}

.gallery-filter-monochromatic
{
    filter: grayscale(100%) contrast(120%) brightness(1.2);
}

.icon
{
    max-width: 100px;
    width: auto;
    height: auto;
    margin: auto;
    padding: 20px;
}

.countdown
{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 50px;
}

.countdown-item
{
    width: 100px;
    height: 100px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid rgba(0, 0, 0, 0.25);
    border-radius: 100px;
}

.form
{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.input-group
{
    display: flex;
    align-items: center;
    gap: 20px;
}

.input-block
{
    width: 100%;
    padding: 10px;
    display: flex;
    align-items: center;
    background-color: var(--fifth-color);
    border: 2px solid transparent;
    border-radius: 10px;
    transition: var(--transition);
}

.input-compress
{
    /*width: auto;*/
}

.input-flex
{
    width: auto;
    display: flex;
    align-items: center;
    gap: 5px;
}

.input-flex > *
{
    width: auto;
}

.input-icon
{
    width: 24px;
    height: auto;
}

.btn, .btn2
{
    width: fit-content;
    padding: 20px;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    color: var(--fourth-color);
    background-color: var(--main-color);
    border: 2px solid var(--main-color);
    border-radius: 100px;
    transition: var(--transition);
}

.btn:hover, .btn2:hover
{
    cursor: pointer;
    color: var(--main-color);
    background-color: white;
}

.btn2
{
    background-color: var(--second-color);
}

.btn-link
{
    /*padding: 2.5px;*/
    font-weight: bold;
    border-bottom: 1px solid
}

.btn-text
{
    height: auto !important;
    padding: 5px;
    color: var(--fourth-color) !important;
    font-weight: bold;
}

.contact-field-error
{
    border-color: var(--main-color);
}

.grid-list
{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    text-align: left;
    grid-gap: 20px;
    border-bottom: 1px solid #eee;
}

.grid-list-cols
{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    text-align: left;
    grid-gap: 20px;
    font-size: var(--second-text);
    border-bottom: 1px solid #eee;
}

.grid-list:last-child, .grid-list-cols:last-child
{
    border: none;
}

.grid-list-item
{
    padding: 15px;
}

.grid-list-item-left
{
    text-align: left;
}

.grid-list-item-right
{
    text-align: right;
}

.grid-list-item-no
{
    color: red;
    font-weight: bold;
}

.grid-counter
{
    width: auto;
    margin: 30px 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    grid-gap: 20px;
}

.grid-counter-item
{
    padding: 20px;
    background-color: white;
    border: 1px solid #eee;
    border-radius: 20px;
}

.sticky-top
{
    position: sticky;
    top: 0;
}

.text-center
{
    text-align: center;
}

.text-left
{
    text-align: left;
}

.text-shadow
{
    text-shadow: 0 10px 20px rgba(0, 0, 0, 0.50);
}

.shadow
{
    box-shadow: 0 10px 20px 0px rgba(0, 0, 0, 0.15);
}

.drop-shadow
{
    filter: drop-shadow(0px 20px 20px rgb(0, 0, 0, 0.50));
}

.display-none
{
    display: none;
}

.visibility
{
    visibility: hidden;
}

.nomargin
{
    margin: 0 !important;
}

.nopadding
{
    padding: 0 !important;
}

.no-v-padding
{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}





.anim
{
    opacity: 0;
}

.video-container
{
    max-width: 960px;
    width: auto;
    height: auto;
    margin: auto;
    padding: 20px;
    aspect-ratio:  16 / 9;
    overflow: hidden;
}

.video-block
{
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
    border: 2px solid var(--main-color);
    border-radius: var(--border-radius);
    overflow: hidden;
}

.video-block iframe, .video-block object, .video-block embed
{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: var(--border-radius);
}

/*================================================*/



/*==================================================
CONTACT
==================================================*/

.gmap, .playlist
{
    height: 320px;
    position: relative;
    border-radius: var(--border-radius);
    overflow: hidden;
    /*box-shadow: 0 10px 20px 0px rgba(0, 0, 0, 0.15);*/
}

.gmap iframe, .playlist iframe
{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/*================================================*/



/*==================================================
POPUPS
==================================================*/

.popup
{
    width: 100%;
    height: 100%;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    color: black;
    background-color: rgba(0,0,0,0.5);
}

.popup-container
{
    max-width: 720px;
    max-height: 480px;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    display: grid;
    grid-template-areas: 
        "popupheader"
        "popupmain"
        "popupfooter"
    ;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
    background-color: var(--bg2);
    border-radius: var(--border-radius);
    box-shadow: 0 100px 100px -10px rgba(0,0,0,0.25);
    overflow: hidden;
}

.popup-content
{
    grid-area: popupmain;
    width: auto;
    height: auto;
    margin: var(--padding);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    overflow: hidden overlay;
    -webkit-overflow-scrolling: touch;
    /*transition: var(--transition);*/
}

.popup-header
{
    grid-area: popupheader;
    margin: var(--margin);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    position: relative;
    top: 0;
    right: 0;
    z-index: 2;
    font-weight: bold;
    /*transition: var(--transition);*/
}

.popup-info
{
    width: 100%;
    height: 100%;
    margin: auto 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: var(--big-text);
    /*transition: var(--transition);*/
}

.popup-icon
{
    padding: 10px;
}

.popup-icon:hover
{
    cursor: pointer;
}

.popup-footer
{
    grid-area: popupfooter;
    margin: var(--padding);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    grid:  20px;
    position: relative;
    z-index: 2;
    font-weight: bold;
    /*transition: var(--transition);*/
}

.popup-close
{
    color: black;
    font-size: var(--big-text);
}

.popup-img
{
    max-width: fit-content;
    max-height: fit-content;
    width: 100%;
    height: auto;
    margin: auto;
    border-radius: var(--border-radius);
}

/*================================================*/



/*==================================================
THEME
==================================================*/

[data-event="3"]
{
    --main-color: #07538a;
    --second-color: #00b8d3;
    --third-color: #000;
    --fourth-color: #fff;
    --fifth-color: #eee;
}

[data-event="4"]
{
    --main-color: #8772a4;
    --second-color: #fdf7e9;
    --third-color: #000;
    --fourth-color: #fff;
    --fifth-color: #eee;
}

[data-event="5"]
{
    --main-color: #cccab5;
    --second-color: #fff3e0;
    --third-color: #ccb9bc;
    --fourth-color: #f4f4f4;
    --fifth-color: #f4f4f4;
    --sixth-color: #efebe9;
}

[data-event="5"] .countdown-item
{
    border-color: var(--main-color);
}





[data-event="6"], [data-event="7"]
{
    --main-color: #521119;
    --second-color: #727c71;
    --third-color: #9ea59e;
    --fourth-color: #98aec5;
    --fifth-color: #d9dde0;
    --sixth-color: #efebe9;

    .btn
    {
        color: var(--sixth-color) !important;
    }

    .btn:hover
    {
        color: var(--main-color) !important;
    }
}

[data-event="6"]
{
    /*
    background-image: url('../img/events/6/bg.webp');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    */
}

[data-event="7"]
{
    /*
    background-image: url('../img/events/6/party-bg.webp');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    */
}

[data-event="8"]
{
    --main-color: #744567;
    --second-color: #687036;
    --third-color: #9ea59e;
    --fourth-color: #98aec5;
    --fifth-color: #d9dde0;
    --sixth-color: #efebe9;

    .btn
    {
        color: var(--sixth-color) !important;
    }

    .btn:hover
    {
        color: var(--main-color) !important;
    }
}


[data-event="6"] .countdown-item, [data-event="7"] .countdown-item
{
    border-color: var(--main-color);
}

[data-event="6"] [data-cover]
{

}

[data-event="6"] [data-countdown]
{
    
}

[data-event="6"] [data-church]
{
    
}

[data-event="6"] [data-party]
{
    
}

[data-event="6"] [data-dresscode]
{
    
}

[data-event="6"] [data-gallery]
{
    
}

[data-event="6"] [data-plan]
{
    
}

[data-event="6"] [data-assistance]
{
    
}

[data-event="6"] [data-music]
{
    
}

[data-event="6"] [data-footer]
{
    
}

.main-color{color: var(--main-color);}
.second-color{color: var(--second-color);}
.third-color{color: var(--third-color);}
.fourth-color{color: var(--fourth-color);}
.fifth-color{color: var(--fifth-color);}
.sixth-color{color: var(--sixth-color);}
.white-color{color: white;}
.main-bg-color{background-color: var(--main-color);}
.second-bg-color{background-color: var(--second-color);}
.third-bg-color{background-color: var(--third-color);}
.fourth-bg-color{background-color: var(--fourth-color);}
.fifth-bg-color{background-color: var(--fifth-color);}
.sixth-bg-color{background-color: var(--sixth-color);}
.white-bg-color{background-color: white;}

/*================================================*/



/*==================================================
WEBKIT SCROLL
==================================================*/

::-webkit-scrollbar
{
	width: 15px;
	height: 0;
}

::-webkit-scrollbar-thumb
{
    border: 3px solid transparent;
	border-radius: var(--border-radius-round);
    box-shadow: var(--scroll-margin);
}

/*================================================*/



/*==================================================
RESPONSIVE
==================================================*/

@media (max-width: 1280px)
{
    .logo-evento
    {
        max-width: 420px;
    }

    .section
    {
        padding: 35px;
    }

    .section-content-center
    {
        margin: 50px;
    }
}

@media (max-width: 1080px)
{
    .section, .section-full
    {
        padding: 25px;
    }

    .section-content-center
    {
        margin: 25px;
    }
}

@media (max-width: 1024px)
{
    :root
    {
        --margin: 20px;
        --padding: 10px;
        --banner-text: 54px;
        --ultra-text: 38px;
        --super-text: 32px;
        --big-text: 20px;
        --main-text: 13px;
        --second-text: 11px;
        --third-text: 9px;
        --icon: 16px;
        --btn: 16px;
        --nav-icon: 24px;
    }

    .section,
    .section-full
    {
        gap: 20px;
    }

    .section,
    .section-full,
    .section-card-info,
    .section-content-center
    {
        padding: 20px;
    }

    .section-content-center
    {
        margin: 50px 0;
        padding: 0;
        /*text-align: left;*/
    }

    .countdown
    {
        gap: 25px;
    }

    .countdown-item
    {
        width: 90px;
        height: 90px;
    }

    .btn
    {
        padding: 15px;
    }

    .icon
    {
        max-width: 64px;
    }

    .input-group
    {
        flex-direction: column;
    }

    .input-block
    {
        width: -webkit-fill-available;
        width: -moz-fill-available;
    }

    input, textarea, select
    {
        height: 32px;
    }
}

@media (max-width: 960px)
{
    .logo-evento-post-bottom
    {
        margin: auto;
        padding: 20px;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 20px;;
    }

    .gallery-grid-4
    {
        grid-template-columns: repeat(2, 1fr);
    }

    .gallery-flex
    {
        margin: 40px 0 0 0;
        gap: 50px;
    }

    .gallery-flex-item
    {
        width: 75px;
    }

    .grid-list-cols-header
    {
        display: none !important;
    }

    .grid-list-cols
    {
        display: grid;
        grid-template-columns: repeat(1, minmax(0, 1fr));
        grid-gap: 0;
        font-size: var(--main-text);
    }

    .grid-list-cols-body .grid-list-item
    {
        display: flex;
        justify-content: space-between;
    }

    .grid-list-cols-body .grid-list-item:before
    {
        content: attr(data-label);
        font-weight: bold;
    }
}

@media (max-width: 640px)
{
    .gallery-flex
    {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .gallery-flex-item-big
    {
        grid-column: span 2;
    }
}

@media (max-width: 480px)
{
	
}

@media (max-width: 320px)
{

}

@media (prefers-color-scheme: light)
{
    
}

@media (prefers-color-scheme: dark)
{
    
}