/*----------------------------------------------
*
* [WordPress Support CSS]
*
* Theme    : Shock
* Version  : 1.0
* Author   : Codings
* Support  : codings.dev
* 
----------------------------------------------*/

/*----------------------------------------------

[Content Index]

1. WordPress
2. Elementor
3. Contact Form 7

----------------------------------------------*/

/*----------------------------------------------
1. WordPress
----------------------------------------------*/

/* #region General */

.customize-partial-edit-shortcuts-shown .customize-partial-edit-shortcut button {
  padding: 0;
}

.entry-title {
  word-wrap: break-word;
  -webkit-word-wrap: break-word;
  -moz-word-wrap: break-word;
  -ms-word-wrap: break-word;
}

.image-wrapper .image.wp-post-image {
  width: auto;
  height: auto;
  margin: 0 auto;
}

.wp-block-pullquote {
  border-color: var(--color-3);
  color: var(--color-2);
}

.wp-block-pullquote blockquote {
  border-color: inherit;
}

.has-drop-cap:not(:focus):first-letter {
  float: left;
  font-size: 8rem;
  line-height: 0.75;
  font-weight: 600;
  margin: 0 0.5rem 0 -0.5rem;
  text-transform: uppercase;
  font-style: normal;
}

.wp-block-separator {
  margin: 3rem 0;
  background-color: transparent;
  border-color: var(--color-3);
}

.wp-block-separator.is-style-wide {
  margin-left: -3rem;
  margin-right: -3rem;
}

.wp-block-separator.is-style-dots {
  margin: 1.5rem 0;
}

.wp-block-separator.is-style-dots:before {
  content: "···";
  display: block;
  margin: -1.5rem 0;
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: 1.5rem;
  padding-left: 0;
}

/* #endregion General */

/* #region Alignment */

.size-auto, .size-full, .size-large, .size-medium, .size-thumbnail {
  max-width: 100%;
  height: auto;
}

.alignleft {
  float: left;
  margin-right: 1.5rem;
}

.alignright {
  float: right;
  margin-left: 1.5rem;
}

.aligncenter {
  clear: both;
  display: block;
  margin: 0 auto;
}

.alignfull,
.alignwide {
  width: 100%;
}

/* #endregion Alignment */

/* #region Layout */

.wp-block-group__inner-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 35px;
}

.wp-sidebar .wp-block-group__inner-container {
  padding: 0;
}

/* #endregion Layout */

/* #region Image */

.wp-block-image {
  margin: 1.5rem 0;
}

.wp-block-image .alignleft {
  margin-right: 1.5rem;
}

.wp-block-image .alignright {
  margin-left: 1.5rem;
}

.wp-block-image .alignright.is-resized {
  margin-bottom: 1.5rem;
}

.wp-block-image  figcaption {
  text-align: center;
}

.wp-caption {
  margin-bottom: 1.5rem;
  max-width: 100%;
  position: relative;
}

.wp-caption img {
  position: relative;
  vertical-align: bottom;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin: 0 auto 0;
  max-width: 100%;
}

.wp-caption .wp-caption-text {
  margin-top: 0.5rem;
  opacity: 0.8;
  font-size: 85%;
}

/* #endregion Image */

/* #region Gallery */

.wp-block-gallery:not(.has-nested-images) {
  margin-bottom: 1.5rem;
}

.wp-block-gallery.alignleft {
  margin-right: 1.5rem;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-item img {
	vertical-align: bottom;
}

.gallery-caption {
	display: block;
}

/* #endregion Gallery */

/* #region Cover */

.wp-block-cover {
  margin-bottom: 1.5rem;
  color: var(--color-1);
}

.wp-block-cover strong {
  filter: none;
}

/* #endregion Cover */

/* #region Button */

.wp-block-button {
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
}

.wp-block-button .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
  padding: 0.65rem 1.5rem 0.75rem;
  border-radius: 0.25rem;
  line-height: 1.2;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background),
.wp-element-button:not(.has-background) {
  border-radius: 0.25rem;
  line-height: 1.2;
  text-decoration: none;
  background-color: var(--color-2);
  color: #fff;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background):hover,
.wp-element-button:not(.has-background):hover {
  text-decoration: none !important;
  background-color: var(--shock-primary-color);
  color: #fff;
}

.wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color) {
  background-color: transparent;
  color: var(--color-2);
}

.wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color):hover {
  text-decoration: none !important;
  background-color: transparent;
  color: var(--shock-primary-color);
}

.mejs-controls button:hover {
  background-color: transparent;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

/* #endregion Button */

/* #region Widget */

.wp-block-image {
  width: 100%;
  margin-top: 3rem;
  margin-bottom: 3rem;
  display: block;
}

.wp-block-image img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  border-radius: 0.25rem;
  box-shadow: 0px 20px 50px 0px rgb(0 0 0 / 15%);
}

