/*
	Theme Name: Tallinn Beauty Festival
	Theme URI: tallinnbeautyfestival.ee
	Description: Tallinn Beauty Festival WordPress Theme
	Version: 1.4.3
	Author: Roosfeld Digital
	Author URI: https://roosfeld.com
	Tags: Blank, HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html { overflow-x: hidden; }
body {  font-family: "Inter", sans-serif;font-optical-sizing: auto;font-weight: 400;font-style: normal; color:#15090C; background-color: #fff; font-size: 24px; }
/* clear */ 
.clear:before,
.clear:after { content:' '; display:table;}
.clear:after { clear:both;}
.clear {*zoom:1;}
img {max-width:100%;vertical-align:bottom;}
a {color:#15090C;text-decoration:underline;}
a:hover {color:#15090C;text-decoration:none;}
a:focus {outline:0;}
a:hover,
a:active {outline:0;}
input:focus {outline:0;border:1px solid #87001D;}
p { line-height: 130% }
.center { text-align: center }
h1, h2, h3 {  font-family: "bacalar-extra-condensed", sans-serif; letter-spacing: -2%; line-height: 85%; color: #87001D;}
h1 { font-family: "bacalar-ultra-condensed", sans-serif;font-weight: 100;font-size: 146px;text-transform: uppercase;margin:0px; margin-top: 40px}
h2 { font-size: 72px; color: #87001D; font-weight: bold; text-transform: uppercase; padding-bottom: 0px; padding-top: 0px }
h3 { font-size: 20px; line-height: 30px; color: #87001D; font-weight: bold }
button.btn, input[type=submit] { color: #87001D; border: 2px solid #87001D; background: #fff; font-weight: 700; padding: 11px 28px 11px; border-radius: 100px; font-size: 24px; font-family: Halogen;font-weight: 700;font-style: italic;leading-trim: NONE;line-height: 130%;letter-spacing: 0%;}
button.btn.yellow { color: #303333; background: #ffc926;  }
button.btn:hover { color: #fff;  background: #87001D; }
input[type=submit] { background: #87001D; color: white }
input[type=submit]:after { content: 'teere' }
main { position: relative; overflow: hidden; padding-right: 200px }
.button_holder { padding-top: 40px;  }
footer button.btn:hover { border: 2px solid #fff }
.cta .icon { display: inline-block;transition: transform 0.6s ease;transform-origin: center;}
.cta:hover .icon {transform: rotate(360deg);}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {max-width:1440px;width:95%;margin:0 auto;position:relative; }
/* header */
.header { position: relative; clear: both; width: 100%; padding: 25px 0px; background: #FF9FB8; transition: box-shadow 0.3s ease;position: fixed; }
body.sticky header { position: fixed; /*box-shadow: 0 4px 20px rgba(0,0,0,0.46);*/ z-index: 999;}
.header_spacer { height: 107px; background: #FF9FB8; }
.header .wrapper { display: flex;align-items: center;justify-content: space-between; }
.header_right { display: flex;align-items: center;  }
/* logo */
.logo { }
.logo-img { float: left; height: 56px; }
/* nav */
.nav { float: left; font-family: halogen, sans-serif; margin-left: 10px}
.nav ul, .nav ul li { margin: 0px; padding: 0px; display: inline-block; list-style: none;   }
.nav ul li { padding: 10px 20px }
.nav a { color: #87001D;  text-decoration: none;font-family: Halogen;font-weight: 700;font-style: italic;font-size: 24px;leading-trim: NONE;line-height: 150%;letter-spacing: -1%;}
.nav a:hover { opacity: 0.8 }
li.menu-item-11 { border: 2px solid #87001D; background: white; border-radius: 100px;  }
li.menu-item-11:after { content: ''; display: inline-block; width: 57px; height: 57px; background: url('img/btn.svg') no-repeat; }
.lang_nav { float: left;  color: #87001D;  text-align: center; border: 2px solid #87001D; padding: 10px 20px; border-radius: 100px; font-family: halogen, sans-serif;font-style: italic; font-weight: 700 }
.lang_nav a { color: #87001D; text-decoration: none; }
.lang_nav a:hover { color: #87001D; }

/* footer */
.footer {position: relative; background: url('img/footer_home.png') no-repeat;padding: 120px 0px; background-size: 100%; text-align: center; margin-top: -120px; color: white; padding-bottom: 50px;padding: 120px 0px;background-size: 1440px;text-align: center;margin-top: -120px;color: white;padding-bottom: 50px;background-position: top center;background-color: #87001d;border-radius: 20px 20px 0px 0px}
body.page-template-template-contact .footer { background: url('img/footer_contact.png') no-repeat;background-size: 100%; }
.footer h2 { margin: 60px 0px 0px; color: white }
.copyright { font-size: 16px; color: #fff; }
.footer_logo { margin-top: 40px }
.footer .footer_nav { padding-left: 2.5%; padding-right: 2.5%; padding-top: 40px }
.footer .footer_nav .col { margin-bottom: 0px }
.footer .footer_nav ul { display: flex; justify-content: center; gap: 40px; margin: 0px; padding: 0px  }
.footer .footer_nav ul li { list-style: none;  }
.footer .footer_nav ul li a { color: white; font-size: 16px; text-decoration: none;   }
.up { font-size: 16px; color: white; text-decoration: none;display: flex;flex-direction: column;align-items: center;gap: 8px;margin-top: -160px; }
.up:hover { color: white }

body.page-template-template-contact .up { color: #87001D }


/*------------------------------------*\
    AVALEHT
\*------------------------------------*/
.homeintro { background: url('img/hero.png') no-repeat; min-height: 70vh; background-size: cover; display: flex;flex-direction: column;justify-content: center;align-items: center; }
.homeintro .section { display: flex;flex-direction: row;width: 100%; }
.homeintro p { font-family: Halogen;font-weight: 700;font-style: italic;font-size: 36px;leading-trim: NONE;line-height: 130%;letter-spacing: -1%; color: #87001D}
.marquee { width: 100%; font-family: "bacalar-extra-condensed", sans-serif;font-weight: 100;font-style: normal;font-size: 82px; background: #87001D; color: #FF9FB8; line-height: 80px; letter-spacing: -2%; text-transform: uppercase;overflow: hidden;white-space: nowrap; }
.marquee ul li { float: left; margin: 20px 50px; margin-left: 20px;margin-right: 30px; }
.marquee-content {display: flex;gap: 3rem; /* vahe elementide vahel */padding: 0;margin: 0;animation: marquee 18s linear infinite;}
.marquee-content li {white-space: nowrap;}
.about { padding: 60px 0px; }
.about h2 { margin-top: 15px }
.about .card { background: #FFF4EF; border-radius: 20px; padding: 20px; font-family: Inter;font-weight: 400;font-size: 16px;line-height: 130%;letter-spacing: -1%;color: #15090ca3}
.about .card h4 { margin: 0px; color: #87001D; font-family: Inter;font-weight: 700;font-size: 32px;line-height: 120%;letter-spacing: -1%;}
.program { padding: 60px 0px;background: #FFD2BB }
.program h2 { margin-top: 15px }
.program .program_info { background: white; border-radius: 20px; padding: 40px 60px  }
.timetable { text-align: center; }
.timetable .btn { font-size: 16px; background: transparent; }
.timetable .btn:hover, .timetable .btn.sel { background: #FFF; color: #87001D }
.timetable_days { background: #FFF4EF; border-radius: 100px; padding: 5px; display: inline-block }
.timetable_day { text-align: left;  }
.day_item { background: #fff; border-radius: 20px; padding: 8px 16px; margin: 10px; font-size: 16px; color: #15090ca6 }
.day_item h4 { margin:0px;padding:0px; font-size: 24px; color: #87001D; font-family: Halogen;font-weight: 700;font-style: italic; }
.day_item date { display: flex; align-items: center; justify-content: center; gap: 5px }
.participants { padding: 60px 0px;background: #87001D }
.participants h2 { margin-top: 15px; color: #FFD2BB }
.participants .participants_info { color: #fff; line-height: 130% }
.participants .logos { display: grid; grid-template-columns: repeat(4, 1fr);gap: 16px; }
.logos a img { transition: transform 0.3s ease, filter 0.3s ease;transform: scale(1);}
.logos a:hover img { transform: scale(1.06); /* kerge zoom */filter: brightness(1.05); /* natuke "poppi" juurde — valikuline */}
.join_tbf { background: #FFD2BB; border-radius: 20px; padding: 20px 40px; margin: 40px 0px }
.join_tbf h2 { margin-top: 15px; color: #87001D }
.location { padding: 60px 0px;background: #fff }
.location h2 { margin-top: 15px }
.some { padding: 60px 0px; background-image: url('img/hero_element2.png'); background-color: #FFD2BB; background-size: contain; background-repeat: no-repeat; background-position: right center }
.some .col { margin: 0px }
.some h2 { margin-top: 15px }
.organizer { padding: 60px 0px 180px;background: #FF9FB8 }
.organizer h2 { margin-top: 15px }
.contacts span { font-family: Halogen;font-weight: 700;font-style: italic;font-size: 24px;leading-trim: NONE;line-height: 130%;letter-spacing: -1%;color: #87001D; }
.contacts img { margin-bottom: 20px; width: 80% }

/*------------------------------------*\
    Register
\*------------------------------------*/
.contact .contact_hero { background: #FFD2BB; display: flex;flex-direction: column;justify-content: center;align-items: center;}
.contact_hero .section { display: flex;flex-direction: row;width: 100%; align-items: center}
.contact_hero .section .col { margin:0px }
.contact_hero .section .span_7_of_12.col { text-align: right; width: 60% }
.contact_hero .section .span_5_of_12.col { width: 40% }
.contact_hero h1 { font-size: 126px }
.contact_hero h2 { font-size: 32px }
.contact_hero p { font-size: 24px;leading-trim: NONE;line-height: 130%;letter-spacing: -1%; color: #15090C; margin-right: -100px}
.contact_hero p span { color: #15090C80 }

.contact .nf-form-cont { max-width: 695px; margin: 0 auto; margin-top: 60px; margin-bottom: 160px; }
.nf-before-form-content { display: none }

.nf-field-element input[type=text], .nf-field-element input[type=tel], .nf-field-element input[type=email] { background: #FFF4EF; border-radius: 20px; border: none }
.nf-field-element input[type=text], .nf-field-element input[type=tel], .nf-field-element input[type=email] { height: 50px !important; padding-left: 20px; color: #15090C80}
.nf-field-label span:not(.nf-label-span) { color: #15090C80 }
.nf-field-label .ninja-forms-req-symbol { color: black }
.nf-field-element textarea { background: #FFF4EF; border-radius: 20px; border: none }

/*------------------------------------*\
    GRID SYSTEM
\*------------------------------------*/



/*  SECTIONS  */
.section { clear: both; padding: 0px; margin: 0px; }

/*  COLUMN SETUP  */
.col { display: block; float:left; margin: 1% 0 1% 2%; }
.col:first-child { margin-left: 0; }

/*  GROUPING  */
.group:before,
.group:after { content:""; display:table; }
.group:after { clear:both;}
.group { zoom:1; /* For IE 6/7 */ }

/*  GRID OF TWO  */
.span_2_of_2 { width: 100%; }
.span_1_of_2 { width: 49%; }

/*  GRID OF THREE  */
.span_3_of_3 { width: 100%; }
.span_2_of_3 { width: 66%; }
.span_1_of_3 { width: 32%; }

/*  GRID OF FOUR  */
.span_4_of_4 { width: 100%; }
.span_3_of_4 { width: 74.5%; }
.span_2_of_4 { width: 49%; }
.span_1_of_4 { width: 23.5%; }
/*  GRID OF FIVE  */
.span_5_of_5 {width: 100%;}
.span_4_of_5 {width: 79.6%;}
.span_3_of_5 {width: 59.2%;}
.span_2_of_5 {width: 38.8%;}
.span_1_of_5 {width: 18.4%;}
/*  GRID OF TWELVE  */
.span_12_of_12 {width: 100%;}
.span_11_of_12 {width: 91.5%;}
.span_10_of_12 {width: 83%;}
.span_9_of_12 {width: 74.5%;}
.span_8_of_12 {width: 66%;}
.span_7_of_12 {width: 57.5%;}
.span_6_of_12 {width: 49%;}
.span_5_of_12 {width: 40.5%;}
.span_4_of_12 {width: 32%;}
.span_3_of_12 {width: 23.5%;}
.span_2_of_12 {width: 15%;}
.span_1_of_12 {width: 6.5%;}


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

.burger { display: none }
.mob_menu { display:none; }
.mobile { display: none }
.desktop { display: block }

@media only screen and (max-width: 1340px) {
	h1 { font-size: 130px }
	h2 { font-size: 62px }
	.homeintro { min-height: 60vh; }
}

@media only screen and (max-width: 1200px) {
	.burger { display: block; float: right; cursor: pointer}
	.burger img { width: 50px;}
	.lang_nav, .nav.nav { display: none }
	.mob_menu { display: block; position: fixed;top: 0px; left: 0px; width: 100%; height: 100vh; background: #fff; z-index: 99999; text-align: center }
	.mob_menu .logo { padding: 5%; width: 50%;float: left; }
	.mob_menu .close { width: 100px; float: right }
	.mob_menu .close img { width: 50px; padding-top: 25px }
	.mob_menu_content { position: absolute;top: 50%;transform: translateY(-50%); width: 100%;  }
	.mob_menu ul li, .mob_menu ul { list-style-type: none; margin: 0px; padding: 0px }
	.mob_menu ul li { padding: 10px 0px }
	.mob_menu ul li.current_page_item a { color: #303333 }
	.mob_menu a { color: #87001D; font-size: 25px; line-height: 45px; font-family: Halogen;font-weight: 700;font-style: italic;font-size: 24px;leading-trim: NONE;line-height: 150%;letter-spacing: -1%; text-decoration: none  }
	.mob_menu .lang_nav { display: inline-block; text-align: center; float: initial; margin-top: 20px }
	.mob_menu .lang_nav a { display: inline-block; margin-left: 10px; margin-right: 10px  }
	.mob_menu .lang_nav br { display: none;   }
	.mobile { display: block }
	.desktop { display: none }
	.header_cta { display: none }
	h1, .contact_hero h1 { font-size: 110px }
	h2 { font-size: 52px }
	.about .card h4 { font-size: 26px }
	.homeintro { min-height: 50vh; }
	.homeintro p { font-size: 30px }
	.some_mob { margin-top: 40px }

	input[type=submit] { white-space: normal; }
}

/*  GO FULL WIDTH AT LESS THAN 480 PIXELS */

	@media only screen and (max-width: 980px) {
		.col { margin: 1% 0 1% 0%; }
		.span_2_of_2, .span_1_of_2 { width: 100%; }
		.span_3_of_3, .span_2_of_3, .span_1_of_3 { width: 100%; }
		.span_1_of_4, .span_2_of_4, .span_3_of_4, .span_4_of_4 { width: 100%; }
		.span_1_of_5, .span_2_of_5, .span_3_of_5, .span_4_of_5, .span_5_of_5 { width: 100%; }
		.span_1_of_12, .span_2_of_12, .span_3_of_12, .span_4_of_12, .span_5_of_12, .span_6_of_12, .span_7_of_12, .span_8_of_12, .span_9_of_12, .span_10_of_12, .span_11_of_12, .span_12_of_12 { width: 100%; }
	}

@media only screen and (max-width: 980px) {
	h1, .contact_hero h1 { font-size: 72px }
	h2 { font-size: 48px }
	.marquee { font-size: 54px; line-height: 60px }
	.homeintro { background: url('img/hero_mob.png') no-repeat; background-size: cover;background-position: bottom;}
	.homeintro .section { flex-direction: column; padding: 40px; padding-top: 0px; padding-bottom: 50vh }
	.contact_hero .section { flex-direction: column; padding: 20px; padding-top: 0px;  }
	.contact_hero .section .span_5_of_12.col, .contact_hero .section .span_7_of_12.col { width: 100% }
	.homeintro p { font-size: 20px }
	.contact_hero p { margin-right: 0px }
	.about { padding: 20px }
	.about h2 { padding-bottom: 0px; margin-bottom: 0px }
	.about .card { margin-bottom: 10px }
	.program { padding: 20px }
	.program h2 { padding-bottom: 20px; margin-bottom: 0px }
	.program .program_info { padding: 20px 40px; }
	.participants { padding: 20px; padding-bottom: 0px; }
	.participants h2 { padding-bottom: 0px; margin-bottom: 0px }
	.participants .logos { grid-template-columns: repeat(2, 1fr); }
	.join_tbf { margin: 40px -30px; padding-bottom: 60px; border-radius: 20px 20px 0px 0px; }
	.join_tbf .cta img { display: none; }
	.location { padding: 20px }
	.location h2 { padding-bottom: 0px; margin-bottom: 0px; margin-top: 0px }
	.participants_info .btn { font-size: 18px }
	.participants_info .cta img { display: none }
	.participants_info .cta { margin-top: 20px; display: inline-block }
	.some { background-image: none; padding: 20px }
	.organizer { 20px 20px 180px }
	.organizer h2 { padding-bottom: 0px; margin-bottom: 0px;  }
	.footer .desktop { display: none !important; }
	.footer .has-text-align-right, .footer .has-text-align-left { text-align: center !important; }
	.footer .footer_nav { padding-top: 0px }
	.footer_logo_tbf { margin-bottom: 30px; margin-top: 20px;  }
	.copyright { padding-top: 20px }
	.footer_logo { margin-top: 10px; margin-bottom: 0px }
}

@media only screen and (max-width: 768px) {

}

@media only screen and (max-width: 480px) {
	
}

@media only screen and (max-width: 320px) {
	
}



/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
