/* Gravity forms */

body {
	--form-main-color: var(--e-global-color-primary); /* Dark blue */
    --form-secondery-color: var(--e-global-color-secondary); /* Cyan */
    --form-accent-color: var(--e-global-color-accent); /* Orange */
    --form-block-background: #f9f7f7; /* Super-light gray */
    --form-borders: #d1cece; /* Light gray */
    --form-radio-inner: #ffffff;
}

.gform_wrapper.gravity-theme a {
    font-weight: bold;
  	color: var(--form-accent-color);
    text-decoration: underline;
}

.gform_wrapper.gravity-theme a:hover, .gform_wrapper.gravity-theme a:focus {
  	color: var(--form-accent-primary);
}

.gform_wrapper.gravity-theme .gform_page {
    padding: 10px;
}

.gform_wrapper.gravity-theme .gfield_label {
    direction: rtl;
    line-height: 1.4em;
    float: right;
    width: 100%;
}

.gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme .gform_wrapper textarea {
    border: 1px solid var(--form-borders);
    border-radius: 8px;
    padding: 10px 15px;
}

.gform_wrapper.gravity-theme input[type=date]:focus, .gform_wrapper.gravity-theme input[type=email]:focus, .gform_wrapper.gravity-theme input[type=number]:focus, .gform_wrapper.gravity-theme input[type=password]:focus, .gform_wrapper.gravity-theme input[type=search]:focus, .gform_wrapper.gravity-theme input[type=tel]:focus, .gform_wrapper.gravity-theme input[type=text]:focus, .gform_wrapper.gravity-theme select:focus, .gform_wrapper.gravity-theme .gform_wrapper textarea:focus {
    border-color: var(--form-main-color);
}

.gform_wrapper.gravity-theme .gform_next_button,
.gform_wrapper.gravity-theme .gform_button,
.gform_wrapper.gravity-theme input[type="submit"] {
    background-color: var(--form-main-color);
    color: var(--form-secondery-color);
    border-radius: 70px;
    border:0;
    font-weight: 800;
    font-size: 1.3rem;
    padding: 1rem 2.4rem;
    min-width: 130px;
    border-width: 2px;
}

.gform_wrapper.gravity-theme .gform_next_button:hover,
.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme .gform_wrapper input[type="submit"]:hover {
    box-shadow: inset -3px -3px 0 2px var(--form-secondery-color);
}

.gform_wrapper.gravity-theme .gform_next_button:focus,
.gform_wrapper.gravity-theme .gform_previous_button:focus,
.gform_wrapper.gravity-theme .gform_button:focus,
.gform_wrapper.gravity-theme .gform_wrapper input[type="submit"]:focus {
    outline-offset: 4px;
}

.gform_wrapper.gravity-theme .gform_next_button:focus-visible,
.gform_wrapper.gravity-theme .gform_previous_button:focus-visible,
.gform_wrapper.gravity-theme .gform_button:focus-visible,
.gform_wrapper.gravity-theme .gform_wrapper input[type="submit"]:focus-visible {
    outline: 2px solid var(--form-accent-color);
}

.gform_wrapper.gravity-theme .gform_save_link.button,
.gform_wrapper.gravity-theme .gform_previous_button.button {
    border: 0;  
    color: var(--form-main-color);
    font-weight: 800;
    border-radius: 70px;
}

.gform_wrapper.gravity-theme .gform_save_link.button svg {
    display: inline-block;
    margin-right: 0px;
    margin-left: 6px;
}

.gform_wrapper.gravity-theme .resume_form_link_wrapper {
    width: 100%;
    word-wrap: break-word;
    display: inline-block;
    font-size: 0.8em;
}

.gform_wrapper.gravity-theme .gfield_choice_all_toggle {
    padding: 0.6rem 2rem;
    font-size: 1rem;
    border: 2px solid var(--form-main-color);
    color: var(--form-main-color);
    border-radius: 70px;
    font-weight: 800;
    background-color: transparent;
}

.gform_wrapper.gravity-theme .gfield_choice_all_toggle:hover,
.gform_wrapper.gravity-theme .gfield_choice_all_toggle:focus {
    box-shadow: inset -3px -3px 0 2px var(--form-secondery-color);
    background-color: transparent;
}

.gform_wrapper.gravity-theme .gfield_choice_all_toggle:focus-visible {
    outline: 2px solid var(--form-accent-color);
    outline-offset: 4px;
}