.wp-block-image figcaption {
  margin-top: 1rem;
  margin-bottom: 0;
  font-size: 0.85rem;
  text-align: center;
  color: inherit;
}

.widget_categories,
.wp-block-categories {
  padding: 0;
  list-style: none;
}

.widget_categories li,
.wp-block-categories li {
  list-style: none;
}

.widget_categories a,
.wp-block-categories a {
  text-decoration: none;
  color: inherit;
}

.widget_categories a:hover,
.wp-block-categories a:hover {
  text-decoration: none;
  color: var(--shock-primary-color);
  text-decoration: none !important;
}

.widget_categories a::before,
.wp-block-categories a::before {
  content: "\e185";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  color: var(--color-2);
}

.widget_categories a[aria-current="page"]::before,
.wp-block-categories a[aria-current="page"]::before {
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  content: "\f07b";
}

.widget_archive,
.wp-block-archives {
  padding: 0;
  list-style: none;
}

.widget_archive li,
.wp-block-archives li {
  list-style: none;
}

.widget_archive a,
.wp-block-archives a {
  text-decoration: none;
  color: inherit;
}

.widget_archive a:hover,
.wp-block-archives a:hover {
  text-decoration: none;
  color: var(--shock-primary-color);
  text-decoration: none !important;
}

.widget_archive a::before,
.wp-block-archives a::before {
  content: "\e185";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  color: var(--color-2);
}

.widget_archive a[aria-current="page"]::before,
.wp-block-archives a[aria-current="page"]::before {
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  content: "\f07b";
}

.widget_pages a {
  text-decoration: none;
}

.widget_pages a::before {
  content: "\f15c";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  color: var(--color-2);
}

.widget_pages a[aria-current="page"]::before {
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  content: "\f15b";
}

.widget_recent_entries a {
  text-decoration: none;
}

.widget_recent_entries a::before {
  content: "\f15c";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  color: var(--color-2);
}

.widget_recent_entries a[aria-current="page"]::before {
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  content: "\f15b";
}

.widget_meta a {
  text-decoration: none;
}

.widget_meta a::before {
  content: "\f15c";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  color: var(--color-2);
}

.widget_meta a[aria-current="page"]::before {
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  content: "\f15b";
}

.wp-block-latest-comments {
  padding: 0;
}

.wp-block-latest-comments .avatar {
	box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%) !important;
}

.wp-block-latest-comments li:not(:last-child) {
  margin: 0 0 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid;
  border-color: var(--color-3);
}

.wp-block-latest-comments:not(.has-avatars) .wp-block-latest-comments__comment-meta {
  padding-left: 25px;
  font-size: 13px;
}

.wp-block-latest-comments:not(.has-avatars) .wp-block-latest-comments__comment-author {
  margin-left: -25px;
  margin-bottom: 5px;
  display: block;
  font-family: var(--shock-secondary-font);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--color-2);
}

.wp-block-latest-comments:not(.has-avatars) a.wp-block-latest-comments__comment-author:hover {
  color: var(--shock-primary-color);
}

.wp-block-latest-comments:not(.has-avatars) .wp-block-latest-comments__comment-author::before {
  content: "\f4ad";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: initial;
}

.wp-block-latest-comments:not(.has-avatars) .wp-block-latest-comments__comment-excerpt {
  padding-left: 25px;
}

.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt p {
  margin: 0;
}

.wp-block-latest-comments .wp-block-latest-comments__comment-date {
  width: fit-content;
  margin: 0.5rem 0;
  padding: 2.5px 10px;
  border-radius: 0.25rem;
  border: solid 2px;
  border-color: var(--color-3);
  font-size: 13px;
}

.widget_recent_comments li:not(:last-child) {
  margin: 0 0 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid;
  border-color: var(--color-3);
}

.widget_recent_comments a {
  text-decoration: none;
}

.widget_recent_comments .wp-block-latest-comments__comment-author {
  font-family: var(--shock-secondary-font);
  font-weight: 600;
  color: var(--color-2);
}

.widget_recent_comments .comment-author-link {
  font-family: var(--shock-secondary-font);
  font-weight: 600;
  color: var(--color-2);
}

.widget_recent_comments .comment-author-link::before {
  content: "\f4ad";
  margin-right: 7.5px;
  font-family: "Font Awesome 6 Free";
  font-weight: initial;
  color: var(--color-2);
}

.wp-block-latest-posts.has-dates li:not(:last-child),
.wp-block-latest-posts.has-author li:not(:last-child) {
  margin: 0 0 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid;
  border-color: var(--color-3);
}

.wp-block-latest-posts a {
  text-decoration: none;
}

.wp-block-latest-posts a::before {
  content: "\f15c";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: initial;
  color: var(--color-2);
}

