	/* Styling of GDPR Forms */
    
    .gform_wrapper a {
        display: inline;
    }
    
    .gform_hidden {
        display: none;
    }

	.form__profile input[type="checkbox"],
	.form__profile input[type="radio"] {
		opacity: 0;
		display: none;
	}

		.form__profile input[type="checkbox"] + label,
		.form__profile input[type="radio"] + label {
			position: relative;
		    padding-left: 3.25rem;
		    opacity: 1;
		    transition: opacity 377ms cubic-bezier(0.83, 1.35, 1, 1);
		}

			.form__profile input[type="checkbox"] + label:before,
			.form__profile input[type="radio"] + label:before {
				position: absolute;
				content: '';
				width: 24px;
				height: 24px;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
				background-color: var(--color-sugar-beige);
				transition: background-color 377ms cubic-bezier(0.83, 1.35, 1, 1);
			}
    
	.form__profile input[type="checkbox"]:checked + label:after,
	.form__profile input[type="radio"]:checked + label:after {
	    position: absolute;
	    content: '';
	    width: 24px;
	    height: 24px;
	    left: 0;
	    top: 50%;
	    transform: translateY(-50%);
	    background-color: #8bc120;
	    border: 5px solid var(--color-sugar-beige);
		-webkit-animation: fadein 500ms;
       	-moz-animation: fadein 500ms;
        -ms-animation: fadein 500ms;
     	-o-animation: fadein 500ms;
    	animation: fadein 500ms;
	}
    
   .form__profile input[type="checkbox"] + label:hover:after,
   .form__profile input[type="radio"] + label:hover:after {
	    background-color: #cbdea8;
    }

	.form__profile input[type="checkbox"] + label:after,
	.form__profile input[type="radio"] + label:after  {
		-webkit-animation: fadein 500ms;
       	-moz-animation: fadein 500ms;
        -ms-animation: fadein 500ms;
     	-o-animation: fadein 500ms;
    	animation: fadein 500ms;
	}
    
    
    
    /**
     * TODO: what are all these choice CSS stylings?
     */

	#choice_2_2_1,
	#choice_6_5_1 {
		opacity: 0;
		display: none!important;
	}

	#choice_2_2_1 + label,
	#choice_6_5_1 + label {
		position: relative;
	    padding-left: 3.25rem;
	    opacity: 1;
	    transition: opacity 377ms cubic-bezier(0.83, 1.35, 1, 1);
	}

	#choice_2_2_1 + label:before,
	#choice_6_5_1 + label:before {
		position: absolute;
		content: '';
		width: 24px;
		height: 24px;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		background-color: var(--color-sugar-beige);
		transition: background-color 377ms cubic-bezier(0.83, 1.35, 1, 1);
	}

	#choice_6_5_1 + label:before {
		background-color: var(--color-brown);
	}

	#choice_2_2_1:checked + label:after,
	#choice_6_5_1:checked + label:after {
	    position: absolute;
	    content: '';
	    width: 24px;
	    height: 24px;
	    left: 0;
	    top: 50%;
	    transform: translateY(-50%);
	    background-color: var(--color-red);
	    border: 5px solid var(--color-sugar-beige);
		-webkit-animation: fadein 500ms;
       	-moz-animation: fadein 500ms;
        -ms-animation: fadein 500ms;
     	-o-animation: fadein 500ms;
    	animation: fadein 500ms;
	}

	#choice_6_5_1:checked + label:after {
		background-color: var(--color-white);
		border: 5px solid var(--color-brown);
	}

	#choice_2_2_1 + label:after,
	#choice_6_5_1 + label:after {
		-webkit-animation: fadein 500ms;
       	-moz-animation: fadein 500ms;
        -ms-animation: fadein 500ms;
     	-o-animation: fadein 500ms;
    	animation: fadein 500ms;
	}

	#choice_2_2_1 + label:hover:after {
	    background-color: rgba(213,44,31,0.5);
    }

    #choice_6_5_1 + label:hover:after {
	    background-color: rgba(255,255,255,0.5);
    }
    
    .profile-template label.gfield_label {
	    color: var(--color-brown);
	}
    
    
    
    /**
     * BIBLIOGRAPHIC INFO FORM
     */
    
    .profile-template-page-profile-change-password .form__profile,
	.profile-template-page-profile-contact-details-email-step2 .form__profile {
	    margin-top: var(--text-rhythm);
	}
    
    /**
     * TODO: these should be turned into proper grid columns.
     */

	.laptop .profile-template-page-profile-bibliographic-info .form__profile .gfield.field_sublabel_below.field_description_below.gfield_visibility_visible:nth-of-type(1),
	.laptop .profile-template-page-profile-bibliographic-info .form__profile .gfield.field_sublabel_below.field_description_below.gfield_visibility_visible:nth-of-type(2),
	.laptop .profile-template-page-profile-bibliographic-info .form__profile .gfield.field_sublabel_below.field_description_below.gfield_visibility_visible:nth-of-type(3) {
		display: inline-block;
		width: 32.5%;
	}
	
	.laptop .profile-template-page-profile-bibliographic-info .form__profile .gfield.field_sublabel_below.field_description_below.gfield_visibility_visible:nth-of-type(2) {
	    margin-left: 1.25%;
	}

	.laptop .profile-template-page-profile-bibliographic-info .form__profile .gfield.field_sublabel_below.field_description_below.gfield_visibility_visible:nth-of-type(3),
	.laptop .profile-template-page-profile-bibliographic-info .form__profile .gfield.field_sublabel_below.field_description_below.gfield_visibility_visible:nth-of-type(5) {
		float: right;
	}

	.laptop .profile-template-page-profile-bibliographic-info .form__profile .gfield.field_sublabel_below.field_description_below.gfield_visibility_visible:nth-of-type(4),
	.laptop .profile-template-page-profile-bibliographic-info .form__profile .gfield.field_sublabel_below.field_description_below.gfield_visibility_visible:nth-of-type(5) {
		display: inline-block;
		width: 50%;
	}

	.laptop .profile-template-page-profile-bibliographic-info .form__profile .ginput_container_phone {
		padding-right: 1.15rem!important;
		vertical-align: top;
	}

	.profile-template-page-profile-bibliographic-info form:not(#gform_2) {
	    margin-top: var(--text-rhythm);
	}
    
    
    
    /**
     * REGISTRATION/CREATE ACCOUNT FORMS
     */

	.profile-template-page-profile-register-create-account .form__profile input[type="submit"],
	.profile-template-page-profile-register-create-account form.form__profile {
	    margin-top: 2rem;
	}

	.profile-template-page-profile-create-account .gform_wrapper {
		margin: 5rem 0;
	}

	.profile-template-page-profile-create-account .gform_wrapper input[type="submit"] {
		margin-top: 4rem;
	}

	.profile-template-page-profile-create-account .gfield_label.gfield_label_before_complex {
		display: none;
	}
    
    /* NEW */
    
    .password_strength {
        
    }
    
        .password-strength-indicator {
            display: inline-block;
            margin-right: 1em;
            font-size: 85%;
            color: var(--color-brown);
        }
        
        .password-strength-indicator::before {
            font-family: 'Responsiville icons';
            content: '\e843';
            margin-right: 0.25em;
            color: var(--color-sugar-grey);
        }
        
        .password-strength-indicator.ok::before {
            color: var(--color-dark-brown);
        }
        
        .password-strength-indicator.password-strength-all.ok::before {
            color: var(--color-dark-green);
            color: white;
        }
        
        .password-strength-indicator.password-strength-all.ok {
            color: white;
            background: var(--color-message-dark-green);
            padding: 0 0.25em;
            border-radius: 3px;
        }
    
    /* OLD */

	.profile-template-page-profile-create-account .gfield_password_strength {
		font-family: var(--font-bold);
		color: var(--color-grey);
	}

		.profile-template-page-profile-create-account .gfield_password_strength.short {
			color: var(--color-light-red);
		}

		.profile-template-page-profile-create-account .gfield_password_strength.mismatch {
			color: var(--color-red);
		}

		.profile-template-page-profile-create-account .gfield_password_strength.bad {
			color: #ffc900;
		}

		.profile-template-page-profile-create-account .gfield_password_strength.good {
			color: #fd902f;
		}
		
		.profile-template-page-profile-create-account .gfield_password_strength.strong {
		    color: #2eb504;
		}

		.gfield_password_strength {
			position: relative;
			font-size: 14px;
		}

			.gfield_password_strength:after {
				position: absolute;
				content: '';
				top: 105%;
   				left: 0;
			 	width: 140px;
			    height: 8px;
			    opacity: 1;
			    background-color: var(--color-grey);
		      	-webkit-transition: background-color 200ms cubic-bezier(0.65, 1.08, 1, 1);
  				transition: background-color 200ms cubic-bezier(0.65, 1.08, 1, 1);
			}

				.gfield_password_strength.short:before {
					position: absolute;
					content: '';
					top: 105%;
	    			left: 0;
				 	width: 25px;
				    height: 8px;
				    z-index: 2;
				    opacity: 1;
				    background-color: var(--color-light-red);
					-webkit-transition: background-color 200ms cubic-bezier(0.65, 1.08, 1, 1);
	  				transition: background-color 200ms cubic-bezier(0.65, 1.08, 1, 1);
				}

				.gfield_password_strength.bad:before {
					position: absolute;
					content: '';
					top: 105%;
	    			left: 0;
				 	width: 75px;
				    height: 8px;
				    z-index: 2;
				    opacity: 1;
				    background-color: #ffc900;
					-webkit-transition: background-color 200ms cubic-bezier(0.65, 1.08, 1, 1);
	  				transition: background-color 200ms cubic-bezier(0.65, 1.08, 1, 1);
				}

				.gfield_password_strength.good:before {
					position: absolute;
					content: '';
					top: 105%;
	    			left: 0;
				 	width: 100px;
				    height: 8px;
				    z-index: 2;
				    opacity: 1;
				    background-color: #fd902f;
					-webkit-transition: background-color 200ms cubic-bezier(0.65, 1.08, 1, 1);
	  				transition: background-color 200ms cubic-bezier(0.65, 1.08, 1, 1);
				}

				.gfield_password_strength.strong:before {
					position: absolute;
					content: '';
					top: 105%;
	    			left: 0;
				 	width: 140px;
				    height: 8px;
				    z-index: 2;
				    opacity: 1;
				    background-color: #2eb504;
					-webkit-transition: background-color 200ms cubic-bezier(0.65, 1.08, 1, 1);
	  				transition: background-color 200ms cubic-bezier(0.65, 1.08, 1, 1);
				}