.gform_wrapper.gravity-theme .gchoice {
    margin-bottom: 0.3em;
}

.gform_wrapper.gravity-theme h2 {
    font-size: 1.8rem;
}

.gform_wrapper.gravity-theme .big-p {
    font-size: 110%;
}

.gform_wrapper.gravity-theme .small-p {
    font-size: 90%;
}

.gform_wrapper.gravity-theme .gfield_label .gfield_required, .gform_wrapper.gravity-theme .gfield_label .gfield_required {
    position: absolute;
    top: -10000em;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

/* Select field */
.gform_body select {
    padding: 8px 15px;
}

.gform_wrapper.gravity-theme .gform_body .gfield_label{
    font-size: 1.4rem;
    font-weight: bold;
}
.gform_wrapper.gravity-theme .gform_body .gfield_checkbox label, .gform_wrapper.gravity-theme .gform_body .gfield_radio label, .gform_body .gfield-choice-input {
    font-size: 1.2rem;
    cursor: pointer;
    vertical-align: middle;
}

.gform_wrapper.gravity-theme .gform_body .gfield_checkbox label, .gform_wrapper.gravity-theme .gform_body .gfield_radio label {
    transition: border-color 0.2s 0s linear;
    border-radius: 8px;
    margin-right: -2em;
    padding: 10px 2em 10px 1em;
    border: 2px solid transparent;
  	max-width: 100%;
}

/* Buttons */
.gform_wrapper .gform_body .button {
	border: none;
    font-weight: bold;
    padding: 10px 40px;
} 


/* Gravity Forms survey design - likert fields - Impruve UI - Suitable for numbers only and affects as long as there is no .textual-likert CSS selector */
.gform_wrapper .gfield:not(.no-bg) {
    padding: 20px;
    margin: 0 0 10px 0;
    background-color: var(--form-block-background);
    border-radius: 10px;
}

.gform_wrapper .gfield--input-type-likert:not(.textual-likert) table.gsurvey-likert tbody {
    table-layout: auto;
}

.gform_wrapper .gfield--input-type-likert:not(.textual-likert) table.gsurvey-likert {
    max-width: 340px;
    border-collapse: separate;
    border-spacing: 5px 0;
    border: none;
    margin: 0;
}

.gform_wrapper ul li.gfield--input-type-likert.block-likert label {
    margin-bottom: 10px;
}

.gform_wrapper .gfield--input-type-likert:not(.textual-likert)  table.gsurvey-likert thead {
	display: none;
}

.gform_wrapper .gfield--input-type-likert:not(.textual-likert) table.gsurvey-likert td:after {
    content: attr(data-label);
    line-height: 2;
    font-weight: 400;
    margin-left: unset;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 36px;
    height: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
  	font-size: 1.125em;
    color: var(--form-main-color);
}

.gform_wrapper .gfield--input-type-likert:not(.textual-likert) .ginput_container_likert table.gsurvey-likert tr {
    display: table-row;
}

body.rtl .gform_wrapper .gfield--input-type-likert:not(.textual-likert) table.gsurvey-likert td.gsurvey-likert-choice {
    display: table-cell;
    line-height: 27px;
    background-image: none;
    max-height: unset;
    background-color: transparent!important;
    border: none;
    transition: .3s ease-out;
    cursor: pointer;
    overflow: visible;
    width: 34px;
}

body.rtl .gform_wrapper .gfield--input-type-likert:not(.textual-likert) table.gsurvey-likert td.gsurvey-likert-choice:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    line-height: 27px;
    background-image: none;
    max-height: unset;
    transition-duration: .25s;
    background-color: transparent;
    border-radius: 50%;
    border: 2px solid var(--form-main-color);
    color: var(--form-main-color);
    height: 36px;
    width: 36px;
}

body.rtl .gform_wrapper ul.gform_fields .gfield--input-type-likert:not(.textual-likert) table.gsurvey-likert td.gsurvey-likert-choice:after {
    margin: auto;
    clear: both;
    display: table;
    font-size: 28px;
    line-height: 1.3;
    color:  var(--form-main-color);
}

body.rtl .gform_wrapper .gfield--input-type-likert:not(.textual-likert) table.gsurvey-likert tr td.gsurvey-likert-choice.gsurvey-likert-hover:after {
    color: var(--form-main-color);
}