.wp-block-latest-posts .wp-block-latest-posts__featured-image {
  margin-bottom: 1rem;
}

.wp-block-latest-posts .wp-block-latest-posts__featured-image a::before {
  content: none;
}

.wp-block-latest-posts.has-dates .wp-block-latest-posts__post-title,
.wp-block-latest-posts.has-author .wp-block-latest-posts__post-title {
  margin-bottom: 0.5em;
  display: block;
  font-family: var(--shock-secondary-font);
  font-weight: 600;
  color: var(--color-2);
}

.wp-block-latest-posts.has-dates .wp-block-latest-posts__post-title:hover,
.wp-block-latest-posts.has-author .wp-block-latest-posts__post-title:hover {
  color: var(--shock-primary-color);
}

.wp-block-latest-posts .wp-block-latest-posts__post-author {
  width: fit-content;
  margin: 0.5rem 10px 0.5rem 0;
  padding: 2.5px 10px;
  display: inline-block;
  border-radius: 0.25rem;
  border: solid 2px;
  border-color: var(--color-3);
  font-size: 13px;
}

.wp-block-latest-posts .wp-block-latest-posts__post-date {
  width: fit-content;
  margin: 0.5rem 0;
  padding: 2.5px 10px;
  display: inline-block;
  border-radius: 0.25rem;
  border: solid 2px;
  border-color: var(--color-3);
  font-size: 13px;
}

.wp-block-latest-posts .wp-block-latest-posts__post-excerpt {
  margin-bottom: 0;
}

.widget_nav_menu a {
  text-decoration: none;
}

.widget_nav_menu a::before {
  content: "\f7a4";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  color: var(--color-2);
}

.widget_nav_menu a[aria-current="page"] {
  color: var(--color);
}

.widget_nav_menu a[aria-current="page"]::before {
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  content: "\f7a4";
}

.wp-block-calendar .wp-calendar-table,
.widget_calendar .wp-calendar-table {
  width: 100%;
  caption-side: top;
  border-radius: 0.25rem;
  border: 1px solid;
  border-color: var(--color-3);
}

.wp-block-calendar .wp-calendar-table th,
.widget_calendar .wp-calendar-table th {
  padding: 5px;
  text-align: center;
  background-color: var(--color-3);
  border: none;
  color: var(--color-2);
}

.wp-block-calendar .wp-calendar-table td,
.widget_calendar .wp-calendar-table td {
  padding: 5px;
  border: none;
  text-align: center;
  color: var(--shock-gray-color);
}

.wp-block-calendar .wp-calendar-table tr:last-child td,
.widget_calendar .wp-calendar-table tr:last-child td {
  padding-bottom: 10px;
}

.wp-block-calendar .wp-calendar-table caption,
.widget_calendar .wp-calendar-table td caption {
  font-family: var(--shock-secondary-font);
  font-weight: 600;
  color: var(--color-2);
}

.wp-block-calendar .wp-calendar-table a,
.widget_calendar .wp-calendar-table td a {
  font-weight: 600;
  text-decoration: none;
  color: var(--color);
}

.wp-block-calendar .wp-calendar-table a:hover,
.widget_calendar .wp-calendar-table td a:hover {
  text-decoration: underline;
}

.wp-calendar-nav {
  padding: 5px 15px;
  background-color: var(--color-3);
}

.wp-calendar-nav a {
  text-decoration: none;
}

.wp-calendar-nav a:hover {
  text-decoration: underline;
}

.widget_rss .wp-block-rss__item-title {
  margin-bottom: 0.5em;
  display: block;
  font-family: var(--shock-secondary-font);
  font-weight: 600;
  color: var(--color-2);
}

.widget_rss .wp-block-rss__item-title a {
  text-decoration: none;
}

.widget_rss .wp-block-rss__item-publish-date {
  width: fit-content;
  margin: 0.5rem 0;
  padding: 2.5px 10px;
  display: inline-block;
  border-radius: 0.25rem;
  border: solid 2px;
  border-color: var(--color-3);
  font-size: 13px;
}

.widget_rss .wp-block-rss__item-excerpt {
  margin: 0.5em 0 0;
}

.widget_rss .wp-block-rss__item-author {
  width: fit-content;
  margin: 0.5rem 0;
  padding: 2.5px 10px;
  display: inline-block;
  border-radius: 0.25rem;
  border: solid 2px;
  border-color: var(--color-3);
  font-size: 13px;
}

.widget_rss .rss-widget-feed {
  display: none;
}

.widget_rss ul li {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid;
  border-color: var(--color-3);
}

.widget_rss ul li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.widget_rss a {
  text-decoration: none;
  color: var(--color-2);
}

.widget_rss a:hover {
  color: var(--color);
}

.widget_rss .rss-date {
  margin-top: 1rem;
  padding-left: 1rem;
  display: block;
  font-style: italic;
  border-left: 2px solid;
  border-color: var(--shock-primary-color);
}