body.rtl .gform_wrapper .gfield--input-type-likert:not(.textual-likert) table.gsurvey-likert tr td.gsurvey-likert-choice.gsurvey-likert-selected:before {
    border-color: var(--form-accent-color);
}

/* focus -a11y */
.gform_wrapper .gsurvey-likert-choice.gsurvey-likert-focus.gsurvey-likert-focus {
    background-color: unset!important;
} 
.gsurvey-likert-choice.gsurvey-likert-focus:before,
.gsurvey-likert-choice.gsurvey-likert-hover:before {
    box-shadow: 0 0 1px 4px var(--form-accent-color);
}

body.rtl .gform_wrapper .gfield--input-type-likert:not(.textual-likert) table.gsurvey-likert tr td.gsurvey-likert-choice.gsurvey-likert-selected:after {
    color: var(--form-block-background);
    background-color: var(--form-main-color);
    line-height: 2.5;
    border-radius: 50%;
}

body.rtl .gform_wrapper .gfield--input-type-likert:not(.textual-likert) table.gsurvey-likert td.gsurvey-likert-choice input {
    display: block;
    opacity: 0;
    position: static;
}

/*  Likerts with short labels design  */
.gform_wrapper .gfield--input-type-likert:not(.textual-likert):not(.block-likert) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;     
    padding: 10px 30px 10px 10px;
    margin: 0;
}

.gform_wrapper  .gfield--input-type-likert:not(.block-likert) label {
    grid-area: 1 / 1 / 2 / 2;
} 
.gform_wrapper.gravity-theme  .gfield--input-type-likert:not(.block-likert) .gfield_description {
    grid-area: 2 / 1 / 3 / 2;
    padding-bottom: 0;
} 
.gform_wrapper .gfield--input-type-likert:not(.block-likert) .ginput_container_likert {
    grid-area: 1 / 2 / 3 / 3;
	cursor: pointer;
    display: inline-grid;
}
.gform_wrapper .gfield--input-type-likert:not(.block-likert) table.gsurvey-likert {
	margin-right: auto;
}

.gform_wrapper .gfield--input-type-likert table.gsurvey-likert {
	overflow: hidden;
    min-height: 48px;
}

body.rtl .gravity-theme .textual-likert table.gsurvey-likert td.gsurvey-likert-choice input[type=radio] {
    display: block;
    opacity: 0;
    position: relative;
    top:0;
  	left: unset;
  	right: 0;
    width: 0;
    height: 0;
  	overflow: hidden;
    clip: rect(0,0,0,0);
}
.gravity-theme .textual-likert table.gsurvey-likert th.gsurvey-likert-choice-label,
.gravity-theme .textual-likert table tbody tr td{
    background-color: transparent;
  	font-size: 0.9em;
    font-weight: normal;
}

.gravity-theme .textual-likert table .gsurvey-likert-choice-label {
	border-bottom: 0;
}
.gravity-theme .textual-likert table.gsurvey-likert .gsurvey-likert-choice {
	border-top: 0;
}

.gravity-theme .textual-likert table.gsurvey-likert td.gsurvey-likert-choice {
    background-position: 50% 30%;
    background-size: 22px 22px;
    height: 40px;
}

.gravity-theme table.gsurvey-likert td.gsurvey-likert-choice.gsurvey-likert-selected {
    background-color: transparent;
}

/* Checkboxes and radio  */
@supports (-webkit-appearance: none) or (-moz-appearance: none) {
.gform_wrapper .gform_fields .gfield_radio input[type='radio'],
.gform_wrapper .gform_fields .gfield_checkbox input[type='checkbox'] {
    --active: var(--form-secondery-color);
    --focus: 3px var(--form-accent-color);
    --border: var(--form-main-color);
    --border-hover: var(--form-secondery-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    margin:2px;
    height: 21px;
    width: 21px!important;
    outline: none;
    display: inline-block;
    position: relative;
    cursor: pointer;
    border: 2px solid var(--bc, var(--border));
    background: var(--b, var(--form-radio-inner));
    -webkit-transition: background .3s, border-color .3s, box-shadow .2s;
    transition: background .3s, border-color .3s, box-shadow .2s;
  }

  .gform_wrapper .gform_fields .gfield_radio input[type='radio'] {
    border-radius: 50%;
  }
  
.gform_wrapper .gfield_radio input[type='radio']:hover:not(:checked):not(:disabled),
.gform_wrapper .gfield_radio input[type='radio']:focus:not(:checked):not(:disabled),
.gform_wrapper .gfield_checkbox input[type='checkbox']:hover:not(:checked):not(:disabled),
.gform_wrapper .gfield_checkbox input[type='checkbox']:focus:not(:checked):not(:disabled) {
    box-shadow: 0 0 0 var(--focus);
}
  
.gform_wrapper .gfield_radio input[type='radio']:checked,
.gform_wrapper .gfield_checkbox input[type='checkbox']:checked {
    --b: var(--active);
    --bc: var(--border);
    --d-o: .3s;
    --d-t: .6s;
    --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
    outline: 3px var(--form-block-background) solid;
    outline-offset: -5px;
  }

}

.gform_wrapper .gfield_radio input[type='radio']:hover + label,
.gform_wrapper .gfield_radio input[type='radio']:focus + label,
.gform_wrapper .gfield_radio input[type='radio']:checked + label,
.gform_wrapper .gfield_checkbox input[type='checkbox']:hover + label,
.gform_wrapper .gfield_checkbox input[type='checkbox']:focus + label,
.gform_wrapper .gfield_checkbox input[type='checkbox']:checked + label {
    font-weight: bold;
    letter-spacing: -0.4px;
}

.gform_wrapper .gfield_radio input[type='radio']:checked + label,
.gform_wrapper .gfield_checkbox input[type='checkbox']:checked + label {
    border: 2px solid var(--form-main-color);
}

body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html {
    margin-bottom: 20px;
}

/* Gravity Progress Bar */

body .gf_progressbar_title {display:none;}

.gform_wrapper.gravity-theme .gf_progressbar_wrapper {
    margin: 12px 0 40px;
}

.gform_wrapper.gravity-theme .gf_progressbar .gf_progressbar_percentage {

    background-color: var(--form-secondery-color);
}

body .gform_wrapper.gravity-theme .gf_progressbar .gf_progressbar_percentage span {
	font-size: 1rem;
    line-height: 1.5;
    color: var(--form-main-color);
}


/* Validation error */
.gform_wrapper.gravity-theme .field_description_above .validation_message {
    margin-top: 8px;
    padding: 12.992px 24px;
    border-width: 2px 0 0 0;
    background-color: unset;
    font-weight: bold;
    margin-top: 20px;
    padding: 6px 0 0 20px;
    display: inline-block;
    width: auto;
    font-size: 1rem;
}

.gform_wrapper.gravity-theme .gfield--input-type-likert.field_description_above:not(.block-likert) .validation_message {
    margin-top: 30px;
}

/* Duplicate prevention - Button*/
.gform_footer .gform_button.duplicateprevention-loading {
    background-color: var(--form-block-background);
}

.gform_wrapper.gravity-theme .gfield .description, .gform_wrapper.gravity-theme .gfield .gfield_description, .gform_wrapper.gravity-theme .gsection_description, .gform_wrapper.gravity-theme .instruction {
    font-size: 1.125rem;
}

.gform_wrapper.gravity-theme .gform_body select {
    font-size: 1.125rem;
  	min-width: 150px;
}

/* Confirmation */
.gform_confirmation_message {
    background-color: var(--form-block-background);
    border-radius: 10px;
    padding: 10% 6%;
    margin-top: 16px;
    font-size: 120%;
}

/* Other choice - hide text field until radio is checked */
input[value="gf_other_choice"]:not(:checked) ~ .gchoice_other_control {
    visibility: hidden;
}

/* Quiz */
.gform_wrapper.gravity-theme .gquiz-instant-feedback label.gquiz-correct-choice {
    color: #00a200;
}

.gquiz-instant-feedback-validated .gfield-choice-input {
    visibility: hidden;
}

.gform_wrapper .gquiz-instant-feedback .gquiz-indicator {
    height: 24px;
    width: 24px;
}

.gform_wrapper.gravity-theme .gfield-choice-input[disabled="disabled"],
.gform_wrapper.gravity-theme .gfield-choice-input[disabled="disabled"] + label.gform-field-label {
    cursor: default;
}
.gform_wrapper.gravity-theme .gfield-choice-input[disabled="disabled"] + label.gform-field-label:not(.gquiz-correct-choice) {
    font-weight: normal!important;
    letter-spacing: 0!important;
}
.gform_wrapper.gravity-theme label.gform-field-label.gquiz-correct-choice {
    font-weight: bold;
    letter-spacing: -0.4px;
}
.gform_wrapper .gfield_radio input[type='radio']:checked + label.gquiz-correct-choice {
    border-color: #00a200;
}
.gform_wrapper .gquiz-instant-feedback-validated input[type='radio']:checked + label:not(.gquiz-correct-choice) {
    border-color: #c23111;
}
.gfield-choice-input:checked + .gform-field-label.gquiz-correct-choice {
  position: relative;
  animation: correctPulse 0.4s ease-out;
}

/* Quiz correct choice confetti effect */
.gfield-choice-input:checked + .gform-field-label.gquiz-correct-choice::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.7em;
  width: 0;
  height: 0;
  pointer-events: none;
  z-index: 2; 
  animation: confettiBurst 1.5s ease-out forwards;
}
@keyframes correctPulse {
  0% { transform: scale(1); }
  30% { transform: scale(1.05); }
  100% { transform: scale(1); }
}
@keyframes confettiBurst {
  0% {
    box-shadow: 0 0 0 0 #f44336, 0 0 0 0 #2196f3,0 0 0 0 #ffeb3b,0 0 0 0 #4caf50,0 0 0 0 #9c27b0,0 0 0 0 #ff9800,0 0 0 0 #00bcd4,0 0 0 0 #e91e63;
    opacity: 1;
  }
  100% {
    box-shadow: -30px -40px 0 4px #f44336,30px -35px 0 4px #2196f3,-35px 20px 0 4px #ffeb3b,25px 25px 0 4px #4caf50,0px -50px 0 4px #9c27b0,-20px 30px 0 4px #ff9800,20px -45px 0 4px #00bcd4,0px 35px 0 4px #e91e63;
    opacity: 0;
  }
}