.widget_rss .rssSummary {
  margin: 1rem 0;
}

/* #endregion Widget */

/* #region Accessibility */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	-webkit-clip-path: none;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* #endregion Accessibility */

/*----------------------------------------------
2. Elementor
----------------------------------------------*/

/* #region Elementor */

.shock-global-section {
  margin: -1px 0;
}

.elementor-section {
  background-size: cover;
}

.stretch-section .elementor-column-gap-narrow,
.container.elementor-section-full_width .elementor-column-gap-narrow {
  width: calc( 100% + 10px );
  left: -5px;
}

.stretch-section .elementor-column-gap-default,
.container.elementor-section-full_width .elementor-column-gap-default {
  width: calc( 100% + 20px );
  left: -10px;
}

.stretch-section .elementor-column-gap-extended,
.container.elementor-section-full_width .elementor-column-gap-extended {
  width: calc( 100% + 30px );
  left: -15px;
}

.stretch-section .elementor-column-gap-wide,
.container.elementor-section-full_width .elementor-column-gap-wide {
  width: calc( 100% + 40px );
  left: -20px;
}

.stretch-section .elementor-column-gap-wider,
.container.elementor-section-full_width .elementor-column-gap-wider {
  width: calc( 100% + 60px );
  left: -30px;
}

/* #endregion Elementor */

/* #region Editor */

.elementor-editor-active .shock-header {
  pointer-events: none;
}

.elementor-editor-active .megamenu a:active {
  pointer-events: none;
}

.elementor-editor-active mark::before {
  width: 100%;
}

:root .shock-megamenu-template {
  --shock-gray-color: #8f93a5;
}

.shock-megamenu-template .shock-header {
  pointer-events: initial;
}

.shock-megamenu-template #elementor-add-new-section {
  position: absolute;
  width: 100%;
}

.shock-megamenu-template .elementor-add-section:not(.elementor-dragging-on-child) .elementor-add-section-inner {
  margin: 20px 10px;
  border: 2px dashed rgb(255 255 255 / 50%);
  background-color: rgb(255 255 255 / 10%);
}

.shock-megamenu-template .elementor-add-section-drag-title,
.shock-megamenu-template .elementor-select-preset-title,
.shock-megamenu-template .elementor-add-section-close {
  color: rgb(255 255 255 / 75%);
}

.shock-megamenu-template .elementor-add-section-close:hover {
  color: rgb(255 255 255 / 100%);
}

.shock-megamenu-template .elementor-select-preset-list .elementor-preset:hover path, 
.shock-megamenu-template .elementor-select-preset-list .elementor-preset:hover rect {
  fill: rgb(255 255 255 / 100%);
}

:root .shock-global-template {
  --shock-gray-color: #8f93a5;
}

.shock-global-template:not(.elementor-editor-active) {
  height: 300vh;
}

.shock-global-template #elementor-add-new-section {
  position: absolute;
  width: 100%;
}

.shock-global-template .elementor-add-section:not(.elementor-dragging-on-child) .elementor-add-section-inner {
  border: 2px dashed rgb(255 255 255 / 50%);
  background-color: rgb(255 255 255 / 10%);
}

.shock-global-template .elementor-add-section-drag-title,
.shock-global-template .elementor-select-preset-title,
.shock-global-template .elementor-add-section-close {
  color: rgb(255 255 255 / 75%);
}

.shock-global-template .elementor-add-section-close:hover {
  color: rgb(255 255 255 / 100%);
}

.shock-global-template .elementor-select-preset-list .elementor-preset:hover path, 
.shock-global-template .elementor-select-preset-list .elementor-preset:hover rect {
  fill: rgb(255 255 255 / 100%);
}

.shock-global-template .modal {
  display: block;
  opacity: 1;
}

.shock-global-template .modal.fade .modal-dialog {
  transform: translate(0);
}

/* #endregion Editor */

/*----------------------------------------------
3. Contact Form 7
----------------------------------------------*/

/* #region Contact Form 7 */

.wpcf7-acceptance .wpcf7-list-item {
  display: block;
  margin: 0;
}

.wpcf7-acceptance {
  padding: 0;
  background: none !important;
}

.wpcf7-not-valid-tip {
  color: var(--shock-danger-color);
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
	border-color: var(--shock-danger-color);
}

.wpcf7 form .wpcf7-response-output {
  margin: 2rem 0 0;
  padding: 1rem 1.25rem;
  border: 1px solid;
  border-radius: 0.25rem;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--shock-success-color);
	color: var(--shock-success-color);
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: var(--color-2);
	color: var(--color-2);
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: var(--color-2);
	color: var(--color-2);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border-color: var(--shock-danger-color);
	color: var(--shock-danger-color);
}

/* #endregion Contact Form 7 */