/* Mobile */
@media (max-width: 767px){
        .gform_wrapper.gravity-theme .gform_page_footer {
          display: flex;
          flex-direction: row;
          justify-content: space-between;
      	}
      .gform_wrapper.gravity-theme .gform_save_link.button, .gform_wrapper.gravity-theme .gform_previous_button.button {
        	padding: 10px;
    	}
  		.gform_wrapper.gravity-theme .gform_body .gfield_label {
          font-size: 1.125rem;
		}
    	.gform_wrapper.gravity-theme .gform_body .gfield_checkbox label, .gform_wrapper.gravity-theme .gform_body .gfield_radio label {
          padding: 6px 2em 6px 1em;
  		}
       .rtl .gfield--type-survey.textual-likert table.gsurvey-likert td {
          text-align: right;
      }

      .gform_wrapper.gravity-theme .gfield .description, .gform_wrapper.gravity-theme .gfield .gfield_description, .gform_wrapper.gravity-theme .gsection_description, .gform_wrapper.gravity-theme .instruction {
        font-size: 1rem;
    }
	.gform_wrapper  .gfield--input-type-likert:not(.textual-likert):not(.block-likert) {
        padding: 20px;
        border-radius: 10px;
        display: block;
    }

    .gform_wrapper .gfield--input-type-likert:not(.block-likert) label {
        margin-bottom: 10px;
    }

    .gform_wrapper.gravity-theme .gfield--input-type-likert:not(.block-likert) .gfield_description {
        padding-bottom: 16px;
    }
  
    .gform_wrapper .gfield--input-type-likert:not(.textual-likert) table.gsurvey-likert td:after {
        font-size: 1.4em;
    }
    .gravity-theme .textual-likert table,
  	.gravity-theme .textual-likert table.gsurvey-likert .gsurvey-likert-choice{
      border: 0;
  	}
  
    .gravity-theme .textual-likert table tbody tr td {
      font-size: 1.125em;
  	}
    .gfield--type-survey.textual-likert table.gsurvey-likert td.gsurvey-likert-choice.gsurvey-likert-selected {
      border: 2px solid var(--form-main-color);
      border-radius: 8px;
      background-color: unset;
	}
  	.gravity-theme .textual-likert table tbody tr td.gsurvey-likert-selected:after {
      	font-weight: bold;
    	letter-spacing: -0.4px;
  	}
  
    body.rtl .gravity-theme .gform_fields .textual-likert table.gsurvey-likert td:after {
        margin-right: 33px;
    }
  
    .gform_wrapper.gravity-theme .field_description_above .validation_message,
  	.gform_wrapper.gravity-theme .gfield--input-type-likert.field_description_above:not(.block-likert) .validation_message {
  		margin-top: 10px;
  	}
}